Friday, January 1, 2016

Retrospective VII

Last year, I conducted a simple retrospective for 2014. Therefore, here is a retrospective for 2015.

2015 Achievements
  • Consolidate numerous "XNA" ideas from this blog into single game project
  • Write C# / XNA game code linked to multiple MonoGame / Xamarin clients
  • Use 2D Independent Rendering to target a multitude of screen resolutions
  • Employ better Indie dev. source control systems + continuous integration
  • Commit to Retro Games: more active on social media Facebook + Twitter
  • Salvage ITIN acquired from "XNA and TAX" required for mobile publishing
  • Write WiX / XNA Installer seamlessly download + install PC game version
  • Self-publish Retro Candy Kid mobile platforms: iOS, Android, Kindle + PC
Note: complete game project in C# / XNA published on non-XBLIG platforms is an achievement!

2016 Objectives
  • Expand XNA / MonoGame topics to include localization, custom shaders
  • Apply similar XNA / MonoGame techniques to transition XNA / Unity3D
  • Research additional Indie portals to publish including Steam Greenlight
  • Publish more source code. Checkout sources other than CodePlex (Git)

In 2015, StevePro Studios consolidated many ideas from this Indie game development blog to produce game project to be self-published on PC (outside XBLIG) but also on mobile platforms: iOS and Android.

The game project "Retro Candy Kid" was inspired by the original 8-bit title Candy Kid: a "type-in" video game published by New Zealand's Sega Computer Magazine in the September 1984 issue, pages 17-18.

"Retro Candy Kid" was re-written in C#/XNA 4.0 and employed many techniques discussed in this blog:
 Agile Software Development  Data Driven Design
 Dependency Injection  System Testing
 IoC Container (Ninject)  Level Validation
 Unit Testing  
 Test Driven Development  

However, now that XNA is "dead", this was also an opportunity to transition away from XNA 4.0 to other options e.g. MonoGame and use Xamarin for iOS / Android port. TODO: future project may use Unity3D.

Quality vs. Velocity
Finally, by leveraging techniques (above), 95% of all game code was written in an external library that was unit tested in isolation plus integration done via system testing with minimal client UI intervention.

This development style facilitates high level of code quality written extremely fast to get the best of both worlds: Game finished in short timeframe with low (zero) bug count: critical for Indie game development!

Summary
To summarize, "Retro Candy Kid" proved successful game project because of all points outlined above.
As such, this type of game project is perfect candidate for 8-bit console port e.g. Sega Master System!