Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

TIC-80

Fantasy computer for making, playing and sharing tiny games. · By Nesbox

How to export with custom compiled TIC-80?

A topic by Bobamax created Oct 10, 2022 Views: 683 Replies: 8
Viewing posts 1 to 2
(3 edits)

I made a change to the source code to disable integer scaling and recompiled myself on Windows. However, when I go export the game, it downloads an executable from the tic80.com website - https://tic80.com/export/1.0/win - that seems to be the full TIC-80 executable (if you rename it with ".exe" on the end, it will load up TIC-80 with a blank screen). And then my Lua code gets inserted in there somehow? I'm just guessing that's how it works, but I do know that this downloaded executable is built with the DEFAULT source... so my customizations are gone when you open the exported game.

What's the solution?

Developer

Hi,

here we embed the cart to the downloaded binary https://github.com/nesbox/TIC-80/blob/main/src/studio/screens/console.c#L1960

and here we load embeded cart in exported game  https://github.com/nesbox/TIC-80/blob/main/src/studio/screens/start.c#L217

Thanks for the reply. But what I need to do is replace the downloaded binary so that my cart gets embedded in there. How do I do that?

Also, my compiled version of TIC is much bigger (11MB) than the one you distribute (4MB). I used Visual Studio 2022. I've compiled plenty of things on Linux before but this is my first time compiling on Windows so I'm not familiar with the tools. Any ideas of options I should be using to make it smaller?

Developer

Unfortunately I don't see an easy way to replace the downloaded binary, alternatively you can change the url to your own and force it to download your binary.

Please use a Release build to make it smaller, looks like you used a Debug build.

(1 edit)

What is the binary that's downloaded? Just an exact copy of the TIC-80 executable? And same thing for Mac and Linux?

And what about HTML? The "htmllua" binary downloaded for that is only 343K. How do I make my own version of that?

Please consider changing this in the future. Honestly this is super disappointing to discover just now, almost 4 months into my project. There's no point in being able to customize the source code if it can't be used for exporting games.

Developer

The binary you download depends on OS you want to export to, but yes it's exact copy of tic executable, also we have version without editors in pro version.

Try to look at the https://github.com/nesbox/TIC-80/blob/main/.github/workflows/build.yml file where we have all the build configurations and options for all supported OS.

I know, it's disappointing, even for me and I'll try to improove this part in the future, sorry for that.

> I'll try to improove this part in the future

Great! Thank you. I appreciate the work you've done!

(+1)

Hi all,

as a suggestion, I guess it won't be easy to implement but it would be nice to be able to include one more parameter in export commans, called URL.

If it's empty, it points to the tic80 repo to download the binaries (as currently), else TIC80 will get the binaries from URL entered. Even in local storage, if possible.

I think it would be something quite flexible although I don't know how difficult it is to program it. 

Anyway, thanks for making TIC80!

(1 edit)

Good ideas. I was also thinking, why not just clone the currently running executable? And then that made me realize something that IS really nice about the current setup, and that is that you can export on other systems. E.g. cloning would only work for the environment you're running. I don't have a Mac but the download-to-export system lets me create a Mac executable on Windows. That's pretty cool, and also makes me appreciate that it's more complicated than it seems. But at the very least, being able to export a custom build for the current environment you're running would just be really nice.