Ideally, you need to make sure that all text/graphics in the game is displayed using the same piece of code and stored into a data application variable, to keep the code size down. Hardcoding everything (eg one piece of code per animation) is going to make the code size skyrocket.
Another alternative that is not the ideal solution but could work as last resort is to make the game an hybrid TI-BASIC and C game, where the BASIC program acts solely as a launcher, combined with XCOPY or something else that can copy archived files to RAM, and then you have one C program per game part (eg one for the intro/menus and another for the game part). In such case you would need to return several values into an appvar so that once one of the C programs is quit, those values can be retrieved by the next C program. Such hybrid TI-BASIC/C game would give you unlimited code space.