Skip to content

[Feature Request] Cartridge embedded in PNG export for easy sharing #755

@ElfEars

Description

@ElfEars

The ability to create a png with a .tic cartridge embedded and the game's f7 cover image displayed (and also subsequently easily being able to load it) would be extremely useful.
A png image is much easier to share than a .tic file as nearly every website accepts .pngs (provided no compression is done) with very few accepting indeterminate file types.
It also adds a visual element helping tic cartridges naturally stand out on webpages and in filesystem thumbnails and being able to easily distinguish between them.

Several similar fantasy consoles also have this feature and it is a very popular way to share creations.

Activity

added
enhancementImprovement of existing feature or adding something new
on Nov 7, 2019
nesbox

nesbox commented on Nov 10, 2020

@nesbox
Owner

It can be done with LSB based image steganography I think.
Let's try :)

zenith391

zenith391 commented on Nov 21, 2020

@zenith391

why not use the tEXt PNG chunk ? Althought it says it should not contains null characters, since it isn't meant for display this shouldn't matter much as the text string is not null-terminated.

However with this method, data will be lost if converting from PNG to any other image format.
But it has the added benefit of being way easier to implement.

joshgoebel

joshgoebel commented on Jan 26, 2021

@joshgoebel
Collaborator

why not use the tEXt PNG chunk ?

Some sites will strip this data as it's not relevant for display.

nesbox

nesbox commented on Feb 19, 2021

@nesbox
Owner

I did some experiments with embedding a cart to png image on png-test branch.

Original 256x256 image (9 877 bytes):
cover

With embedded BALMUNG cart (80 663 bytes):
out

Very pleased with the result, almost no difference is visible.
Also, we have to design a 256x256 cartridge template with a cover and game info now...

SDMelipone

SDMelipone commented on Feb 20, 2021

@SDMelipone

Looks like an opportunity for a design contest. Having a simple, recognizable, and striking design could be an important part of TIC-80's visibility.

nesbox

nesbox commented on Feb 20, 2021

@nesbox
Owner

Welcome if you have ideas :)

Anrock

Anrock commented on Feb 20, 2021

@Anrock
Collaborator

Is there any specific requirements like size of the image, dimensions, some ares dedicated for user to draw on like redshift disks have?

nesbox

nesbox commented on Feb 20, 2021

@nesbox
Owner

I think 256x256 with 240x136 cover inside is the main requirement.

nesbox

nesbox commented on Feb 23, 2021

@nesbox
Owner

How the cartridge could look (WIP)

image

joshgoebel

joshgoebel commented on Feb 23, 2021

@joshgoebel
Collaborator

Could we put the cartridge "size" on the outside maybe? Some calculation of # of banks used + code size, etc...

borbware

borbware commented on Feb 23, 2021

@borbware
SponsorContributor

i like this idea very much! the wip cartridge has already a nice look.

some thoughts & questions:

  • text "TIC-80" should be present somewhere
  • maybe the TIC-80 mascot, too!
  • pins at bottom instead of top?
  • it would be nice to be able to decide the color of the cartridge, famicom style
  • could one fit pro cartridges in 256*256 images as well?
nesbox

nesbox commented on Feb 24, 2021

@nesbox
Owner

Some progress:
image
Thank you for the thoughts :)
Pro carts fit 256x256 without any problems.

RobLoach

RobLoach commented on Feb 24, 2021

@RobLoach
Contributor

Looks great! Personally, I like the dark one (the first) the most. Keeping with the Sweetie-16 color palette and feel is important.

nesbox

nesbox commented on Feb 24, 2021

@nesbox
Owner

Me too :)
image

26 remaining items

nesbox

nesbox commented on Feb 25, 2021

@nesbox
Owner

This is the tiny font we are using in TIC80. I'm always trying to use the default font and default sweetie16 palette colors to design such things.

joshgoebel

joshgoebel commented on Feb 25, 2021

@joshgoebel
Collaborator

Even if the end result is worse [in that overall legibility suffers]? Did you try a variant with "cartridge" in caps?

