White Shining Rock Logo
White Shining Rock Logo

The Menu

August 5, 2013 | Dukus | 60 Comments

At first glance most games have a main menu that is fairly inconsequential. It's a place that a game player spends very little time. They use it only long enough to start a new game, load a saved game, or configure game options. Despite the menu seeming unimportant, the menu actually gives the player an initial impression of the game - it conveys art style, quality, detail, and the style of the user interface for the rest of the game.
At least I think it should.
I've seen a lot of menus in games that have annoying problems that I don't want to repeat. I don't like waiting through 14 splash screens of middle-wear, company logos, and legal disclaimers. I don't want to wait for an animation to slide the current user interface elements off the screen, only to wait while the next menu slides in. I don't like waiting thirty seconds for the main menu to load so that I can immediately pick my save game and wait another thirty seconds for the game to load. And don't get me started on complicated loading screens that have to load assets first so they can be displayed before the actual game content starts loading.
With those things out of the way, I start thinking about what I want my menu to look like. I've had the interactive parts of the main menu working for a long time, but it hasn't been backed up by any art or sound. Here's what the menu has looked like for the last year.

Menu00I've swapped out screenshots as a background now and then, but I've disliked them all in a presentation sense.
Because the player spends so little time there, I feel like I should spend less than an hour to make an awesome main menu, but I've been agonizing for days over getting it right. The menu needs to fit the game and currently I've only been cringing at how poorly presented it is.
What I had in my mind most for Banished's menu was fast load time. Fast as in you start the game and immediately the menu is presented. I long for the days when games came on cartridges and all data was just a memory access away - no need to load from physical media into RAM. But since that isn't the case, I decided I wanted some nice art displayed behind the menu, the name of the game, and some music playing. Many games do this successfully.
For this setup I only have to load the font, user interface elements, a few sounds, and the music streams in the background. This certainly meets my goals in only a few megabytes of data.

Menu01Unfortunately, I'm a very poor 2D/traditional artist. I can apparently make textures for 3D objects, but I can't draw full images very well. Anything I attempted looks out of place with the game or is so ugly that I don't let anyone else see it. So drawing anything stylized was out.
Straight screenshots from the game are out too, that just looks strange to me. I tried taking screenshots at custom camera angles and then painting over them to make the artwork easier on myself, or even using filters that look like paintings, but these just came out cartoony compared with the actual game.

Menu02Next I thought about setting up and rendering a scene with fancy materials and realistic lighting. After thinking about the work involved with this I discarded the idea in less than five minutes.
Why is this so hard? It's just a menu with a few options on it! I decided to forget about the menu for a day and work on some other things that need to be done.
Doing builds for testing was getting a little annoying so I worked on some build scripts to automate the process. The script gets the latest code and data from the source repository, compiles all code targets, builds all the resources the game needs from source assets, packs them into a pack file, and then copies the resulting executable and data file to a directory outside the development tree. While I can do all this by hand, now I can set it off on another machine and continue working instead of wasting twenty minutes.

After writing the build system, I started the resulting build to check that it actually worked, and I noticed and remembered that loading a save game and getting back to the action for a small map only takes about two seconds. The developer build I usually play is much slower than the actual production build, due to error checking and the thousands of file open/close accesses it performs.
This event reminded me that loading data from a hard disk isn't really all that slow. I'm used to shipping games in the console world where usually a game is reading from a optical disc at a slow rate. And so I throw away my idea about just loading fonts and an image, and decided that I can squeeze in some loading of some 3D assets and still maintain fairly fast response from executable start to interactivity. So what to render?
I decided to build and load a nice town scene where the water is animated, the trees sway in the wind, and the camera moves slightly - this is much nicer than a still screenshot, and as a bonus, you can change video options in the main menu and see the results in the background immediately.
Because no game logic will be running, frame rate issues won't ever be a problem (unless you have a really slow video card), and the game only has to load a terrain and a few models. Once I got that working, starting the game and showing the menu menu took under a second, despite the extra data loads.

