Journal Entry 22
Date: 2025-05-13
Activity: Implement menu
Time spent:
- Implement menu - 3hrs 40 mins
Today went surprisingly well. I implemented the menu in a way that's in my humble opinion clean, sustainable, and extensible. I correctly predicted yesterday that I wouldn't have time to implement the actual effects of the menu, but that was for a different reason than I thought -- I simply spent so long implementing the menu that it's now 1AM and I would like to go to bed already, but I actually already half-implemented the effects of different options -- the options file is already changed, I just need to check it from different scripts to get its effects, so implementing that tomorrow will be incredibly trivial.
I think today went so well because I only had to interact with Unity very little. Most of the work was only writing the menu code in Visual Studio. Unity still did manage to make me question my sanity in one moment when it covertly duplicated an object I had just created and then kept telling me that an object reference wasn't set - I had set it on the object I created, but obviously not on the duplicate object that Unity didn't tell me about. Aside from that, it really was a smooth ride today.
I re-thought my design from yesterday -- instead of having an ugly mess of different levels of indices and hard-coded meanings of different combinations (which is really horrendous), and instead of having all menu texts exist simultaneously in rows and move up and down with one another, I am instead keeping track of everything using a stack of lists of MenuItems (rows) and a stack of integers. When a new submenu is entered, the new menu row is pushed to the stack, as well as a 0 as the index to the other stack. When a submenu is exited, both stacks are popped. And navigation between different items in the row is done simply by changing the value on top of the stack of indices. Instead of having all texts exist on the screen (and mainly off-screen) simultaneously, a new text is now created in the correct direction, and the old is slid in the opposite direction and destroyed right after that.
I also decided not to add RCS sound effects when moving between menu items, as it would be distracting, it would look weird without the camera movement, I also quite like the idea of the text being rendered on the screen just as text. It's got a nice vibe to it.
Tomorrow, I want to implement the functionality of the menu, as well as add all voice acting to everything there currently is (and needs voice acting) in the game. I would also like to add scene transitions and create the main menu scene (which is trivial, since the menu is already done and part of the Spaceship prefab, so it's literally a matter of creating a new empty scene with a spaceship in it and checking a bool for the main menu). This should in theory make the game completely playable for playtesting, even though not complete (most of the story is still missing, and level select and saving the game aren't available yet). I am hyped that I'm actually likely to have a playable game in time. I must effectively communicate to the players what the intended experience is (playing with closed eyes / a blindfold if possible), and what their options are (visual aids, including a normal 3D particle-less rendering of the scene which defeats the purpose of the game, but is more accessible to some players) though. I hope they carefully read the description before playing.
Get Project C
Project C
Next Target: Mothership
Status | In development |
Author | Rosie |
More posts
- Journal Entry 2842 days ago
- Journal Entry 2744 days ago
- Journal Entry 2645 days ago
- Journal Entry 2546 days ago
- Journal Entry 2448 days ago
- Journal Entry 2349 days ago
- Journal Entry 2151 days ago
- Journal Entry 2052 days ago
- Journal Entry 1953 days ago
Leave a comment
Log in with itch.io to leave a comment.