8 ms·
Show HN: Terra Firma, a playable erosion simulation
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.
- gus_massa 4y agoIs it only sandbox mode, or does it have some scenarios with an objective? The river look too straight. I expected more meanders.
- kleiba 4y agoCheck out Populous or Powermonger for games with levels and an objective.
- mehwoot 4y agoJust 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.
- deleted 4y ago[deleted]
- gizmo 4y agoYou could totally cheat the river physics. The game would look better and nobody would know.
- schiffern 4y agoIt 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://www.osti.gov/servlets/purl/1018448 https://agupubs.onlinelibrary.wiley.com/doi/pdfdirect/10.1029/2018WR023639 https://agupubs.onlinelibrary.wiley.com/doi/pdfdirect/10.102...
- hnuser123456 4y agoI'd never heard of the OSTI before. Interesting.
- speps 4y agoLook 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 https://www.ubisoft.com/en-gb/game/from-dust
- sdflhasjd 4y agoI 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.
- gmadsen 4y agoI understand this would be a magnitude more work, but I'd pay money for these mechanics in a snes style populous remake
- sandos 4y agoI was instantly thinking about populous, and really that sort of game on top of this would be awesome.
- greggsy 4y agoI 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.
- worldsayshi 4y ago- Maximize precipitation, biomass or biodiversity
- awelxtr 4y agoWhy do they need to gamefy it? Toys as townscaper exist and have received positive feedback.
- gus_massa 4y agoI 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 4y agoPersonally 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 4y agoAlpha 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”
- gizmo 4y agoI 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?
- h2odragon 4y agoWhat a cool toy! Thank you for sharing this.
- mabbo 4y agoMy 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 4y agoOther 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 4y agoI'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 4y agoMay I introduce you to spreadsheets in space: https://www.eveonline.com/ https://www.eveonline.com/ It's got big corps and large money management, etc. You can scratch that itch for sure.
- gremlinsinc 4y agoI'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.
- antihero 4y agoDo you as a dev have to do anything to make it available on GeForce Now?
- capableweb 4y agoYes, 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 https://partner.steamgames.com/doc/features/cloudgaming
- mehwoot 4y agoThanks for this info.
- nullcaution 4y agoVery 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/Index.htm https://www.lanl.gov/orgs/ees/geodynamics/Wohletz/KWare/Inde...
- DocTomoe 4y agoAdd 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)
- deleted 4y ago[deleted]
- gampleman 4y agoActually 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 4y agoYou could contact Neal Stephenson and see if he actually wants to build the geologically accurate MMORPG called T'Rain...
- Hortinstein 4y agoknow this book wasnt his best, but I really enjoyed it. I wonder if he had heard about dwarf fortress when writing that section
- mehwoot 4y agoDo 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 4y agoif 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.
- alex_duf 4y agoI'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?
- mehwoot 4y agoThe basic technique is from a research paper: https://www.researchgate.net/publication/4295561_Fast_Hydraulic_Erosion_Simulation_and_Visualization_on_GPU 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.
- atan2 4y agoI 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 https://youtu.be/bQBY9BM9g_Y
- Jysix 4y agoI perceive an inspiration from the terrain editor of Simcity 4, really nice!
- notahacker 4y agoThat 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
- bilsbie 4y agoI’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.
- calebegg 4y agoIt 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 4y agoWorks fine under proton for me - have you turned on the steam option to use a compatibility layer for games that haven't been tested?
- opencl 4y agoVery 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.
- bradbeattie 4y agoAny 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.
- mehwoot 4y agoYes. Plus different rocks types, since how different rocks respond to erosion is an important factor in why the world looks the way it does.
- drcursor 4y agoReminds me of watching Vista slowly building landscapes https://en.wikipedia.org/wiki/VistaPro https://en.wikipedia.org/wiki/VistaPro
- knolan 4y agoI’m reminded of Wetrix on the N64. https://en.m.wikipedia.org/wiki/Wetrix https://en.m.wikipedia.org/wiki/Wetrix
- letsburnthis 4y agoJust 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.
- antegamisou 4y agoLove it when Computer Graphics submissions make it to the front page :-)
- zokier 4y agoSomehow 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/state-of-the-game-april-3-2022 https://demiansky.itch.io/songs-of-the-eons/devlog/365296/st...
- iFred 4y agoEvokes 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/ https://niels747.github.io/2D-Weather-Sandbox/
- waiseristy 4y agoI 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