Menu03After getting this working I talked to a few people, expressing my annoyance that the main menu was taking me far to long to make and that I wasn't fully happy with it. After telling them my current solution, without talking to each other, they both suggested that the background should show the last thing the player was doing, so that each time the menu is shown the background is different.
At first I didn't like this idea, because you could show a scene that isn't 'Artist Approved'. But really it's genius. The content is dynamic, the player will always be reminded of what they were doing when they left the game, and all I have to do is find a scene in a game I play that looks good for the initial display.
It's really perfect for the game. Now when I start the game, I might see a menu with a snow storm. Or sometimes I'm looking down on a town from far above it. Sometimes it's a farm scene. Sometimes I see a boat coming down the river.

Menu04Once I decided to do this, It took me less than an hour to make the menu display the last thing the user saw and to make nicer title text. So in the end it did take under and hour to make a nice menu, and it still loads fast. I just had to explore the multitude of ways that didn't work for several days before I figured out how to do it.
Now onto important things.

Leave a Reply

Your email address will not be published.

60 comments on “The Menu”

  1. Still a ways to go in my opinion - Both the buttons are logo look out of place by themselves. A wooden border would suit them I think.

  2. It is interesting to go through the ideas you are coming up with during the devopment proncess! I have high hopes for the game!

    The menu is nice, looks good!
    What you can make it do too is that it should also reflect the graphics options the player is using, and the menu backgrous should change in realtime each time the player changes something in the graphics options.

    I also hope you change the icons in the menu! They are very simplistic...and as you said, the menu conveys the art style of the game, and i beleive these icons don't convey the scale of your game and how amazing it is! They will give a "meeeh" kind of first impression to the game!

    Hopefully you will come up with something more "stylistic"

  3. mid to end of 2013 is approaching, is this going to be a Halloween or Christmas present for myself? πŸ˜€

  4. Suggestion, allow the user to save a screen shot for the menu background. Very excited to try Banished.

  5. once again excellent pot πŸ™‚
    I didn't even dislike the 2nd one but it really exudes the indy vibe. the final version looks to be AAA stuff!

  6. Keep up the great work. My friends and I are looking forward to the game's release - they keep asking me when the alpha/beta will be available. Everything looks beautiful and your attention to detail is great. I started watching you back when it was a zombie game, truth be told. If you ever bring combat into play, it'd be interesting to introduce a zombie/outbreak mode as an optional easter egg in memory of the game's humble beginnings. Take care and thank you for your hard work, dedication, and attention to the finer points in gaming.

  7. I love the backdrops idea. Not quite sure what the distinction is between new game and scenario. Isn't any new game going to be running one of your scenarios if all maps are hand drawn rather than randomly created? I'd like to try out open sandbox or any scenario rule restrictions on any of the maps you create e.g. Vegetarians - reach x happy population without eating any meat.

    For complete masochism it would be great to be able to select multiple options - eke out survival in the land of 6 months of winter with no meat consumption, poor crop fertility , low birth rate and only one trader every 5 years.

  8. Nice work on the menu ! It remind me a bit of the Orange Box menu style. I really like it !
    Could you upload a video of it ?

  9. I would like to see rather dynamic camera on some nice town with fast forward seasons.

    I know it would drastically increase load time of menu but as motivation or presentation how it might look like ...

    From the menu scenario text really feels odd due to lack of proper border πŸ™‚

    Great job anyways, looking forward to release πŸ™‚

  10. a great place to look for a simple yet great main menu would be to look at what valve did for the half life games (excluding #1)

    it was a simple moving backdrop similar to your design before your most recent one, except it had a moving object or two (crows or people) with a few random sound effects from that area to no music what-so-ever, it was quick and simple and most importantly the menu was clean and easy to understand

  11. Is the game profile-based i.e. you create a player profile - or select an existing one - THEN you access existing saved games, if any? If so, in the case where you display the last game, do you display the last saved game in the last active profile - out of (potentially) many other profiles? Also, showing a scenario without life in it - no people, etc - is so-so...
    A fully animated scenario... yeah, that would be good!
    It's easier, however, to point to you one of the worst menus ever created: the desktop-like Unreal Tournament 1 menu is IMO truly awful!
    I also think that it should be possible navigate menus with the keyboard only - the old shareware games are, in this regard, the gold standard.

  12. Hmmm, the horizontal placement of menu items doesn't lend itself well to keyboard navigation - I think people is way more used to the up-down arrow keys, rather than the left-right ones, not to mention tab...

  13. I am pleased the game is progressing and the fact that you too are pleased.Like the updates and i am looking forward to playing the game.I hope it plays as well as it looks.


  14. Nice look to the menu. Although I did like your first menu (the 2D art wasn't so bad, it was a bit stylistic), I didn't care for the first font. The second is much nicer and fits the game concept better, with perhaps a different color (maybe). I think the buttons could use a little better treatment as well. The concept of showing what the user worked on last is a great idea though. It is coming together well. Keep up the good work.

  15. I like the way you think about quickly loading mainscreens, and I believe most gamers are with you on that one. Keep up the good work! πŸ™‚

  16. Keep it up, it looks amazing... Do you have an ETA? [no pressure] πŸ™‚ No, seriously, your work inspires me and I can't wait...

  17. Reading the first few lines I was going to suggest the same thing that you concluded with; a view of what the player was last doing.

    If you were going with a static background then it would just be a screenshot that was taken when the game was last saved, but of course the 3d assets look much better.

  18. Buttons are ugly and look really out of place, but I love the idea of seeing the last place I viewed when I startup the game. Brilliant idea by your friends and good decision to implement it. Theme the buttons with some art, and it will be a solid menu I'd be happy to see. Best of all, none of those pesky 60 seconds of loading just to make it to the menu!

  19. As a graphic designer, I feel, the simpler the menu the better, and love the way you have kept it clean and non-invasive.
    Can't wait for you to start working on the ''Avatars'' if you are considering adding them.
    It will add individual character to everyone's game.
    Still can't wait to get started and love what you have achieved so far, and how you have managed to keep everything you have done withing your unique artistic style and character.

  20. I'd like to see a "continue" button.

    Typically you want to load your most recent saved game - continue button would save you a few clicks.

  21. Dynamic menus are always nice. If done right, also, i like the idea of a "continue" button as suggested before.

  22. I myself would rather see main menu with dynamic background.
    I understand your concern about time needed to load the necessary resources for such menu.

    So let me give you a nice suggestion.
    GO and first load main menu with static image that was taken on last savegame.
    And then after the main menu is already shown start loading necessary assets in bacground (oepning savegame, loading models and textures) and once you are ready you switch from static bacground to animated bacground showing the land from your savegame with dynamic camera.

    Another nice feature of this would be faster loading of last savegame since you already have it partially loaded. But still it won't cause long delays from showing main manu.

  23. Hey Dukus,

    I know you want to do everything by yourself and which i respect that alot, but as an interface designer i couldnt stop myself from making a little suggestion. This visual moodboard : http://cl.ly/image/3r1o1K2e3Q16 might help you to think a different way about the menu. For me the game's UI is a bit more "modern" or "UI-like" than the game itself. Also for the next version i will work on prioritization for the menu and such. Keep tuned!


  24. Agreed the menu button style doesn't really match the style of the game. But that said its simple, does what it needs to, and at the end of the day I think people would much prefer you get this game out there than agonizing over a menu design. Keep up the good work!

  25. Love it.

    I can see by reading some of these comments why it's so hard for a developer to show what they're doing.

    Take solace in knowing I love the updates, and everything you're doing. I trust you completely to do it right.

    πŸ˜€ Can't wait.

  26. I would like to know where the price will be. im hoping for 15-20Euro about 20-26 Usd. But im willingly paying any amount !

  27. I love the menu! The only thing I would add is the option to turn off the dynamic 3D view, because some people might have low performance PCs. Like an option to change it into a screenshot or some default image. Nevertheless I think it is really clever and sleak. Love the thing, thant it changes when a graphic option is changed. Keep it up! Can't wait for the game to be released πŸ™‚

  28. I laughed at waiting two years to get the build scripts in place! Hah! Save me form myself, jenkins!

  29. I haven't known about this project for that long (approx 6 months or some), but it's easily the game I'm longing the most for. Please, please take my money! πŸ˜‰

  30. Now that is an interesting idea for a menu!
    I'm getting more and more exited to get my hands on a playable copy and try it myself.

  31. I know it will be great game man. πŸ™‚

    Just try to keep in mind this. The game itself doesnt have to be perfect when its released ( Dragons flying backward), important is if its reguraly fixed by updates and patches, only throught this can the game become briliant. Thought mistakes and learning from them you can achieve perfection. So dont wait on this game to be whitout mistakes and bugs, there always wil be some and community sure forgive you and will try to help you with them πŸ˜‰

  32. Love the looks of this game simple resource management well not "simple" just no shooting and reflex movement a nice game to sit down with on a chilly, rainy day and have a good time games like this don't come around much anymore KOODOS can't wait to play it hope your done soon

  33. Ok , there is a chance that can i pay for an Alpha release or maybe be Tester?
    Can be Modded ?
    Awesome Work, any release date ?


  34. I am so ready to buy this game, stream it, and do a youtube review, to get more people to buy it. Really looking forward to it.

  35. @LiOn
    I strongly dissagree on your opinion to just ship the game in whatever shape it is.
    Yes it is almost imposible to create a game or application which is without the bugs but this doesn't mean that you can simply forget about fiying athleast known ones.

    Have you ever headed of game Stronghold 3?
    I bet you did. But the thing that you probably don't know is that game sales were terible becouse the game got shipped out so full of bugs that most pepole couldn't even play it.
    How bat it sold speaks the fact that after the Firefly Studios published HD remake of first Stronghold game the remake itself sold more copis in one month than Strongold 3 in 3 months together.

    So if you ask me I would rather wait for a year more and get excelent game rather than get the game today and have tons of problems with it.

  36. @SilverWarior

    Yes. I agree with you about Stronghold 3 it was horrible and that why i had in mind small bugs and mistakes. Those problems that can be found after playing like upwards trees or villagers flying.
    Bugs that wont affect gameplay but are just small details which are more funny than problem. Its sure important thing that bugs in basic gameplay to be eliminated.
    I had in mind bugs which is hard for creator to find and he would spent a lot of time to find them.
    For example IPhone 1 it was not perfect, it has had a lot of problems, but Apple kept on creating new IPhones teaching from past mistakes and now look on IPhones. They are everywhere and Apple made a lot of money on them.
    Ive said that the game dont have to be perfect, not whatever shape it is, but it may sound like that.
    So id like to see this game to be working when it comes out, it dont have to be perfect in every aspect, but with help of players thought rebalancing and highlighting bugs this game could become jewel on which could be creator proud πŸ˜‰

    Have a nice day. ( sorry for my english its not my first language :->

  37. Change the button please. Maybe have a translucent banner stretching across the screen that acts as a background for all of them? Then the individual buttons spread out on the banner with no fill just white text.

  38. @LiOn
    You can't compare Iphone 1 and Banished. Why?
    At the time when Iphone 1 came out Aple has already had pretty good reputation for making good things.
    But Shining Rock Software is prety unknown which means that the quality of its first product is verry important as noone would buy Banished only becouse it comes from Shining Rock Software while lots of pepole would buy new Iphone even if it would have lots of bad rewiews. Why? Just becouse it was made by Aple.

    And if I go back to Stronghold 3
    Do you think that Stronghold 3 would seel even so many copies as it did if it would be made by some other company.
    One of the reason why it sold as many copies as it did is sucsess of its prequels and good reputation of Firefly Studios in general.

  39. Nice game you're working on.
    I'm realy looking forward to buy and play it.
    The only thing bout this kind of games is, that when i start the existing town , i forgot where i was. So a place where u can make notes would be good.
    i have patience to play the game, but rather now then later. πŸ™‚

  40. You should make a kick starter to make some cash to help build he game and love the game

  41. Hi,

    I do not mean to offend you but honestly, you should really consider getting an artist on board to help with the UI design! Sorry but your UI is just looking terribly boring! And besides that an artist could help with other graphics as well.

    One more advise, the whole game could by my mind use some more color! As of now it looks a bit depressing.

    Kind regards

  42. The games not about fancy colors and tons of crazy graphics. Its about the gamepure and simple. Getting back to our roots of civilization/city building style and he is doing quite well. I can't wait to play hopefully hes done soon, before September the 8th would be great get it by my bday, or on my bday..... wishful thinking lol

More Posts

Code Rot

April 17, 2022
1 2 3 47
Back to devlog
Back to devlog
Β© Copyright 2021 Shining Rock Software
Website Design & Branding by Carrboro Creative
menu-circlecross-circle linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram