While I love the city/base building game genre I always hated the simulation aspects of it. Those games end up with you waiting for resources to accumulate and the game becomes either too easy or too hard after a while.

I am trying to make a game that is deterministic. You can build as much as you want with the effects on your city immediately visible. If your city exports more resources than it imports, you get points that you can use to unlock new buildings. Issues (for example: traffic jams) will cost you points.

Almost everything in this games is procedurally generated, which has benefits for LOD handling, creating building variety and gameplay.

The game is written in C with the help of some header only libraries. The procedural generation code is written in a custom lisp-like language.

(I have no proper name for the project yet.)

Recent Activity

I worked on my city building game. Buildings, roads, everything is procedurally generated in my own scripting language. &pgfx-citygame

pgfx-citygame

I worked on the material system and on procedurally generated trees. I am slowly reaching the content-creation-phase of this game, rather than experimenting/thinking about technical stuff. &pgfx-citygame

pgfx-citygame

Did some work on the terrain system of my city-builder-game. The terrain is polygon based. This makes it a little bit tricky to place features like mountains or rivers, but it has the advantage that it can have tunnels, vertical or overhanging elements without problems (in comparison to height-map-terrains). &pgfx-citygame

pgfx-citygame

It's so fun to play around 😀 &pgfx-citygame

pgfx-citygame

My procedural mesh generator has now syntax highlighting and a small "live-documentation". 🙂 Right now, for the syntax highlighting, the editor requests tokens from the user. I am planing to have the editor request a block-hierarchy from the user (in this case of a lisp-like language it would be just: list -> tokens) which should make the implementation of a more useful documentation and autocompletion much easier 🙂 After the initial request for the whole file it can just request new blocks for the block the cursor is currently in, which reduces the amount of parsing needed. &pgfx-citygame

pgfx-citygame

Made a simple live-coding environment for procedurally generating meshes. &pgfx-citygame

pgfx-citygame

Yesterday I implemented basic glTF model loading with cgltf. Today I spent the whole day implementing /debugging shadow mapping in OpenGL. I wanna do cascading shadow maps next. &pgfx-citygame

pgfx-citygame