Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple file project support #2639

Open
ephetic opened this issue Jul 21, 2024 · 4 comments
Open

Multiple file project support #2639

ephetic opened this issue Jul 21, 2024 · 4 comments

Comments

@ephetic
Copy link

ephetic commented Jul 21, 2024

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.

@S0ZDATEL
Copy link

S0ZDATEL commented Jul 26, 2024

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.

@ephetic
Copy link
Author

ephetic commented Jul 26, 2024

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.

@shaleh
Copy link

shaleh commented Sep 12, 2024

https://github.com/scambier/TQ-Bundler perhaps as an alternative?

@ephetic
Copy link
Author

ephetic commented Sep 12, 2024

In the end, I switched to teaching with Löve and external media editors. Thanks tho.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants