Unity Menu system/frontend
ANommyMousse GameDev DK30 Spring 2021 4 4
Description
“Try” to use what I learned from the programming course to make a decent looking and working main menu in unity. This might not take the full dk30 time but there’s some stuff I’ll have to look into like, pause menus so it’s up in the air in the timing stuff, like usual ^_^
Recent Updates
Welp this is what got done. https://youtu.be/_OdrnbKe_OQ
Looking at the goals… Week 1. (DONE) Do the first screen with sound and music options, new game, load game, quit, continue, credits. (except for continue, but that’s real easy once I get the save/load stuff in)
Week 2 (75% - save/load not in game(In menus and credits), key bindings (using new system just need to know what keys I actually need) Make the menu go to the main game and ensure that the main game can pause, save state (so we can load in), restart level, adjust sound/music levels, adjust key bindings possibly
Week 3 (Done + I drew a wabbit :D) Consider some sort of async loading system
Week 4 (5%) credits screen to read from a file
I did complete 70% of the mastery course though, and still doing some art on sundays. Also did some clouds in houdini then hue’d them up, I only did this cause someone put up a non-cc0 picture in pixabay, annoying since I really liked the picture but I can’t actually find the rights holder so now I hit up the Smithionan institute for some old known CC0 stuff.
This though is an original and mine, ALL mine, muhahahahaaha! https://imgur.com/iUui5Ng
10 days left.
Quick update on the loading screen. https://youtu.be/gbB8_sPkXp8
Load/save and pause in game : likely not happening, the load/save I can do at least as Json that’s how the credits work, and my music/sfx options save out to player prefs and are loaded on startup. So the base is there just need to see what things I’ll need to save out from the game state which is way off down the road.
Pause menu. Not sure, I’m running through a course that’s currently doing state machines, the course unlike the last one feels harder to understand but it’s more in depth so that’s why. Hopefully they touch on it, I’d prefer not to just look up Brackeys and see how they did it as there are considerations and interactions as it’s not just quick noddy whilst in game.
Key bindings : Oddly not really covered on the last course. I doubt it’s in this one, it did cover them but didn’t wrap it up in a menu system that is tweakable by the user. I’ll probably just tackle this with a google search/brackeys/whomever has a mini tutorial up.
The week 4 : Fun stuff wouldn’t happen as I’m doing the course instead.
Was sick this week 2 days and another day was eaten by deadites, which was a groovy day filled with silliness. Now 47% of the way through the mastery course. Added a mute to the sound screen. Started on a loading screen https://youtu.be/NLCQsMoTUA0
Lots more to do for the screen though, some are optional some need to go in before I move onto some of the next tasks.
Looking at the tasks I set myself. **Week 1) **
Do the first screen with sound and music options, new game, load game, quit, continue, credits.
Week 2)
Make the menu go to the main game and ensure that the main game can pause, save state (so we can load in), restart level, adjust sound/music levels, adjust key bindings possibly
Week 3
Consider some sort of async loading system, not sure how easy it is within unity to do this, and unity does take a long time to load stuff in and prepare itself. If this isn’t possible or a little out of my depth for unity (had one in unreal but it was store ‘bought/free’ item). I would at least want an icon that spins so you know it hasn’t crashed out
Week 4
Add a lot of polish to the menu, little fun things, spiders. lights on and off, hidden clickable stuff, also do a lot of work on the credits screen to read from a file and add text based events that cause stuff on screen etc… without the need for recompile.
CODEWISE So since my project has changed, I’m now 30% through the game mastery course. Lots of unit testing, some abstract classes, scriptable objects and stuff, this week. I still haven’t stumbled into the pause stuff yet, might not even be in this course.
ARTWISE But I have done some programmer art following a different course like I do on Sundays. Pics done while doing section 2 of the art course Dancer https://imgur.com/fwdYtQ3 Shaded dude https://imgur.com/xKCjhdU some hair https://imgur.com/cG3Q8OQ and stick men https://imgur.com/ujEb4hj
And did the castle test. https://imgur.com/Yi354lb Interesting thing about the castle, this is very thin, it would actually been easier in houdini just to make it square and an actual castle with the correct proportions than the test thing I did. The main issue I think with doing a 3d -> 2d castle is the boolean’d sections at the top, you might find that there would be raised sections visible from the front which made the turrets in 2d not look correct even though they are.
The houdini thing to do the castle https://imgur.com/85AM4BN Note -: if you were doing it properly you’d likely not start from this base, but use the inbuilt building thing to make the castle walls and fill a lot in automatically
Art Day. (missed my art day last sunday)
The course seems good so far, I think it’s still being worked on, but since I generally only do art once a week, it’ll probably be complete by the time I get to it.
I think I’ll try next week to see how hard it actually is to wrangle a castle in houdini, just to see how long and what problems there are.
And now back to my irregularly scheduled project ^_^
Welp I did some stuff. Turned out ok, needs a good bit o tweaking but barebones wise it’s done for now. Things I got done. New game, music, sfx, adjust sound/music (much simplier than expected), load credits from json off disk as I want to edit that offline without altering code.
Scrolling turns out is tricksee with text and panels with children and world to local and local to world stuff to mangle to get it to be correct, my brain hurt by the end, but it’s done bar the fancy fx stuff, like adding a alpha fade to entry and exit, and string text commands for bigger title.
So as a barebones it’s beginning to fill up nicely \o/
After starting this and reviewing the other 2 programming courses, I’ll probably do a very barebones basic menu and when the course fills in the gap like a pause menu then that’s when I’ll implement it, so I’ve expanded the original goal to do the courses and do a menu at the same time. The other courses cover things like pause menu and cursor and camera setup for a real game within them, no point in me doing them then seeing a better method from someone better at coding than me :D
Estimated Timeframe
Feb 12th - Mar 12th
Week 1 Goal
Do the first screen with sound and music options, new game, load game, quit, continue, credits. I expect the most time the first week will be organising the assets, art, music and stuff will take a bit to wrangle what I need and importing it in. A lot of this will involve exporting from unreal to unity certain things I like that I don’t have in unity.
Week 2 Goal
Make the menu go to the main game and ensure that the main game can pause, save state (so we can load in), restart level, adjust sound/music levels, adjust key bindings possibly (not sure of unitys methods for this other than at the project menu level)
Week 3 Goal
Consider some sort of async loading system, not sure how easy it is within unity to do this, and unity does take a long time to load stuff in and prepare itself. If this isn’t possible or a little out of my depth for unity (had one in unreal but it was store ‘bought/free’ item). I would at least want an icon that spins so you know it hasn’t crashed out, then look at the main game and the control system (isometric mouse strat game, think c&c view but not)
Week 4 Goal
Add a lot of polish to the menu, little fun things, spiders. lights on and off, hidden clickable stuff, also do a lot of work on the credits screen to read from a file and add text based events that cause stuff on screen etc… without the need for recompile.