Release 0.5

Synekism 0.5 is the current push for improvements Synekism is going though. The first version, v0.5.0, was released on September 1, 2012 with the next iteration expected on January 1, 2013. Here I outline some of the goals of 0.5 and progress on each.

You can comment on this and the remarks below at: https://groups.google.com/d/topic/synekism/MyHLTAP9fqs

Motivation
During the 0.5 era and afterwards, Synekism will begin a transition from the traditional city simulator formula to something very different. I, by no means, imply it will be a better formula, just that it will be different. The main theme driving this transition will be marco-management. As a result, releases will get a little more hectic, the game might get more unstable, and development will be take significantly more time, say 5-10 years. The current commitment is to regular monthly progress updates and public builds released every 4 months but this might be pushed to 8 months if not ready.

Something else worth mentioning, although not explicitly part of this push, is the migration to a platform agnostic implementation, in other words, adding support for non-Windows operating systems.

Stability
Synekism has only barely been holding together as it contains code written at vastly different skill levels. I need to fix this before I move forward. Improvements in general stability will make Synekism more robust and better performing.

To achieve greater stability Synekism is slowly being rewritten from the low-level code up, one module at a time, with scaling and abstraction in mind. For example, to get a quick prototype going, Synekism used much of Microsoft's DirectX library all graphics and 3D related code, such as 3D vector math. This was not platform agnostic and negatively affected the code's flexibility. As such, much of this reliance has been eliminated by implementing in-house equivalent solutions.

Another aspect that falls under this category is general consolidation and focus. For example, I've experimented in the past with features that did not add to the main gameplay such as multiplayer and raytraced screenshots. Since work is taking forever already, there was no bandwidth to cover extra non-crucial features. So multiplayer and raytraced screenshots have now been removed entirely from the code. I will revisit them sometime later in the future.

Economic Reforms
The first 0.5 release already contains some of the changes to Synekism's new economic model. More details can be found here: Synekism Economy.

New Graphics Engine
The bulk of the work in 0.5 will go towards writing Synekism's own graphics engine, from scratch. Although re-inventing the wheel is not usually considered wise, especially such a complex wheel, the decision has already been made.

The main objective here is to simply abstract all the graphics related code from the rest of the code. By doing this, it will become exponentially easier to add new visual elements to the game that are either driven by or control gameplay elements. Furthermore, purely graphical features such as shadows, ambient occlusion, depth of field, and other capabilities that one might expect from a modern game engine will also be easier to add later on. Any such update would be contained within the shared engine code instead of having to be duplicated for each game component (ie. buildings, lots, roads).

The new engine is also being written to allow for easy replacement of the underlying graphics API (ie. DirectX or OpengGL). Among other benefits, this will allow for the eventual porting to Linux and Mac OSX.