As I’m refactoring #edcgame to ECS, I’m designing it from the ground up as networked multiplayer city builder. So unlike that fatal SimCity release, this simulation actually requires an always on connection. But it also means that you can access game state on the web while not playing

This week has been a hell of a whirlwind for #edcgame.

Working on my ECS migration I needed an incremental persistence solution. So I build a binary journal that periodically gets collapsed to a snapshot.

I then I realized that with data being split between sqlite and ECS, my query engine needed to run against the in memory state, so SQLite no longer seemed appropriate and everything went into the journal.

The debug dashboard I created with #claude in a matter of minutes against the existing REST API of #EDCgame. Need to wire up the historical information to my entities so i can click through to past behavior.

#gamedev

Getting back to #EDCgame after a long hiatus. Aside from RL distractions, I'd been struggling getting up a debug dashboard to inspect and tune the simulation. I'm just not a front end guy.

Much like getting a level editor built for #voxxon, #claude was the perfect tool, scaffolding a dashboard in less than an hour, vs. the week or two I'd spent previously trying to do it by hand.

Now to back out my previous #flecs spike and put in #ArchECS based on my CitySim.js experiments.

Been trying to figure out what multiplayer looks like in a citybuilder for #EDCgame which to me means constant rate time w/o pause. Generally pause is used for construction, especially experimentation. In my system, no construction is instantaneous, it's all part of the economy, i.e. workers have to execute it. The plan is to avoid the need for pause with construction being a planning phase that makes no actual alterations, just sets up what will be constructed. #gamedev
Next step is porting that server implementation to C# using #wolverine for the transport and Arch-ECS for the state handling. If that works well, I'll refactor #EDCgame using the same stack

With my recent experience with #threejs for #voxxon, i decided to consider switching to it from #godotengine for #EDCgame. Not because of any godot deficiency but because the web fits my client/server goals better.

Before committing to that path I went back to my fork of Daniel Geenheck's CitySim.js. I had already separated the simulation from the presentation and just pushed some changes that move the the sim to the server using CQRS https://github.com/sdether/simcity-threejs-clone
#gamedev

GitHub - sdether/simcity-threejs-clone: SimCity clone written in JavaScript

SimCity clone written in JavaScript. Contribute to sdether/simcity-threejs-clone development by creating an account on GitHub.

GitHub
So my #edcgame and cinque terre #gamedev projects have been in hibernation as I got myself into the RL version, shopping for land and learning about development. And now I’m in it for real, so the #gamedev hiatus is likely to stretch out until the “rainy” season
The way things stay editable in Canvas of Kings gives me an idea for #edcgame. I never liked how construction was immediate in #cityskylines and I did like that road building in #simcity took time. So how about a builder mode, in which you lay out what you want. All editing is non-destructive and it shows you the projected time and cost and then once you commit, demolition occurs and construction happens in game time.

Absolutely love Canvas of Kings, a gorgeous hand-drawn aesthetic map making tool. Lots of cool ideas in there for building the Apple Maps-esque UI for #edcgame

https://store.steampowered.com/app/2498570/Canvas_of_Kings/

Canvas of Kings on Steam

Canvas of Kings is a minimalistic mapmaking tool that focuses on randomness and auto-generated elements on user-definable and interactive paths, plots and rooms.