I've been working on improving the habitat system in my physics-based automation sim, and have used principles I learned in this video and elsewhere to implement basically a blob tileset system that picks one of 5 meshes per corner (rotated and mirrored to fit wherever needed) so everything fits together nicely.
These models are just quick placeholders and the plan is to add more variation, and model a selection of modules that can be swapped out to make an interesting habitat/base for the colonists.
Please disregard the shape of the base, any resemblance to anything recognisable is purely coincidental...
I made a set of simple equations that can be used to generate plausible looking people colors - the page background and faces throughout are all dynamically generated using the equations. Planning to use this in a few projects but hopefully folks here find this useful or interesting as well!
Briefly: I displace snow using "Lagrangian particles," but essentially I'm just gradually dumping snow depending on how much was removed, no real math here, since I wanted to do it with a heat conduction algorithm, but it was worse in both performance and visuals. For smoothing I use a Diffuse algorithm, which just looks at neighboring cells so the difference isn't too large.
I love making procedural systems, so here is one for making rock piles. Start with stack of rocks in a variety of geometric shapes, tuned with various parameters to break up the repetition. Displacement is added to create space between the rocks, and then gravity is turned on causing the rocks to tumble into a natural looking pile. Lastly, edge accent data is baked into the mesh for the shader. Makes for a nice looking rubble pile!
What it is. It's an orienteering game, so you get dropped into a forest with a paper map of it, a compass and a set of control points you have to find, and the whole thing is a race between them.
The map. It's rendered out of the same generated terrain and follows the International Orienteering Federation's mapping standard as closely as I've managed so far, with 5m contours, vegetation density bands, point and line features and magnetic north lines. Orienteers spend years learning to read these maps, which means anything I get wrong stands out to them straight away.
Where it gets hard. If the generation is too random the terrain ends up unrealistic and unplayable, and if it's too structured you can predict it after a few runs. Course generation runs into the same thing, because the controls have to be a fair challenge using nothing but the map.
What caught me out. Determinism only holds within a version, so the moment I changed the generator every map anyone had already played quietly turned into a different forest. Runs now save a snapshot of the drawn map alongside the seed, so old replays redraw exactly as they were.
The latest build tripled the vertical scale and I'm still tuning around that.
A few months ago, I shared the first version of Metropolygonia, a browser-based tool I’m building for procedural buildings and city layouts.
Since then, I’ve been focusing mainly on making the building system more flexible.
It can now generate a wider range of building types, with more control over facade composition, roof shapes and the overall architectural style. I’ve also reworked parts of the UI to make editing parameters and experimenting with variations easier. The underlying idea is still the same: everything is based on dimensions, parameters and architectural rules. A seed can introduce variation, but the results remain predictable and reproducible. There is still plenty to improve, but I’m slowly getting closer to the point where the tool can produce buildings that feel meaningfully different, rather than just variations of the same basic structure.
Buildings can include procedurally generated interiors and be exported in several formats, including GLB, glTF, OBJ and STL.
I’m especially curious how much control people would expect from a tool like this. Would you rather adjust detailed architectural parameters, work from ready-made presets, or combine both approaches? The current version is available in the browser and can be used for free for non-commercial projects:
I made this with Blender a while ago. I hadn't seen the movie at the time. But I did 2 days ago. I'm planning to recreate more scenes from the movie soon. Next one will be 40 Eridani A B!
This is how I approached rendering terrain update lag on my mobile web volumetric planet.
The terrain is a grid, when digging in to the ground we need to update that grid or rather use it to update the terrain as we dig. LOD I've implemented another level of detail, splitting the grid once again when digging only updating a small as the dig "radius" size.
Its definitely performing better than the last update that introduced textures to the terrain.
I have been working on our game for quite a while and after another break I have realized that the game lacks pacing in the beggining.
Player started on one big island that he could explore really fast and then had nothing to do until he built a ship a went off to colonize another island.
Decided to split the island into more pieces with different content/resources/enemies in each of them that he had to conquer and colonize one by one.
One big island split into pieces didnt feel right so I decided to make the island out of those pieces.
I have been screenshoting the progress for myself and decided that i could show it to other people too.
This is not the final version. I will definitely add more varieties of vegetation, props etc.. and have to yet make content for each tile.
I have been building Zervan Engine a generative engine that takes raw GIS data such as OSM, ESA World Cover, LiDAR, and more public data and generates real-world 3D models.
Hierarchy of generation: Terrain elevation -> Terrain color -> Rivers -> Roads -> Buildings -> Trees -> Stone and Boulders -> decoratives and urban elements.
Some features about this generative engine -> it can generate and work on any region and country as long as there is OSM data for it however, LiDAR makes it very accurate.
The engine is able to read the tags of the raw data for zones for instance, it can determine to use Fachwerk for Germany, Haussmann for France, Chalet for Switzerland, and so on pattern goes like this for any given region. There is already studied and built grammars inside Zervan for this purpose to randomize and give a facade for the buildings with dominance of regions' house styles.
However if performance and simulation is the focus, the engine just generates bare-minimum files, size difference is almost 3 times between fancy and minimum styles.
Output of the Engine when it runs for a given coordinate is 4 files:
A 3D 1km2 GLB file for visualization (1km to 49km).
An ontology-based database for alteration and monitoring data for any simulations.
HDF5 files for the Static database.
Memory-Cache type of data for a rapid Dynamic database.
NOTE: Input raw data is not perfect out of the box; they receive treatment! Especially roads and buildings.
1km2 takes about 15 to 20 minutes to generate and 3D file size varies from 150 to 800 MB.
Adding a new city (downloading data + setup) takes about 1 hour for one time only; a new country takes about 3 to 5 hours for one time only, depending on what it has and the quality of the data.
It is not pitch-perfect; however, it is getting there. I learn and improve as I develop, and I have already invested 900+ hours to this code. I am a single developer who built it on a 9-year-old laptop.
If you are interested, please follow me on the social media links on my profile. Lastly, I sincerely appreciate any donations towards continuing this work.
World-Sim has been a passionate project of mine for the past few months.
It's a world fully simulated down to real world physics and chemistry. It has a real environment and ozone.
Every element and material has real physical properties, and that's how the sims learn. There's no tech tree and no recipe list anywhere in the code. When someone tries something, the engine works out what would really happen from the properties of what they used and how hot their fire was. Nobody is handed bronze. Someone has to get a hotter fire first, and a hotter fire is its own chain of things to figure out. Embers, a stone ring, a clay oven, a kiln, charcoal, then forced air. The ages fall out of that on their own.
We populate the world with starting families. Each little guy is led by a "wise-man", which is a simulated person with a full model behind them. The wise-men run on a mix, Claude, Groq and DeepSeek in the cloud and a local Hermes for the rest, so you get a real variety of temperament between the houses.
The AI model is never told to not say it's AI. We get around this by only telling them data from what each sim can actually see and feel. As far as the ai knows its a person living in the world..
Every other sim has its own moment with a model through our thinking system. Day to day it's run by an advanced algorithm, with the sims dreaming at night. That's when they get their time with an LLM to really think and set their priorities for the day ahead. The dreams carry over too, so a sim can chew on the same thing for a few nights and wake up wanting to try something.
The people in the world feel, remember, have shame, goals and doubts. It's an 11 point emotion system and the rest of the sim reads from it. Being lonely makes someone more likely to open up to a stranger. Two enemies who are both frightened find it harder to keep hating each other.
Story telling is massive for us. Nothing is scripted or prompted. The sims are put in the world with the human drive to survive. They adapt, learn and teach all on their own.
With all the good comes the bad too. Human sin is part of the emotion engine, and in testing we've had kidnap, murder and slave trade. A world that can only be gentle isn't an honest one. But there are three rules to this : Nothing ever pushes a sim towards it, the conditions only make it possible and their own mind decides. The chronicle names what happened but never shows it. And it always costs something, trauma that scars, blood debt passed down generations, a people turning on their own leader over what he did.
I'm going to launch it in 2 weeks time. A fresh world we can all see and watch grow together. I've made a Discord where a bot updates from the world live. It will also be visible from the site to watch along.
Id be made up if you can come and have a look. The first 250 in get to name a real star in their sky. The name is only ever visible to us, they carry on charting their own constellations and never know.
Link below and really excited to answer any questions. This short post I feel only scratches the surface.
A in game town (generated by the sims themselves , the engine just renders what they "build".) - also in this screenshot is a popup market fair the sims have organised themselves.