Children of War


Summary:

Children of War is a stealth based adventure game designed for the Windows Phone Game and published by Panther Games. It was developed as part of the Microsoft Imaginecup competition and took fourth place in the 2012 competition in its division. The game is designed to raise awareness about the plight of child soldiers.

 

Developers:

  • Producer/Design – Chris Boyd
  • Programming – Matthew Shaffer
  • Programming – Matthew Loesby
  • Artwork – Andrew Minarik

 

Quick Notes:

  • Created in C# using the XNA framework
  • Stealth based puzzle game
  • Designed for Microsoft Imaginecup and took fourth place
  • I was one of 2 programmers and, being the most senior programmer, did the majority of coding and review

 

Download Link:

  • A deployable XAP file of the game:

 

Involvement:

I was involved in this project as one of two programmers. The game was build from scratch using the XNA framework and the C# language. Matthew Loesby and I designed and programmed our engine include AI, pathing, user settings, collision detection, and game logic. My primary role was in game logic and flow, programming user settings, working with sound, creating collision avoidance, programming the UI, and miscellaneous coding on other areas where needed. Of the two programmers, I was the most experienced and completed more aspects of the game overall, as well as being responsible for ensuring good coding practices, like heavily commenting code and making clean APIs, that otherwise might be forgotten. I was also involved in the design process of the game and made several suggestions during the game development process for things such as pick-ups, and visual indicator to help clarify the game’s goals and mechanics.

 

Personal Growth:

This was a major team game development project for me. Most of my programming is done alone and in my own time. A team project has different dynamics and involves more communications and accountability to others. No major game is developed alone, and I appreciated the opportunity to work on a team and work on my group development skills. I really enjoyed the opportunity to collaborate and brainstorm, something not really possible alone. I also found the effect of being accountable to other group members helped everyone, to ensure things got done on time. It was also nice to have an artist working with me for once, since I’m not very good at artwork and having something that looks a bit better then an MSPaint stick figure in a game always makes you proud to say you worked on developing it. This was the closest that I have gotten to a professional environment and development style since we worked to a series of requirements, we did production within a time frame, we worked out an original idea from scratch to final product, and we produced a simple but complete game.

 

 

Code Samples:

The main update loop: Uses states to control logic. SelectShow
COWLevelInfo/COWLevel: COWLevelInfo is a base data holder for level information and COWLevel is a complete and functional level that handles all its own logic and runs the level SelectShow
COWLevelIO: The level reader and writer for the game SelectShow
COWPerson and COWEnemy: The base class for Child and enemy characters as well as the base class for enemies SelectShow