TL;DR at the bottom.
I am writing this even though I didn't encounter code limit yet, but I think I will. I base this from my experience when I say I don't want to deal with that. I already had my code limit problems when I was developing game for PICO8. I tried to make quite a big game and, as it was my first time with code limit, it was difficult experience to try to work around that and left me burned out and negative towards fantasy console in general. (Although I finished game, much smaller and different from what I wanted)
My problem isn't with code limit itself (which I think is good) but how punishing it is for project that hits it before completion. If you want to create something more than demo scene or mini game you will hit it sooner or later. Is TIC-80 is designed only for small things?
I fell in love with TIC-80 and how user friendly it is and decided to use it regardless of code limit. But I didn't forget last time and said to myself: respect code limit and do something small. Thought about doing small prototypes around single mechanic/system. So I did. I released first prototype for TIC80 - https://tic.computer/play?cart=138 which sits at 57620/65535 code size. Idea was to prototype one system (lockpicking/opening locked containers) by creating sandbox in which player can do few actions (open/close locks,create/use keys). And I managed to do it without any code cleaning, while I was writing it in a way that was most readable to me (using classes, writing long/descriptive variables etc.) Success!
My initial plan was to do 2 more prototypes (around pickpocketing and sneaking mechanic) and that was ok. But now, it got bigger. I decided I want to make little game combining 3 of those (when I finish then) in one small scenario and I think I will hit code limit with it. Of course I can just do prototypes and then move to other engine, but porting all of this is, maybe, unnecessary work. Though that maybe I can do all of this with TIC-80? But here is a thing, I don't want to go through fighting around code limit as I already had with last game. If there is no other way, I would prefer switching to other console (like LIKO12) than forcing myself through problems I don't want to have. Hence my questions below.
You could say: Obviously you made too big of a game then and want to repeat same mistake! And yes, it is how it looks like but I dare you to be this smart, about your project, when you start it. Knowing if your game is too big for arbitrary limit requires big experience in, not only in making games, knowing system inside out you are working with.
Look I know that if you go through my released code you can easily get 10k code free or more. Remove classes (OOP in lua, red flag, right?), remove half of variables with long ass names etc. Here is a thing. I want to start cleaning code only after I finish the whole game. There is a reason for I wrote stuff the way I wrote it - it makes remembering code and working with it easier for me - and don't want to handicap myself too early. What I want to is to have ability to ignore code limit as long as I am running it locally only. I don't like doing optimization mid coding, hate when I am forced to stop in the middle of writing somehing - so I can free some space and dislike how code limit force you to write non-readable code. I could start with writing compact code from the beginning, but I don't want to do that. The more code I write, the more important is to me to write descriptive code - which isn't space friendly.
Tried to make too big of a game before (for PICO8) and code limit bite my ass hard. I created 1 small project for TIC-80, but looks like I want to create big game again later and before I do that I want to ask you if we can do something about code limit or should I just be realistic and move on to something else.
1. Am I making too big of a game for TIC-80? (I am talking about consolidating 3 prototypes described earlier)
2. If yes, does that I mean I am trying to do a game that isn't compatible with TIC-80 design?
3. If yes, should I just move to other fantasy console (like LIKO12) that doesn't have code limit?
4. If no, can code limit became soft? Or can we do something about it?
If there is a yes to the 4th question, what I am proposing is:
- After you hit 64k code limit, show warning in editor (like having code count in red) and when running game/saving file/exporting game show descriptive warning (same as one you have when trying to run too much code via external lua file (dofile))
- Don't allow to upload such games to tic80 repository.
- If exporting to exe/html5 etc. show only warning
- Allow hard code limit to be configurable, so i.e. you can limit yourself to 128k/256k, while 64k is still hard limit for uploads.
I don't want to move to other console if I don't need. TIC-80 looks like the best of all fantasy stuff and perceive it as most user-friendly. Which is why I want to remove code limit as it is in my opinion very unfriendly and stands in contrast to what TIC-80 wants to be.
(But maybe I don't understand what TIC-80 is for?)