Team YAG

Yet Another Game

TeamYAG Postmortem

Posted on August 17, 2015  in Game Design

Introduction

Our team entered the GameDev.Net Week of Awesome III this year and had 7 days to create a concept and make a game.  This turned out to be a great week and a lot of fun.  Our families were great for this week and very supportive.  I know many times they asked what they could do to help which was really endearing.

What went right:

  1. Our team early on adopted the Unity3D game engine for our preferred software to develop the game.  Unity3D gave us a lot of power and tools to focus on making a game instead of working on mundane code and with a week this gave us the tools we needed to focus on game development and not game programming.
  2. Multi-Player from the outset was a major feature we wanted to have in our game.  Weeks before the completion we started to learn how the networking components of Unity work so that when it came to the competition we would be prepared to work on this design.
  3. The competition theme aligned with a half idea I had been working on for weeks before the competition started.  Granted we really didn’t discuss a lot about the design before the competition because we didn’t want to violate the rules so I never wrote down any of the ideas just kind of kept with the theme.  When we read the theme “Death is useful” it immediately fit with Orcs Vs Zombies.  The first couple of hours we discussed some ideas and formulated a decent game concept that throughout the week we kept to the idea and in the end produced a game based on this concept.
  4. Our menu system was started from day one so everything was built off the buttons and GUI scaffolding we built.  Amazing one of our team members wives stepped in and created some nice looking screens for us and revamped the boring buttons to make them look a lot more fun.
  5. The sound engine in Unity is quite amazing!  It provided just about anything a sound artist could want to generate environmental sounds.  It would have been nice if we could have spent a little more time in the sound system adding in triggers and other map features.

What went wrong:

  1. The version of Unity3D we selected.  We used version 5.1.2f which only one developer had the professional license.  Even though we used this as a pro to the project it was also a minus because only one developer could do the full build.
  2. Networking was a pain and we spent many days working on getting it up and working.  In the end we had a good working code base but we spent a lot of development time on the code when we could have done more on the level and game development side.
  3. Not having a modeler was very painful because our concept art couldn’t be turned into game assets.  Our animator drew up some amazing concept artwork but turning those into game models ultimately failed.  At no fault of our animator!  In the end we had to purchase a few models so we could have something besides block and cylinders in the game.
  4. As part of our design process we had been working on our tutorial world and got it to the point where it was being used to test our network scripts.  This turned into a nightmare when we started to try and program the tutorial into the level.  We weren’t able to connect to the player or parts of the game that would require communication between the player and game to get events to drive our tutorial.  In the end we had to rebuild all our prefabs and scripts for the tutorial level.  Now if we make a script change in the network it will have to be mirrored with the tutorial level.  In the end we had to settle with a couple of events and then let the rest of the tutorial run on a timer.
  5. The repository we chose is very powerful but it was also a lot more complex than our team members were used to using.  The idea you had to check out a file then check it in was hard to manage because most of the team was used to using SVN.  Our animator wasn’t able to share with us his assets because he could add files to the repository.  In the end it came down to an issue where he didn’t select the workspace properly.  Something this simple caused us several days of headaches.

Conclusion

We finished a game in 7 days!  Our game is playable, networkable, and has some aesthetics.  We could use some time to polish and play test the game but in a week this is hard to fit in.  Our team worked hard on this game for a week and it may only be a prototype it still is a very valid and playable game.  For a prototype this is a decent game that could very well be a good long term project to work on and build into a larger and more powerful game system.

If you ever have a chance to make a game with friend’s we highly recommend it because the experience is well worth the effort.