At the start of the most recent trimester, I was tasked with creating a game for an assignment. The game was to create a simple 3D physics game. The game needed to have multiple levels and be in a 3D game world. the player had to have multiple states that they would transition through as the game progressed (slippery, big, small, sticky, etc). The player object had to be controlled by the physics engine. the game also needed collectibles, sound effects, music and player hazards such as a spike pit or falling rocks.
What Went Well!
I was able to create a functioning main menu that navigated the player to the game screen. With the knowledge gained from previous projects I was able to craft a functional, okay looking menu system. I would have liked to create my own assets for the menu buttons but due to lack of time and knowledge, I was unable to do so. I would like to improve on this in the future through further research and practice.
The player was able to control the wheel with the physics engine. The player was able to move from side to side and was also allowed to jump from ledge to ledge. This was the main game mechanics for my game.
The textures on the ball worked as intended. I grabbed assets from the unity store, used their object and was able to work it how I intended. I would like to be able to do things like this in future projects and would like to further practice gathering unity assets from others and implementing them for my own use.
The background was a success. By using a sky box I was able to achieve the desired affect for the back drop of the game. the Main Menu shows the ball on a platform with the sky box behind it and a particle system underneath it. The Game Screen only has the sky box behind it but nothing more was expected.
What Went Wrong!
My time management skills were very poor thought the duration of this assignment and thus, I had many short comings because of it. I was also suffering from personal health problems at the time which caused me to fall behind in many places. Things that were left unfinished or unattempted because of these 2 factors are as follows:
- The Menu System: The menu was working to the stage that the player could navigate themselves to the game screen but as soon as the left the initial Main Menu, they were unable to return unless they started the game again. This could have been solved easily with the use of a “Main Menu” button on the other pages but because of my lack of time management skills, I failed to include this feature.
- The Options Page: The options page was left bare and untouched. This came down to not having enough time and also not knowing where to start as I have never had a game with variable options before. I would like to look further into changing game options as it should come in handy in future projects.
- The Controls Page: The controls page was also left untouched. Not from lack of knowledge. I would have liked to have controls that could be set by the player but being unsure how to proceed, I did not look any further into it.
- The Jump function: The player didn’t have a limit on how many times they could jump. If the player was to continue hitting “Space Bar” they would continue to fly into the air. I had attempted many times to get this to work but with no success. Fixing this would be on top of my list as this mechanic would be crucial in many other games and I would like to understand how to create such a function.
- No Win or Loose Condition: The player couldn’t win or loose the game no matter what. The player would have to close the game completely to leave the game. This could have been fixed with Trigger Colliders at the end of the level for the win and underneath the platforms for the loose.
- There were no Collectibles, Sound effects, Music or Player Hazards: Not due to lack of knowledge. These could have been added quite easily with some simple code. I would like to add these in later and mess around to try and get a different player experience.
- Only One State: The player object was only ever one state. It never changed. I had many ideas such as creating a sticky surface to help traverse certain areas or a slippery surface to make it harder for the player to line up a jump. Also due to a lack of knowledge of the editor software.
In The End!
The game was left in a rather unfinished state undoubtedly due to my lack of time management skills, smaller understanding of the C# language and the Unity editor. With future projects I would like to priorities the creation of a scheduled to help me keep on track with everything that has to be done. Setting due dates for myself for certain parts of the project would help greatly. Further study of the editor and the C# language will be required as well so I can better use my time when I am required to put myself to work.
Benjamin Jeffrey Houghton