You are keeping in mind not everyone is going to ZOOM these cartridges to read what it written on them...? If the text is illegible when the image is shown at a small size then it's really just decoration... For example as embedded here on Github I find it quite hard to read the text even if I'm squinting (font plus tiny size plus low contrast)...

I've always placed a high value on usability/accessibility.

borbware

borbware commented on Feb 25, 2021

@borbware
SponsorContributor

I'd go with the smaller font even for the game title & game creator names!

You wouldn't need to have that long titles to overflow with the current design. Besides, if the game creator wants, they can feature the game title (and their name) more prominently in the cover image.

That would be more in line with actual game cartridges (and comparable to game banner images in online marketplaces), for that matter.

joshgoebel

joshgoebel commented on Feb 25, 2021

@joshgoebel
Collaborator

Besides, if the game creator wants, they can feature the game title (and their name) more prominently in the cover image.

I did have this thought earlier as well... most video game cartridges have a single sticker and that serves multiple purposes for logo/branding/name/etc... I think really what would be cool here is if the cartridge was really more of a "physical good"... and if someone wanted to make a special cartridge they could design it however they wanted. Make it blue. Have a larger graphic. Add decorative molding... just so long as it still had the correct "shape" and "pinout". :-) [of course those things are largely irrelevant also technically speaking]

I plan on doing RetroJam in the next week or so so if I have time I might see if our artist would want to try their hand at making a custom spiffy cartridge PNG. :-)

@nesbox Do you have any issue with people doing custom carts on their own - ie if the community makes some tools to make that super easy to do would you fight that by making the official binary start inspecting the images for the official template or something along those lines? Or just os long as the binary data was encoded properly it would work, period?

nesbox

nesbox commented on Feb 25, 2021

@nesbox
Owner

Do you have any issue...

I'd like we have one common cart template with TIC logo and URL and allow the user to design the "sticker" he wants, with labels and other things.
The current design could be provided by default but technically, it doesn't matter for TIC how the cart looks, it just tries to decode the image, and the user allowed to encode the cart to any 256x256 png he wants.

joshgoebel

joshgoebel commented on Feb 25, 2021

@joshgoebel
Collaborator

I'd like we have one common cart template with TIC logo and URL and allow the user to design the "sticker" he wants, with labels and other things.

I generally have no problem with the logo and URL, only the font - I'm talking more bigger picture design elements, plastic color, molding, etc. Not sure if we're talking past one another or not. I definitely see the need/desire for a "brand" of cartridge that everyone gets by default - for use as a marketing tool. I don't think everyone will do their own, it would just be nice if it was a thing that remains doable. :-)

And generally if they did it "tastefully" I'd hope it would still look like a "special edition" TIC-80 cartridge, not "something else". Gameboy cartridges are still quite recognizable regardless of plastic molding color, because they have a distinctive size and shape, etc... and speaking of Gameboy...

For example right now I'm looking at doing a Gameboy Color game for RetroJam (letterboxed on TIC-80)... and if all you do is decode the data then I could make a 256x256 that looked more like an actual Gameboy cartridge - in keeping with the Jam theme - but still could just drag and drop if all you cared about what the raw data. :)

That's more of an exception case though, but still neat if possible.

but technically, it doesn't matter for TIC how the cart looks, it just tries to decode the image

Very good news.

added a commit that references this issue on Mar 2, 2021
added a commit that references this issue on Apr 3, 2021
nesbox

nesbox commented on Apr 3, 2021

@nesbox
Owner

Added PNG cart saving/loading here 335d795
Use save name.png command to check.

Example cart, just drag it to tic80.exe:
power

added a commit that references this issue on Apr 3, 2021
ChildishGiant

ChildishGiant commented on May 27, 2021

@ChildishGiant

These should be available to download from the tic.computer website along with the standard cart

nesbox

nesbox commented on May 27, 2021

@nesbox
Owner

@ChildishGiant sure, will be added

shinkarom

shinkarom commented on Aug 23, 2022

@shinkarom

What is the maximum cartridge size for saving to png?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImprovement of existing feature or adding something new

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @joshgoebel@RobLoach@nesbox@Anrock@ChildishGiant

        Issue actions