Another UX prototype for #edcgame. This time drawing neighborhood bounds.

#screenshotsaturday #gamedev

I've played around with a bunch of different ways for drawing roads, but in the end beziers is just the most intuitive to me, so that's what i've prototyped for now
#edcgame #screenshotsaturday #gamedev
If there is one thing that bugs me with city builders is that zoning isn’t lots but grids of squares. Manor lord is probably has the current best alternative system (see pic), but being a zoning geek, I aim to have a more algorithmic parcel fill based on defined frontage and lot size rules #edcgame
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