Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411491 Posts in 69377 Topics- by 58433 Members - Latest Member: Bohdan_Zoshchenko

April 29, 2024, 06:51:43 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Modelling nature for verisimilitude
Pages: [1]
Print
Author Topic: Modelling nature for verisimilitude  (Read 2466 times)
Ben Kuhn
Level 0
***


View Profile
« on: January 21, 2010, 08:15:28 PM »

Hello folks,

I'm interested in making semi-realistic (or more accurately, interesting) models of climate, ecology, geology and so forth. This includes atmospheric dynamics, weather, heat transfer, food chains, migration patterns, etc. - basically everything possible to add to a setting's depth, modelling on the level of individual organisms or patches of terrain over a large area. Does anyone know where I can find some (hopefully but not necessarily free) resources to get myself started? I've been doing some searching but most people don't seem to care about that kind of scale. I would greatly appreciate any tips you could offer as well.

For reference, I am reasonably proficient in Java, C++, Python, and Haskell, and am not averse to learning a new language if necessary.

Thanks for your time and reading!
Ben
Logged
Skofo
Level 10
*****



View Profile
« Reply #1 on: January 21, 2010, 09:41:20 PM »

Sounds interesting!

What kind of resources are you looking for? 2D graphics libraries? 3D graphics libraries? 3D modelling programs?
Logged

If you wish to make a video game from scratch, you must first invent the universe.
Parthon
Level 1
*


View Profile
« Reply #2 on: January 21, 2010, 10:05:35 PM »

How realistic? What kind of modelling?

I want to work on a 3d rpg where everything about the world is modelled, from temperature to precipitation to wind patterns to flora growth to fauna migrations to construction and natural NPC AI emergence.

Every time I ponder the project though I think I must be crazy. Tongue
Logged
kiwi
Level 0
***


View Profile WWW
« Reply #3 on: January 21, 2010, 11:45:22 PM »

I don't think that there's a computer that can actually run ALL of these at once, at least not as in depth as you want it to be, but I may be wrong.

Anyway, you are definitely going to need a multi-agent system, where climate, geography, animals, plants etc are all agents.
You might also want to use the Lotka-Volterra equations to model your world, I'm not sure how well it would work for climate, but it's great for balancing the number of foxes with the number of rabbits for instance.
And last but not least, read up on shell rendering and L-Systems to help you simulate vegetation.

Also I salute your ambitious project and wish you good luck in your development  Gentleman
Logged

Parthon
Level 1
*


View Profile
« Reply #4 on: January 22, 2010, 12:12:21 AM »

The aim would be to just make it look like it was modelled well, but cheating on the level of detail.

The goal was a game that would end up looking like minecraft, but playing like dwarf fortress. Dwarf Fortress is crazy awesome in generating it's worlds, but being able to walk around it in first person in real time as an adventurer would be nuts.

Simple graphics would mask the depth of the engine running the game, but the modelling would be lighter rather than heavier.

Addenum: I checked out the Lotka-Colterra equations and they are pretty cool. It probably wouldn't work in a migration-area system, where not just population numbers but also locations are measured. It would be more fun to just impliment a prey-hunter agent and see how it works.

This is definately something not to do in a short amount of time. It would be layers of different agents and systems working to make a really cool world.
« Last Edit: January 22, 2010, 12:22:48 AM by Parthon » Logged
nikki
Level 10
*****


View Profile
« Reply #5 on: January 22, 2010, 04:19:16 AM »


I also very interested in this aswell, and am working on building something like this (a bit more lightweight though)

I would advise to start with the actual heightmap
from that you can make a climate-map temperature map,
you could add water-streams and finer detail at the temperature map at that point

since the heightmap dictates where the oceans would be
you can also make a wetness map, and take rainshadow into account.

maybe adding rivers at this time isn't a bad idea

after that you have a heightmap, temperature map and wetness map.
the climate-map will be simple after that ( Köppen)

when you have the climates in place (offtopic: funny how politicians in my country talk about THE CLIMATE CRISIS, while there are dozens of climates) you can divide them sensibly up in smaller ecosystems, or biomes


further than that i cannot explain because i haven't been further yet. Smiley

[shameless plug]  my go at all this[/shameless plug]

I will curiously follow this post, i want to see how you solve all this.  Coffee


Logged
Ben Kuhn
Level 0
***


View Profile
« Reply #6 on: January 22, 2010, 11:05:54 AM »

Wow, thank you all for the swift and detailed response!

To clarify my intentions a bit: the point is not to be realistic but to look realistic at the surface level. So I will be cheating ruthlessly wherever possible.

The most important point is good modelling of organisms on both small scale, so that the player can watch them interact, and large scale, so that it's not prohibitive to model a large number of organisms. Since our plan for the gameplay relies in large part on manipulating ecology by tampering with (and creating) different species, these two models should "match up" well.

So yes, basically it will be exactly a multi-agent system. I will check out some of the literature on that.

@Skofo: I'm not looking for any kind of library. I'm looking for information on how things like climate, ecology, etc. work at different scales, and (secondarily) information on how to implement that efficiently.

@Parthon: I hope my spiel up there answers your question. Basically, my ideal is that I can model these interactions both on a small and a large scale and make these models match up. AI emergence is a long-term goal Tongue but I think semi-realistic human NPCs are definitely within reach. The biggest problem, of course, is making them talk, but that's for a different thread...

