Settings

Theme

Show HN: Terra Firma, a playable erosion simulation

store.steampowered.com

229 points by mehwoot 3 years ago · 81 comments · 1 min read

Reader

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.

gampleman 3 years ago

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.

  • notahacker 3 years ago

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

    • Hortinstein 3 years ago

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

  • mehwootOP 3 years ago

    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.

    • Huntsecker 3 years ago

      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.

greggsy 3 years ago

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.

  • awelxtr 3 years ago

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

    • gus_massa 3 years ago

      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.

      • looping8 3 years ago

        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.

        • bee_rider 3 years ago

          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”

    • ModernMech 3 years ago

      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.

      • lukan 3 years ago

        There is no reason, why you cannot have both.

        • freilanzer 3 years ago

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

          • lukan 3 years ago

            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.

  • throwaway290 3 years ago

    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.

    • mehwootOP 3 years ago

      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.

    • krageon 3 years ago

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

      • throwaway290 3 years ago

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

      • hutzlibu 3 years ago

        Not the original Minecraft.

        • krageon 3 years ago

          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.

          • hutzlibu 3 years ago

            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 ...

    • dmbche 3 years ago

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

      • Svip 3 years ago

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

  • ThomW 3 years ago

    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/

    • bni 3 years ago

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

    • taskforcegemini 3 years ago

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

  • worldsayshi 3 years ago

    - Maximize precipitation, biomass or biodiversity

  • Cthulhu_ 3 years ago

    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.

  • debesyla 3 years ago

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

mabbo 3 years ago

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.

  • capableweb 3 years ago

    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).

  • benj111 3 years ago

    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)

    • krageon 3 years ago

      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.

    • gremlinsinc 3 years ago

      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.

      • europeanguy 3 years ago

        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)

      • manimino 3 years ago

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

      • benj111 3 years ago

        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.

    • npteljes 3 years ago

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

calebegg 3 years ago

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?

  • danielheath 3 years ago

    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?

DocTomoe 3 years ago

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)

bradbeattie 3 years ago

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.

  • mehwootOP 3 years ago

    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.

gus_massa 3 years ago

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

The river look too straight. I expected more meanders.

iFred 3 years ago

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/

gizmo 3 years ago

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?

atan2 3 years ago

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

gmadsen 3 years ago

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

  • sandos 3 years ago

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

alex_duf 3 years ago

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?

  • mehwootOP 3 years ago

    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.

    • alex_duf 3 years ago

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

letsburnthis 3 years ago

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.

opencl 3 years ago

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.

drcursor 3 years ago

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

waiseristy 3 years ago

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

zokier 3 years ago

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...

nullcaution 3 years ago

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...

Jysix 3 years ago

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

  • notahacker 3 years ago

    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

knolan 3 years ago

I’m reminded of Wetrix on the N64.

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

bilsbie 3 years ago

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.

antegamisou 3 years ago

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

antihero 3 years ago

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

h2odragon 3 years ago

What a cool toy! Thank you for sharing this.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection