Whether you are developing a website, a windows application, a windows phone application, or a game, there are certain universal truths to application development. Friday evening, I attended the Algonquin college game expo where graduates of the Game Development program showcased their final projects. Teams of students each developed games for the Xbox 360. The team members brought their graphical design and programming skills together to bring their game visions to life. I had some great conversations with them about the challenges they faced during development. It was interesting to discover how the lessons they learned are the same lessons I have seen others learn the hard way in the “real world.”

I couldn’t resist throwing together a My 5 featuring some very sound advice from the graduates of the Game Development program.

My 5 (or I guess I should call it Their 5) in no particular order

What I would do differently if I had to rebuild my application from scratch

  1. Make the code as extendable and reusable as possible.
  2. Get the core functionality working before you start developing the little details, otherwise you have to keep changing the little details over and over as you develop the core functionality.
  3. If you are going to rely on someone else’s code for functionality, identify requirements before you make a final decision, and make sure your chosen product supports those requirements.
  4. Never give up on your original vision. You will encounter problems and make compromises, but always keep the original vision in mind and strive to achieve it!
  5. Think about and design the overall user experience, not just the graphics and screen design. Is your application intuitive? Will users be able to use if effectively? This last point is one I think many of us miss, sure we talk about designing screens, but that is only part of the user experience. There is a very interesting book by Bill Buxton called Sketching User Experiences that will challenge the way you think about design.

I wonder if next year's students will be using the Kinect SDK! If you are interested in creating games, check out the App hub to access resources to develop for Xbox 360 or Windows Phone. The Go DevMental blog has some great tips too!