Thursday, 25 May 2017

Evaluation

I think this unit went well from my perspective I was happy with how my menu came out the aesthetic was exactly what I was going for and I think it looked nice, even the hidden functionality was fun with the shoot able objects hidden around my level. I also believe I achieved my goal of creating a 3D Menu without using widgets, but now I have completed it and looked back on my work I wasn’t happy with the amount of functionality in my level I know it was decision I made since I wanted it minimalistic but it would have been nice to have multiple options to change which I couldn’t fit on my options screen with my resolution options due to my 3D approach. So I believe my 3D idea was good and I did achieve it but in the future I would use widgets since they are faster and more precise, so I believe the 3D held me back from creating the best menu I could.

Hidden functionality

For my level I needed to add hidden functionality in my game in the form of intractable objects much like hearthstones environments in which there is multiple things to press in the background this helps with the HCI since it gives the player things to do in the menu and allows increased feedback.

To begin with my hidden functionality I used and object I made for one of my previous units which was a spit with a piece of meat on it this is in my level next to a campfire so I decided this would be a good place for my character select screen so I placed my character in with a simple animation on him so he wasn’t a static still mesh, from here I added an animation in the level in the form of a matinee using the meat on the spit and I made it spin from here created a click event so when the meat is pressed it plays the matinee in my level.

I looked at this and thought I can’t only do this it isn’t good enough and I came up with the idea to place glass bottle around my level and use a radial impulse to fire them off things, so I modeled a bottle and then imported and placed them around my level in unique places to look for while in the menu.  I realized that I could take this to another level by disabling this until the player finds a gun in the level which I hid in the options menu from here it allows the radial impulse to be fired off so it gives the player the impression of equipping a gun in the menu without actually doing it.


Character customization          
                                                                       
Another thing which was optional but would have been good was a character customization screen, this was a part of tutorial again but one in which I decided not to add once I finished it, I did this because with my menu being 3D and minimalist it seemed to take over the screen whatever I did with it since the rest of my menu was subtly placed and I just didn’t believed it fit the aesthetic I was going for and seemed messy I decided to leave this from my menu, but I still have the knowledge for when I want to add this to another menu in the future.

Full Loop

I realised I needed to finish the loop of my menu heading into the game and then the game finishing and returning into my level and then I could keep going indefinitely, to do this would be a problem since in my last unit I had trouble getting my character to damage my boss and I don’t have time to concentrate on coming up with a fix for that so I simply added in a trigger box before the boss so instead of activating the boss I programmed it to delete the character and transition to the main menu this simulates my loop and allows the game to be played again and again.

Menu Functionality

I had to create some kind of function for my menu to have that is seen in professional games, since my theme slash goal was simplicity like indie type game I thought just one option would be a good choice, so I decided on resolution change which has become a very standard thing to have in most games especially for PC since it accommodates for everybody’s machine to run the game thus boosting sales and not alienating anyone from the consumer lists.

To do this I simply followed the same step I took with my main menu and simply made new static meshes for the resolution option for example 1920x1080 as one of the choices. Once this was set up to the same fashion as my main menu I had to add in the functionality of the buttons changing the resolution I believed that this would be a complicated process but upon further research I discovered it was a simple node saying execute console command, and from this node I typed in r.setres followed by the number corresponding to the right resolution this initiates the console command to change resolution. This worked perfectly I just had to load the level in a windowed mode so you could see the changes in the editor.



I used the same technique for the Quit button on my main menu when pressed it initiated a execute console command node with the word quit typed in, this set up my main to be almost fully functional the last thing I needed to do was a full loop.

Setting up for the Menu

To begin with our level we had to follow a tutorial on how to set up level loading and streaming while changing cameras with transitions, these were all key parts in making the menu function in believable and professional way. This is done by creating a separate level in the game and moving the assets into the new level and not the persistent level since anything in the persistent level will be loaded always and can cause the game to slow if multiple levels worth of assets are being loaded in and we want our game to be as optimized as possible so we don’t have and slow fps or problems in the future. We then simply added in some code in the level blueprints along with a starting widget to select levels. This will be the only widget I use since I’m trying to create a fully 3D menu but this was required in order to select level streaming.


