Updates


April 2021 Update

April 1, 2021 at 10:27 am


We saw. I didn't get as much done as I hoped this last month. Got distracted by some timelapse project issues (a failed hard drive). Also, got distracted by trying to build against a standalone version of Visual Studio's Build Tools (instead of the installed version). Was harder than I anticipated and CMake fought me every step of the way. But that is now kinda working now.

I did get some validation on and finished the core of my command buffer framework that I'll use throughout the game engine. I had a specialized version for the graphics backend already but now I have a generic (and superior) one I can reuse.

March 2021 Update

March 1, 2021 at 3:17 pm


I made good progress this February on my home-grown ECS framework. It's actually functional, to my surprise. Now that I know what's going on under the hood, I have a lot less reservation in basing the engine on top of it. I also figured out a descent way to integrate it with the existing multi-frame flow where each frame is a snapshot of the entire application state and can be operated on in parallel.

I hope by next month to have the whole application flow figured out, including the use of my ECS framework. It will be the first time I can start moving forward again and start building actual game features. We'll see.

February 2021 Update

February 1, 2021 at 9:36 am


Slowly coming back to being productive. Started a new position at work which has been taking a lot of my energy last month but things are stabilizing now.

I did get some work done on Synekism. Mostly still trying to decide what I will do for my object/component data structures and patterns. I know I said before that I will not be using ECS (Entity Component System) for this but I'm exploring it again now.

Whatever it will be, it will be something I write myself. It must be something I'm very comfortable with and I find it easier to fully understand a system if try to write it myself. It will definitely not be as good as using an established system but at least I'll understand what is happening.

January 2021 Update

January 1, 2021 at 2:08 pm


It's been a strange holiday. Family matters required me to postpone my original plans to work on Synekism. Not much more to add. Hopefully next month will get closer to normalcy.

Hope 2021 will be at least a little better than 2020. Not a high bar.

December 2020 Update

December 1, 2020 at 5:12 pm


A slower month than usual. My day job has had me working more before the holidays and some vacation time (which will be used for Synekism, mostly).

What I did do is further refine my plan for the core iteration loop of the engine. I'm definitely over-engineering it but at this point I'm committed to making it work. The key features I'm struggling to shove in one box are: strict modularity, message-based communication between modules, and multi-frame processing (sim computes current frame while graphics renders previously simmed frame).

I also decided to drop ECS (Entity Component System) from the mix. It was starting to feel like an academic challenge and I've already indulged in too much such challenges over the decade of this project. I will just hand-optimize the layout of the game state myself.

Last but not least, I decided to "hire" a consultant (my friend) for a while to help me out over the next few months. I'm mostly going to borrow his brain for some of the harder (and more academic) challenges I'm facing.

This is the last update for 2020. Wonderful year. Happy Holidays to you all and see you in the new year!

November 2020 Update

November 1, 2020 at 12:46 pm


My engine has a UI system, finally - at least the rendering and event handling parts. UI creation and bindings are next. Also managed to migrate my original Synekism camera navigation into the new codebase and started exploring an ECS library for the main simulation loop. Overall, good progress.

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!

Fetch Older Updates

v0.5.5.90 - September 1, 2014

About

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:

contact@synekism.com


Support Email:

support@synekism.com


Forum:

Synekism Google Group


Follow Us On: