Thursday, January 1, 2015

Retrospective VI

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

2014 Achievements
  • Focus on cross platform mobile development; specifically Unity 3D
  • Integrate native plugins with Unity 3D using C++, Obj-C and Java
  • Administration of iOS apps includes certificates / devices / profiles
  • Complete SDLC using Jenkins for automated builds + deployments
  • Successful 3rd party integration of In App Purchases into software
  • Collaborate on F2P 3D MMO release to App Store and Google Play!
  • Explore additional engines / tech. like Unreal Engine and Cocos 2D
  • Retro game development extends C / Z80 integration using z88dk
Note: retro game development using C / Z80 with limited documentation is an achievement!

2015 Objectives
  • Continued focus on cross platform development with an interesting mix of technologies
  • Further 8-bit retro game development exploration with graphics, music + sound effects

2014 was described as the year that unlocked the game engine. New subscription models for two of the most powerful engines on the market: Unity 3D + Unreal Engine "tore down the walls" of development.

Increased competition has been a key driver in lowering the price of game engines and barriers to entry as smaller independent game studios are able to produce higher quality games with far lower budgets.

Celtic Heroes is a great example of this: the Free-to-Play 3D MMO fully leverages Unity 3D game engine. Sourced from single code base but targets cross-platform mobile available on App Store and Google Play.

In my experience, using an existing game engine like Unity 3D does provide interesting development opportunities: C# scripted game objects, C++ native plugins, Obj-C and Java for device specific code.

However, the downside appears that the game can become tightly coupled to the engine itself: it can prove difficult to write common / library code in isolation because of the lack of a main() entry point.

Despite diminishing costs, developers may feel less in control and choose to write everything anyway!

Outside commercial game development, homebrew projects continue to be very dominant underground.
Many developers like to explore ideas for 8-bit video games. For me, it's the Sega Master System (SMS).

Writing game code on 8-bit hardware is very challenging as the memory + storage is extremely limited; Algorithms must be written efficiently. Plus it is expensive to patch buggy code thus quality is improved.

These concepts attract well disciplined programmers + are very relevant in today's mobile environment.

It will interesting to see if developers continue to rely on game engines like Unity 3D and Unreal Engine. Especially in the mobile space. Sure, it reduces costs but many developers always like to build their own.

Finally, a key driver in maintaining engine popularity may be the community that supports the technology. This was apparent for XNA which attracted a rich + vibrant community excited about game development.

Homebrew communities like SMS Power are active since 1997 for Sega 8-bit preservation and fanaticism; Hopefully there won't ever be XNA is Dead equivalent as the technology is already considered obsolete J