Main Menu

Usually this would be the part where I would go into Photoshop and start designing my buttons but since my design decision was to try making my menu without the use of widgets or with as little as possible I had to go into Maya to create my buttons. While in Maya I used the text tool; which allows you to create custom 3d text with bevels and whole other array of customization options once I played with this tool for a while and knew how to create my text I went searching for my font I wanted to use and I decided to go with the one in the example below.

From here it was simply importing the meshes of the texts I would use for my menu into Unreal, something which I’ve done dozens of times. Once this was done I placed a camera in my world where I wanted the main menu to be placed, I chose a high up view of my level to give an over view of the playable area. This gave me a very nice backdrop for my menu to make the aesthetic really pop.


I created the effect of hovering over my buttons and then transitioning by adding in 2 of the same word mesh but one with a emissive glow on and when i used the level blueprint to switch the visibility between these 2 when the mouse hovers over this gives the impression of something which can be easily done in widgets but this was a work around I came up with to fit my 3D menu.



Pre production

After my research I came to the idea to try and do something no ever really seen in games and my idea was to make my menu 3D and I know 3D menus have been done before but they are actually 2D just designed to make it look 3D. My idea is to Use meshes as my menu and try to use the widget blueprint as little as possible. The reason I made this decision was because i knew I could do the widget blueprints easy enough whereas trying to create something new and interesting appealed to me so much more.

With this in mind I made my flow chart as you can see below basically plotting out how the menu interacts with the player and itself, this is pretty standard as far as menus go since I believe you don’t need to be too fancy when it comes to the menu it just need to please the player both visually and in terms of feedback.



Whereas my wire frames are a little less planned out since I’m making my menu 3D I’ll play around with positions more rather than setting them in stone because they can be rotated and have different depths in game so this basically just pinpoints where stuff will be placed initially and then customized depending on whether I believe the visual needs changing.

Research

Before my planning step I began to research different ways games have created functional menus and HUD elements as well as look at HCI in general, I was mainly searching for games like platformers or more cartoony styled games since my games theme and aesthetic is similar to these genres. I found a few designs I did like and would like to try incorporate but one of the key elements I found that I thought would complement my game would be simplicity. I didn’t want overly complicated menus with lots of text that would decrease the player’s enjoyment while interacting with it before they even get into the game so this is going to be the theme I will stick with for the remainder of the unit.


Once I had decided on a simplistic theme I had look at what games generally use this same mentality, and one that repeatedly came up was indie games which I then went onto research and this lead to some interesting results in terms of aesthetics I think would work in my game but none quite hit the mark but I would use some as a base like;

Cluster Truck

This game uses its own in game world as the background and has very thin stylized text which doesn’t stick out too much and I thought fitted with my design choice of simplistic, the main thing I would take from this would be the background the design once I seen it I knew it would be effective to do on my level because of its colorful and stylized nature.


Limbo/Inside


Both of these games use very little to almost no menu while still being a functional game and I know that it seems counter intuitive to look at these kind of games for design choices and inspiration but the fact that have barely anything yet are so popular and loved interested me as concept, these both use the theme I’m going for which is simplistic but maybe a little too much for this unit since I need make sure I have extra functionality for the purpose of showing I can create it. But still I would like to try incorporating the use of simple colors and also try not over populating the screen and make it messy, this is something I would like to use in my own menu.



Introduction

Introduction

This unit is all focus around HCI (human Computer Interface) this will cover things like Game HUDs and Menu Systems as well as creating a looped system in which your game can be finished and restarted. Our task is to create all these and have those functioning inside the level we have been working on all year to try and get our game increasingly finalized.


Once I found out the task we had to do I went online to research some designs I’d like to use and also from games id like before I start my planning process