October 2020 Update

October 1, 2020 at 11:29 am

The month started with the tail end of a long vacation so progress was good. After going back to work, I've had some more trouble finding time.

That said, what I did manage to do was to overhaul the way I abstract multiple backends for a subsystem (ie. directx, vulkan, metal, backends for the graphics system). I also now have a satisfactory application flow pattern I can built on top of in a modular way. The rest of the time was spent on growing my graphics backend out of the tutorial code stage and into something I can use to build content on, starting with the UI system.

September 2020 Update - 10 Years

September 1, 2020 at 11:39 am

It's been 10 years since the first release of Synekism: September 1st, 2010. The original Synekism was made by three of us in one short summer with zero clue on how to build anything. And it worked, somehow. For a short while after, updates were consistent. At some point, I even added multiplayer support (never really released this).

I wish I can say how far Synekism has come since 2010, but I can't really claim that. In fact, the current build of Synekism is a few triangles spinning on a black background. There's no UI, no gameplay, no camera controls, no world. I can say that "life got in the way" but it's not really that. What happened was that I learned a lot about game engines and general coding hygiene. This has made me question earlier decisions and led to what is now the third complete rewrite of my completely custom special-snowflake game engine.

If you look up the Wikipedia page on "Anti Pattern", I still suffer from the top three Organizational anti-patterns: analysis paralysis, bicycle shedding, and bleeding edge(ness?). I have a bunch of high-level industry-wide game engine patterns I learned over the years and I can't help but try and mash them all into my tiny little engine.

With that lovely retrospective out of the way, let's look at the future. I've tried to avoid setting goals publicly since about the first complete rewrite. But today is different. I'm setting myself a hard goal. As mentioned in my last update, I will be focusing on a simpler RTS-style multiplayer game for the next little while. The point being that I get to mature the core engine while working on a real product. So on this game, I'm giving myself until September 1st, 2021 to complete it and publicly release it on Steam.

To be clear, Synekism is still the long term plan. Most of the work on this new project will benefit Synekism as all core engine code will be shared between the two games.

Well, there it is. I haven't decided how much and when I'll share more on this new game but will do so over the next few updates. With this deadline, I hope to (better have) a playable build by the end of 2020.

For the 4 of you still reading these, thank you for sticking around! I'll get there eventually. :)

August 2020 Update - New Game Plan

August 1, 2020 at 12:43 pm

Fairly productive month. Added another backend to my graphics layer using an open source library that supports several graphics APIs (ie. DX9, DX11, OpenGL, etc.). My graphics layer was already designed to have multiple backends I can switch to at runtime. The idea being that if there's any errors with one backend (say, bad driver), the player can switch to another backend that hopefully works better. That said, in the process of adding this new backend I realized I need to formalize my "backend APIs" going forward which will be another distraction but hopefully a short one.

In other news, we're coming up to the 10 year anniversary of Synekism's first public release: September 1st, 2010. I was hoping last year I would have something to release by now but despite a good uptick in my productivity, I'm still far from anything function. In light of this, after some reflection, I decided to change plans a bit and work towards a simpler RTS-style game before Synekism. It would still use the same engine that Synekism will use and will hopefully allow me to make all the mistakes before starting on Synekism. It should also be a bit more rewarding as I plan to use my friends to battle test it (and in the process battle test my custom snowflake engine). I do plan to release this RTS publicly as well and go through that process so I'm better prepared when Synekism comes along.

Until next month! Hopefully I'll have some sort of announcement by then, even if it's not a release of any sort.

July 2020 Update

July 1, 2020 at 10:06 am

Good month. Cleaned up the websites finally. Took offline the Synekism wiki as it was very stale and just taking up digital real estate. Updated the Synekism website to PHP 7.2, gasp. It was weird to work on the website again. Very old code.

As for Synekism itself, spent yet more time on general code health. Got Windows Subsystem for Linux up and running to avoid constantly breaking Linux and Mac. Started the CI story. And continued refining the Vulkan engine code.

This week I have off so I expect to get more done for the next update.

And for those in Canada, Happy Canada Day!

June 2020 Update

June 1, 2020 at 9:20 am

I spent a little too much time last month on infrastructure (mostly my package manager) and this software-based Vulkan renderer. I did manage to get Synekism now drawing triangles on Mac, using Vulkan via MoltenVK. But it does mean the game itself did not progress very much.

Hopefully this next month I'll get clear of this background work and start pushing the game further.

May 2020 Update

May 1, 2020 at 4:06 pm

Good progress this month. Not like I can travel anyway.

I made more progress on my Vulkan renderer by adding the 3rd dimension, texture support, and non-hard-coded vertex buffers generated by game code. I also found a sweet way to fall back to software rendering in cases where the GPU is not...capable, like in a virtual machine.

I also improved more of the testing and low-level library code in Synekism, like the logging and settings systems.

Cheers. Stay safe.

April 2020 Update - First Triangle First Pandemic

April 1, 2020 at 8:13 am

Crazy month for all of us, I guess. I'm one of the lucky ones that can work from home without much difficulty but it's still been a surreal experience.

Some good news on Synekism at least. I finally have my first freaking triangle on screen! I completed enough painful (but oddly satisfying) Vulkan boilerplating to see something. It's still very early but a good moral boost. One upside to having to spend all my time at home is a definite increase in my time spent on Synekism.

Keep safe, everyone.

March 2020 Update

March 1, 2020 at 10:26 am

Day job and a work trip ate most of my February. Worked a bit on my external lib package manager but otherwise the needle didn't move a lot last month.

I was supposed to go to GDC this month but now that it's "postponed" I guess it'll give me some time to spend on Synekism instead - silver lining and all.

February 2020 Update

February 1, 2020 at 12:11 pm

No first triangle yet, as was hoped. I do finally have Vulkan integration building on all platforms. Fairly happy with the progress this month. Day work had (and still has) a bit of a tight deadline coming up so that kept me busy at night as well. Things should clear up in a week or so.

January 2020 Update

January 1, 2020 at 2:01 pm

First off, happy new year! I said in my last update that I wanted to get to first triangle by the end of the year but that didn't happen. Some work was done but, apart from spending time with family, I was distracted by a certain stranding game.

I still have a week and bit of vacation left so there's still hope for first triangle soon.

Fetch Older Updates

v0.5.5.90 - September 1, 2014


Synekism is an attempt at a modern city simulator rooted in procedurally generated content. The project was started in 2010 to address some frustrations with the city simulation video game genre. It is actively developed on and currently in a purely alpha-experimental stage. Updates on the project are posted on the first of every month. Note that work on this project is more or less done by one person so progress will be slow, but steady.

The game is a sandbox where control is not explicit but indirect. The player can designate residential, commercial, industrial, and government zones and watch them grow, instead of explicitly plopping each building manually. The game tends to lean towards macro-management.

The key features of Synekism include grid less 3D environments and procedurally generated buildings. The lack of a grid results in total freedom when zoning and building roads allowing for more realistic looking cities. Procedurally generated buildings allows for more visual variability. Instead of querying a finite list of static models, a building is generated uniquely upon creation using local as well as city-wide conditions.

Contact Email:


Support Email:



Synekism Google Group

Follow Us On: