Role: Game developer
Duration: 2 months
Tools: Unity, Visual Studio Code, and Adobe Mixamo
Skills: #C, debugging, and problem solving

Overview

In my senior year, I took a Game Design class where I created a 3D adventure game called "Escape The Dungeon." Players need to collect four silver keys before time runs out. I learned how to use Unity and C# for this project.

Though I'm not a hardcore gamer, I enjoy playing simple games like Minecraft and Roblox. I chose the class out of curiosity for other aspects of technology, and the inclusion of animation in the course description further solidified my decision. I'm happy I took the class because it opened my eyes to game making and allowed me to explore my creativity while designing my game.

Wireframe and Map

Before building my game, I made wireframes and a map. It helped me figure out what sound effects and objects to include and allowed me to brainstorm my game idea.

Floors and Walls

  1. I started by laying down the terrain and creating a first-person player.
  2. Next, I used tiles from a dungeon package I got from the asset store and positioned them above the terrain using the rotate and transform tools.
  3. Once the floor was in place, I added walls and pillars from my prefabs assets folder. This part was a bit more tedious because I had to resize the walls using the same transform tools.

Objects and a Roof

Once the walls were up, I began decorating my dungeon using various objects from the dungeon prefabs folder. I used tools like move, rotate, hand, scale, and rect to position them. It was enjoyable to add cool stuff like skulls and potions.

With all the objects in place, I decided to add a roof. To do this, I copied and pasted the floor, then moved it upward to create the roof effect.

Lighting

After setting up the objects and roof, I added a dark sky package to create a dim atmosphere in my dungeon.

To make the lamps illuminate their surroundings, I added point lights to them. I achieved this by clicking on GameObject, selecting Light, and then choosing Point Light. Using the move tool, I placed the lights on top of the lamps.

Code

To make my objects clickable, I added scripts to my silver keys. I made a script called MouseClick, which made the keys light up blue and play a ding sound whenever players clicked on them. I also created a ScoreBoard script to display a timer and score on the top left of the screen.

While coding these scripts, I learned more about void methods and variables. It was fun, but challenging, as I encountered many errors, like missing semicolons or misspelled words. Fixing these errors improved my debugging skills and patience tremendously.

Bonus

During my spare time, I decided to add a new feature to my game. I watched YouTube tutorials on animating characters in Unity and followed one to animate my own character. It was a bit complex, but I managed to do it successfully. I used the Y bot character from Adobe Mixamo and Unity's animator feature. By importing packages from the Y bot, I added an idle animation in the animator tab. I connected the entry box to the idle box and tested my game with the animation.

Takeaways + Demo

Working with Unity was an incredible experience! It allowed me to delve deeper into the world of game design, which only fueled my passion for technology and art. I discovered a newfound love and excitement for 3d design and bringing them to life through interactive gameplay. The combination of technology and artistic expression in game development has truly captured my imagination, and I can't wait to continue exploring this creative journey.

Zombie & Brain