Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Terra Firma, a playable erosion simulation (steampowered.com)
229 points by mehwoot on Jan 16, 2023 | hide | past | favorite | 79 comments
It's free to play on steam, but you'll need a computer with a dedicated graphics card.

I just released a new version after first releasing it 18 months ago. It's been a hard slog to scrounge time as it's not my day job but that's life.

There's a ton of obvious improvements in the future (weather systems, temperature, varying rainfall, ice/snow, more biomes, more plate tectonics, lava, etc) but all suggestions/feedback is welcome.




Actually if this had a good export feature, this could be a very useful tool for other level designers to start crafting their imaginary worlds in a way that those worlds make logical sense.

Especially if you could mod in/script/configure strange flora/fauna, this could be a great tool.


You could contact Neal Stephenson and see if he actually wants to build the geologically accurate MMORPG called T'Rain...


know this book wasnt his best, but I really enjoyed it. I wonder if he had heard about dwarf fortress when writing that section


Do you have any idea of what you'd want to import it into?

I get this feedback a lot, but I'm unsure what formats would be most useful- there are a lot of different heightmap / GIS formats to choose from.


if you could export this to unity. It is hugely time expensive to generate realistic terrain, be nice if the water linked in with something like R.A.M 2019 then it would be really quite awesome.


I like poking around with these sorts of sandboxes, but in order to gamify it, you might need some objectives, limitations and planning goals, eg:

- you have a limited amount of some mineral or rock that erodes quicker or slower than others, and you need to move water from one location to another.

- there is a magma chamber growing under a mountain. Move the villagers out of harms way / destroy enemies.

- introduce sinkholes: make as many sinkholes as possible within some period.


Why do they need to gamefy it? Toys as townscaper exist and have received positive feedback.


I like the sandbox idea, but the game scenarios can be also like a tutorial to help the new user to know the basic tools and tricks.


Personally would like to see this developed deeper instead of branching into gaming goals. Then maybe it can one day be optimized to fit into an existing game's framework? Imagine Civilization 7 or 8, years down the line, having tech like this? Reshaping continents to spread your influence would be so amazing.


Alpha Centauri had some terrain modification in a 4x game (real big bombs, construction units that could raise and lower terrain, and “melt the ice caps”), as well as a super simple weather model that could kind of interact with it (iirc the prevailing wind always came from one direction, but you could raise or lower a ridge to make it wet or dry in an area).

Influencing continental drift for strategic purposes would be hard to justify in a realistic/up-to-near-future game, but sci-fi is always there. Or maybe someone needs to try something new, like a 4x game that takes place on an evolutionary scale. Synapsids & Sauropsids. “I‘ve got you down to your last Lystrosaur, bwahaha”


My favorite aspect of this game is that it’s not actually a game, and more like a zen garden. Adding more game elements would ruin that aspect.


There is no reason, why you cannot have both.


There is: developer time and focus. Not everything needs to be gamified and have "player retention", etc.


The context was that the parent poster was afraid of "Adding more game elements would ruin that aspect."

My point was that it is quite trivial (and useful) to seperate the sandbox from the gamification.


Plenty of us prefer open ended sandboxes/simulators like Minecraft, C:S, flight sims. Following game designer gets boring fast, setting own goals is always fun

Speaking of CS, I wish this simulator had heightmap export.


this

I might gamify it a little bit more, but personally I love the fun that comes from exploring a set of mechanics by yourself without anyone telling you what you're trying to achieve.

My aim is to build a set of simulation mechanics that are accurate enough to teach you a little bit about how the processes work in real life but also responsive enough to let you play around with them and create what you'd like.


Imagine C:S but terrain changes gradually as it would in real life...


Minecraft has a story and an ending, with the opportunity to get there as you'd like. Why not have this for this game?


MC's story is its downside for me, I wish it didn't have it.


Not the original Minecraft.


What is the "original" Minecraft? Infiniminer? That's so far removed from what folks understand when the name is used I think I can be excused for not understanding it as that.


The Minecraft version that got succesful, had no story (and the one I played back then).

The story and everything else that later came, was an afterthought. The point is, that it was fun for me and quite a lot of other people, without all that and just the sandbox. But yes, you are excused ...


Just wondering, what is c:s? I can't find anything about it!


Cities: Skylines. Though exporting for Transport Fever 2 would also be nice.


From Dust played with the idea of terrain manipulation.

https://www.youtube.com/watch?v=gk4hRWD6BT8

I played it on the Xbox 360, but it's on Steam as well. https://store.steampowered.com/app/33460/From_Dust/


This game is genius and desperately needs a remaster and re-release


thanks for suggesting this! I bought "populous: the beginning" just a few weeks ago, didn't know there was a modern variant!


- Maximize precipitation, biomass or biodiversity


Populous was a game (series of games) where you could raise and lower mountains for various reasons, this mechanism could be used in a game like that. Actually I do remember a game in a series like that - may have been a sequel to Black & White? That had things like (water) erosion and the like as well.


- Try to copy [some real life relief/landmark]


My wife is a water resources engineer, a type of civil engineering focused on flood prevention and erosion.

I think I've finally found a PC game she's going to be excited by.


Other games you might want to recommend, as they include good fluid simulations: From Dust and Cities: Skylines (although not a huge part of the game).


Oh she is well aware of Cities: Skylines.


How about Timberborn? The whole game revolves around water management.


I'm an accountant. I really /really/ want to play an accounting game.

(I'm not an accountant, although I have partially trained as one)


May I introduce you to spreadsheets in space: https://www.eveonline.com/

It's got big corps and large money management, etc. You can scratch that itch for sure.


I'm bad at managing my own money, I'm wondering though if a game that sneakily teaches budgeting etc might be good, maybe call it 'the American dream' and it's basically the Sims but with real expectations on how life will play out with random tragedies etc.... car breaks down. it could even include wages from statistical sites and mortgages and rent pegged to the national average, as well as healthcare.


Oh, you want to gamify managing your money?

1- Install GnuCash.

2- Import your checking account into it.

3- Another account will automatically be created called "imbalance" with the opposite balance. The goal of the game is to manipulate other accounts so that the imbalance account eventually reaches 0.

4- did you have fun and want to keep playing? Import more accounts. Your credit card account, your mortgage account, your brokerage account, etc.

5- You can play in different difficulties. Do you have a tax account? Is it broken down into federal and state taxes? If so, does it match what the state/IRS thinks you paid?

Keep doing this and you'll become as good as any accountant.

Did you enjoy the game? Support the developers at gnucash.org/donate.phtml (no affiliation, just a happy gamer)


This is a fantastic idea. I would buy it for my kids so they could learn to manage money.


where are you from? im sure someone could suggest a good website for managing money.

from the sounds of it you know what the problem is, and judging by the site this is posted on you have the skills/intelligence so open up a spreadsheet and get to work.

i found the mr money mustache site quite useful on the motivation front fwiw.


Beware that Accounting+, however similar in name, won't fit the bill.


It looks really cool and I'd love to play it but I don't have a Windows PC. Any chance you have plans to make it available on Linux/Steam Deck?


Works fine under proton for me - have you turned on the steam option to use a compatibility layer for games that haven't been tested?


It runs with that option but trees don't render properly so it's not perfect.


I did not know about that option!


Add some way to export heightmaps or topographical maps, and this will be useful for RPG scenario writers (so much better than the standard "macaroni throw" method of island creation)


Any plans on dealing with topsoil vs bedrock? Seeing water only on the surface above what looks like an impermeable layer looks odd to me, unless I'm misreading the video.


Yes. Plus different rocks types, since how different rocks respond to erosion is an important factor in why the world looks the way it does.


Is it only sandbox mode, or does it have some scenarios with an objective?

The river look too straight. I expected more meanders.


Just sandbox mode for now.

The rivers don't meander in the way that real rivers do- real rivers meander because of differences in flow velocity across the width of the river, but the simulation doesn't run at that sort of resolution. If it did, the area covered would be far smaller.


You could totally cheat the river physics. The game would look better and nobody would know.


It needn't even be that much of a cheat! There are empirically validated equations that can '1-dimensionally' model river meander evolution.

https://www.osti.gov/servlets/purl/1018448

https://agupubs.onlinelibrary.wiley.com/doi/pdfdirect/10.102...


I'd never heard of the OSTI before. Interesting.


Look at From Dust[1] for something like this with gameplay, more recent than Populous (Xbox 360 generation).

[1] https://www.ubisoft.com/en-gb/game/from-dust


I really liked From Dust. It seemed impressive what could be done on the 360 at the time, and I'd really like to see it with a higher-res, larger scale simulation on some more modern hardware.


Check out Populous or Powermonger for games with levels and an objective.


Evokes the same "staring at a lava lamp" feeling as Weather Sandbox [0]. I yearn for a Sim Earth replacement and seeing folks work on simulation sandboxes like this give me hope.

Now give me something planet scale with basic climate, biosphere, evolutionary models, and a Simpsons "Genesis Tub" approach to Civilization and I might not leave the keyboard days on end.

[0] - https://niels747.github.io/2D-Weather-Sandbox/


I think simulators like these are cool, and there is clearly an audience for it. Maybe, instead of simulating more stuff (rainfall, biomes, lava) you can go deeper into simulation you're already doing. To sell a game like this people need to be blown away by something, and that happens when you do one thing extremely well.

Maybe think of the experience you want the player to have and then work backwards from that?


I was just watching this video last week about the Voxel Space technique used in the 1992 Comanche game by Novalogic.

The video mentioned that besides the rendering engine, Novalogic also develop their own terrain generation tool, with erosion methods, elevation decay, etc.

Voxel Space (Comanche Engine):

https://youtu.be/bQBY9BM9g_Y


I understand this would be a magnitude more work, but I'd pay money for these mechanics in a snes style populous remake


I was instantly thinking about populous, and really that sort of game on top of this would be awesome.


I've myself tried to create a small simulation of water and erosion, and although very fun I found it extremely hard to implement. (so well done to you!)

Is it a grid based system underneath? How do you calculate water displacement, is it with a vector field? anything else you'd like to share about the implementation?


The basic technique is from a research paper: https://www.researchgate.net/publication/4295561_Fast_Hydrau...

My first attempt at creating a simulation of water and erosion before I saw this paper was pretty bad as well.

Yes, it's a grid based system. When you choose map size (e.g. 1024x1024) that's the resolution of the underlying simulation. My refinement of this approach is there is an extra step that "smooths" everything out. The vertex points for rendering are offset depending on how the water flows, which allows rivers to appear to flow at angles other than 90 degrees. Without this, it would either be very blocky or cover a much smaller area- there are other implementations of that paper floating around and the scale is an order of magnitude less, as a river needs to be many grid points across. In my implementation, you can get a nice looking river from a sequence of single points.

The drawback is this complicates a lot of other things. E.g. you can no longer easily tell what the height is at a point on the map is- there is no easy way to know what vertices to interpolate between since they can be offset in different directions. So when rendering trees, there's a whole GPU calculation to produce a separate data layer just to know what height the ground they're sitting on is at. But it's worth it to get a map that covers a big area with a full water flow simulation.

In general terms, the simulation is done as a series of grids of values (called layers, in reality just textures on the GPU) and operations that take some of them as input to generate another. Some layers persist always (e.g. the water flow) and update themselves iteratively. Other layers are produced on the fly when needed, and can be at different resolutions. E.g. you zoom into an area of the map- the water layer is read to determine the biome layer for just that part of the map. The water layer is read to determine the heights layer I talked about previously. Then the biome layer, water layer and heights layer are combined into a trees layer where one grid vertex is one possible instance of a tree. The values represent whether a tree is there, the position of its base, the type of tree, etc.

That's used as input for the rendering system, there's a mesh that uses that trees layer to render all the trees. It's also used as input for the animals system, so the animals walk around the trees, etc. It's basically a big dependency graph of data layers and the operations needed to generate them. Most of the work so far has been building all that tooling and getting it running asynchronously so the game doesn't lag if it takes multiple frames to generate what is needed.


Thanks for taking the time for such a thorough response, I appreciate. Really interesting stuff!


Just a heads up, I think there's a couple typos on your steam page. In the second bullet point it says "Observe the ecosystem respond to the availability of water. Plants automatically -gross- across the -lanscape-..."

Cool idea and thanks for sharing. I'm definitely going to give it whirl.


Very neat simulation.

As a note, you said it requires a dedicated graphics card but it does seem to work fine on my laptop's integrated graphics (AMD 4500U) and performance was good with at least the default map size.


Reminds me of watching Vista slowly building landscapes https://en.wikipedia.org/wiki/VistaPro


I think the water is missing momentum? It seems to always to prefer to create 90 degree bends and straight lines. Or maybe that's just an artifact of the terrain mesh being axis aligned


Somehow reminded of this weird obscure project Songs of the Eons, they too afaik have somewhat comprehensive simulations of basic geography https://demiansky.itch.io/songs-of-the-eons/devlog/365296/st...


Very nice! It reminds me of my old childhood favourite Erupt3. Although this seems much easier to use.

https://www.lanl.gov/orgs/ees/geodynamics/Wohletz/KWare/Inde...


I perceive an inspiration from the terrain editor of Simcity 4, really nice!


That was my first thought. Separate sandbox mode before the building simulation actually started that was almost a game-within-a-game for people that liked manipulating and eroding landscapes


I’m reminded of Wetrix on the N64.

https://en.m.wikipedia.org/wiki/Wetrix


I’ve always wanted to build one of those projector sandbox combos. I’m surprised no one has commercialized that.

It seems like it would be a hit.


Love it when Computer Graphics submissions make it to the front page :-)


Do you as a dev have to do anything to make it available on GeForce Now?


Yes, opt-in to the Steam Cloud Play (as the game is on Steam), but then Valve manually have a whitelist as well so you'd need to get approved by them.

https://partner.steamgames.com/doc/features/cloudgaming


Thanks for this info.


What a cool toy! Thank you for sharing this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: