log 2 - Scene Workflow & Developer Tools
Scene Workflow
After roughly 3 months of developing Gas Station Story, I realized I wasn't building things out the way I actually wanted them to be. The editor was confusing for me to move around in because of how many different scenes there were, and I was having trouble remembering which scenes had which dialogue. I was copying actors and scripts between scenes frequently, which is currently a little buggy in GB Studio, so that was causing me frequent headaches. I also realized that I was doing some things in an extremely inefficient way, such as not really paying attention to which variables I was using and using very similar names for each scene in the editor. Alpha 0.4 had quickly become much more inflated than it needed to be.
Once I realized these things, I knew I needed to fix it. Going back and editing everything to be more efficient seemed to be more work than worth, so I decided to rebuild it all from the ground up as Alpha 0.5. I would plan the layout better, plan what variables would go where and keep track of them in a separate document, and I'd make sure to build everything efficiently, the way I wanted it to be. I knew it was only going to take me a week or two, tops, since I had everything I needed.
It took me an entire month.
Granted, all of Gas Station Story since then (now up to Alpha 0.9) has been built off of Alpha 0.5, and I don't anticipate that changing (I really, really hope it doesn't change). But it took me a lot longer than I expected it to, due to how different everything ended up being laid out. It went from a multitude of scenes in the editor -- each with a few lines of code and dialogue -- to a few scenes in the editor, each with lines and lines of code and dialogue I have to scroll through in order to edit.
In Alpha 0.4, Day 1 consists of 74 different scenes (excluding any time stamps and the intro). In Alpha 0.5, Day 1 consists of 30 individual scenes (again, excluding the time-stamps and intro). Less than half the amount than 0.4, which I have to imagine would've been a very slow editor to work in if I had continued on in it into later levels. And, I was able to revise and polish a lot of details along the way that I might not have caught without the intensive comparing I did between the two builds.
Some key differences:
- 0.5's list of variables has been organized for easier navigation when scrolling (I switch between using my keyboard more or my trackpad more depending on mood), and is just generally easier to keep track of.
- 0.5 runs faster than 0.4 in-editor, but some scenes take longer to load in due to moving actors around (or swapping their sprites, depending on the scene) before the scene fades in. This has been optimized more in Level 2, but still requires further polish.
- 0.5's portrait scenes are much easier to navigate due to a very simplistic system for variables - Day Check and Scene Check. The Day is which level the player is in and is set at the beginning of the level; the Scene is incremented to determine which segment of the story the player is in. This has been the greatest help to me in the editor simply due to needing only one scene of each portrait.
- The confusing aspect of clicking around in 0.4 is gone, as 0.5 has been organized before being built. Portraits have their own spots, as does each Day. Portraits are also named by their expressions as opposed to just numbers, to make them easier to tell apart when in the code editor.
Developer Tools
As I built 0.5, I realized there were some further tools I could build that would make development faster and easier. Thus, Dev Mode was built into the intro. By pressing Select on the first scene, I would enter Dev Mode - this allows me to skip scenes from the time tag screens by using the Left Arrow and Right Arrow to skip between major scenes (Day 1 to Day 2, for example), or by using Select to skip between minor scenes (like from 9:15 to 11:00). This speeds up testing a lot since I can skip between relevant scenes to figure out if certain cross-scene events are functioning, and it keeps me from forgetting to reset the Starting Scene in the editor back to intended start (I oftentimes will change my starting scene for testing, then compile my build, burn it to the cartridge for a full playthrough, and realize I forgot to set it to the beginning after leaving the house).
Additionally, after each level (right before the save checkpoint), a dialogue box will list out the value of each Passive variable that they've influenced, so I can keep track during my test playthroughs and make sure it's all being updated as I progress.
Dev Mode has evolved since 0.5, and now pressing Select at the starting scene takes me to the Dev Box. Exiting the Box takes me back to the intro (with a skip option so I don't have to watch the title crawl). The first door takes me to a blank scene that connects to whatever my current testing area is, as well as setting any necessary variables for the scene so all functions work as intended. The second door takes me to a separate section of the build that I'm using as a shell build to record trailer footage. The following doors take me to different levels of the game (Day 2, 3, and 4, respectively) - but the scene changing function of the original Dev Mode has remained in case I need to jump around during testing.
Thanks as always for reading this far!
- issumatek
Get Gas Station Story (Demo)
Gas Station Story (Demo)
A game about love, society, and customer service.
Status | In development |
Author | enzi |
Tags | 8-Bit, Game Boy, gb-studio, LGBT, Narrative, Pixel Art, Romance, Sci-fi, Singleplayer, Slice Of Life |
Languages | English |
More posts
- log 7 - Demo V5.1 Changelog & Updated Statistics51 days ago
- log 6 - Beta Update & Demo v5 Patch Notes75 days ago
- log 5 - The DemoApr 03, 2024
- log 4 - Gender & Relationships in "Gas Station Story"Feb 15, 2024
- log 3 - Development Update & RoadmapDec 03, 2023
- log 1 - Game Boy Camera Experiments (& Techniques)Jul 07, 2022
- log 0 - Gas Station StoryJun 06, 2022
Leave a comment
Log in with itch.io to leave a comment.