@Kiwi: multi-agent systems look like they're just what I'm envisioning. Lotka-Volterra, not so much, because it doesn't include any geographical component.

My thinking right now is that I will try and find/create a reasonable large-scale algorithm for shunting around individual organisms, and then the small-scale algorithm will "fill in the gaps" with specific movements, actions, etc. But this requires a reasonably complex and detailed large-scale algorithm.

@nikki: awesome useful climate information, thanks! Those guidelines are very useful. Ideally, though, I would like "climate classifications" to be an emergent property of a global model, rather than modelling each classification on its own. That means not just declaring "this patch of terrain is a tropical rainforest and therefore must have X precipitation and Y temperatures", but rather "this patch of terrain has B plants and absorbs C sunlight with D weather, etc. which causes X precipitation and Y temperatures". Obviously the causality is much more complex than that, but basically I would rather build climates from the bottom up than the top down, since the bottom is what's going to be visible to the player.

---

Again, thanks so much, this is all really helpful stuff! Time for some library trawling, I think. I hope that this is all reasonably clear.
Logged
nikki
Level 10
*****


View Profile
« Reply #7 on: January 22, 2010, 11:14:55 AM »

climate are emergent, totally!
maybe i wasn't clear but "this patch of terrain is a tropical rainforest and therefore must have X precipitation and Y temperatures" isn't what i meant.

a patch is a tropical rainforest when : average temperature >= 18 c and precipitation>=60mm a month .

i recently re-discovererd my highschool geography books, its all in there Smiley
« Last Edit: January 22, 2010, 01:14:07 PM by nikki » Logged
Ben Kuhn
Level 0
***


View Profile
« Reply #8 on: January 23, 2010, 12:12:36 PM »

@nikki: okay, I just misunderstood you. The situation you describe is much more what I'm aiming for.

So the next question is, how do you figure out how all of those things (temperature, flora, elevation, atmosphere, geology, etc.) interact? I imagine you'd have to go a bit beyond geography to do all that.
Logged
mcc
Level 10
*****


glitch


View Profile WWW
« Reply #9 on: January 23, 2010, 02:08:42 PM »

This post will be very abstract and unhelpful! But:

A neat trick for simulating "natural-looking" systems is to use "cellular automata". These are systems where you make a grid, you color each cell in the grid with a state, and then you have a simple lookup rule that tells lets you calculate the state for a cell at time T given the states of the cell and surrounding cells at time T-1. The "game of life" is an example of a cellular automata. Here's a video of a cellular automata system evolving:





What's neat about CAs is they are very very easy to compute but they also produce very rich, organic-looking patterns. It is also the case that by carefully picking how your states work you can create emergent forms within a CA that move with things like direction and velocity. For example here is a well-known called Wireworld that simulates electrons moving within a circuit.





One way you might make a CA work within your 3D world is to cut up your 3D terrain into a grid and then use the CA to calculate things like cloud cover or vegetation levels, then when the player actually steps into that square the game consults the CA and knows, okay, I need to generate X% cloud cover and Y% vegetation density  for this square of the map. This would let your game evolve naturally on the macro level without having to get into the nitty gritty of simulating trees on the micro level.

There is a book by Stephen Wolfram called "A New Kind of Science" which you can read for free online, which is all about interesting ways he has applied cellular automata. The book is kind of crank-y because he keeps showing, look, I made a cellular automata that looks like this real-world phenomenon, that means we can use CAs to simulate real-world phenomena! But he doesn't stop and ask whether his simulation CA is remotely accurate, he seems confident that if it looks similar it is similar. However if you're making a video game then "realistic looking" is all you want...

http://www.wolframscience.com/
Logged

My projects:<br />Games: Jumpman Retro-futuristic platforming iJumpman iPhone version Drumcircle PC+smartphone music toy<br />More: RUN HELLO
Mikademus
Level 10
*****


The Magical Owl


View Profile
« Reply #10 on: January 25, 2010, 11:25:13 AM »

I'm interested in making semi-realistic (or more accurately, interesting) models of climate, ecology, geology and so forth. This includes atmospheric dynamics, weather, heat transfer, food chains, migration patterns, etc. - basically everything possible to add to a setting's depth, modelling on the level of individual organisms or patches of terrain over a large area. Does anyone know where I can find some (hopefully but not necessarily free) resources to get myself started?

You've been beaten to it by Dwarf Fortress! Tongue
Logged

\\\"There\\\'s a tendency among the press to attribute the creation of a game to a single person,\\\" says Warren Spector, creator of Thief and Deus Ex. --IGN<br />My compilation of game engines for indies
Ben Kuhn
Level 0
***


View Profile
« Reply #11 on: January 25, 2010, 11:54:52 AM »

@mcc: That looks like exactly what I was looking for! I'll definitely check it out. Thanks for the tip!

@Mikademus: Somehow I noticed that. But I don't fancy decompiling it to see how it's done, or bothering Tarn Adams who undoubtedly has better things to do than explain to me how weather works. I don't suppose you know where Tarn Adams got DF's model from?
Logged
nikki
Level 10
*****


View Profile
« Reply #12 on: January 25, 2010, 12:04:38 PM »

I don't suppose you know where Tarn Adams got DF's model from? , well i do  Wink
Logged
Pishtaco
Level 10
*****


View Profile WWW
« Reply #13 on: January 25, 2010, 10:45:37 PM »

There are some resource here that might be useful, although it's mostly about rendering rather than simulation: http://www.vterrain.org/
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic