Open ephetic opened 4 months ago
It might be a bit difficult to manage the cartridge size with code being split into different files. But not too bad, just sum the sizes of all the files. It won't be very useful to the developer. Let's say you import 10 files, and you run out of cartridge space. You want to optimize and clean up your code, but you don't really see all the code in one place and have to switch between files to find your code. And then you add a new feature into one of the files, the size of the file on its own is fine, but once you import it into your project, then it becomes over the limit. So, we'll need to come up with something to make managing size of multi-file projects easier.
I see your point. Once the features are modularized, the kind of global optimizations you'd in a single file would be really hard to refactor out of separate files. But I'm sure some compromise coding strategies can be found and developers bumping up against that limit can simply not use multiple files.
Another little thing that could help at the limit is make the cart size limit soft, disabling export etc, but not blocking development.
https://github.com/scambier/TQ-Bundler perhaps as an alternative?
In the end, I switched to teaching with Löve and external media editors. Thanks tho.
TIC-80 should support breaking projects up into several (reusable) source files as it is such a basic software engineering feature and not anachronistic with the fantasy console spirit. Switching between files can be done from the console via
edit <filename>
. This would require support for language import features and save/build support for adding additional source files to the bundle.This absence of this feature is currently the blocker from using TIC-80 to teach kids game development as it is too confusing to share base libraries with them via copy/paste.