Tuesday 23 April 2013

Main Menus: An Overlooked Essential

Why are Main Menu's so Important?
My Thoughts: When thinking of creating a game, creating the main menu is certainly something that you'd often let slip away of leave for the very last second. I feel that this method is flawed in many ways, why? because the main menu is one of the 'only' features in the game that they are indefinitely going to see every single the player plays your game. 

If you as an artist designed a side character and spent weeks modeling and texturing it so that it is highly polished, yet that character is inside an RPG or MMO, how often is that character going to be seen? chances are, that it is not going to be seen very often. The main menu on the other hand is seen every single time that player signs into his game or connects online. To leave something that is that often seen to be a last priority, I beg to differ that being a smart choice.

Experimenting with EZ GUI for Unity3D

Throughout today, to try and get the most out of the menus of my game, I followed through the bellow tutorial on EZGUI which is a Unity plugin that I downloaded to try out and experiment with as I had read some really good reviews on how it speeds system performance and keeps your whole interface in one scene as opposed to several and makes Menus 'EZ'.


Introduction to Unity and EZ GUI 1/5 from Johan S on Vimeo.

I followed all 5 sections of the video which took quite a few hours to comprehend and setting up EZ gui was not the simple and 'EZ' dream I had hoped it to be.

Using the software turned out to be fairly straight forward in understanding although the way of actually implementing it was a multiple step method which was a hassle to remember. You basically have to set up different objects with different backgrounds and EZ gui will  automatically pull and push those backgrounds with buttons on them to the front show the interface you would like to see, so it just swapped backgrounds so that all the interfaces can be on one spot which is great.

 Here was me trying it out and moving the backgrounds back and forth.

I started to create the buttons and assign the correct properties for them to launch new levels. You can also mess around with effects such as fade in or fade out or to make the button bounce or scale bigger or smaller when you press them which is great.

 Although at the end of my experience with using EZ GUI I realized that it really was a bit unnecessarily complex for my needs and decided it would be far 'easier' (ironically) and quicker to just stick to Unity GUI textures and coding button down functions with scene changes instead.


Sticking with Unity GUI Textures and Text

So in the end, I opted for a more simple method of using very clean and straight forward text with a minimal background to present my game. I played around with a really minimal background and a new type of font and by serendipity, I felt it really worked well and presented adequately the effect I was going for within my game. You can see an example bellow of the more final stages of my menu development. 

 Mega Button JavaScript Code: After searching the Unity Wiki and watching several youtube video tutorials on GUI, I managed to compile a master code which I used for every button feature of my game.













Button Normal: This is the interface of the script, as you can see there is a Normal, Hover and Pressed Texture, as well as Sound hover and Beep (which you add your own sounds to), then a message function which I did not need to use, then at the bottom is the Scene Name and Index which is where pressing the button will take you to a different scene. This button was incredibly helpful.

Button Normal: The GUI texture of the button when it is normal.

Button Hover: The GUI texture of the button when it is hovered over, the sound hover audio file also plays here.

Button Pressed: The GUI texture of the button when it is pressed down, the sound bleep audio file is also played here and the game takes you to your specified next scene.

Main Menu: This is what I ended up with in the end, Pros: it is simple and clean as well as focuses on it's purpose. Very functional yet also sophisticated. Cons: could possibly do with more features or some effects in the background, or even images of the game with the character.  

No comments:

Post a Comment