I was just wondering about the best way to draw "multiple screens" in your games (such as splash screens or different game screen that can not use the same kernel)
For instance, a game might require the following game states:
1. Splash screen
2. Main game screen with 1/2 second "get ready" pause"
3. Running main game screen
4. Switch screen to game element #2 with 1/2 second "get ready" pause
5. Running game element #2
6. Game over with enemies still moving
As I am adding more pieces to my game, such as end-of-levels etc, my code is getting more spaghetti like - In higher level languages I'd just have a "state" variable and do a switch statement like
switch(GameState){
case STATE_SPLASH: drawSplash();
case STATE_RUNNING: drawLevel(CurrentLevel);
...
}
Kind of thing. How do you organise your game screens and levels nicely for the 2600? At the moment I am drawing a standalone kernel (with vblanks, and overscans) for the Splash screen and then another kernel (with vblanks and overscan) for the "main game". But as I go to add another screen, it's starting to get ugly - especially as I want it to draw one frame of the new screen, pause for 1/2 second, then continue.
Any suggestions on handling these types of game elements?!














