Environmental Engine - Adding dynamism to game worlds.

Hi Unity Community.

Before I say a thing I would like to thank you for all the generous help you have afforded me. Both with Unity-specific problems and with C# coding problems. I have, over the last year, taught myself how to code in C# and use Unity 3D in order to be able to make a small and simple Unity 3D demonstration of the Environmental Engine (I may have gotten a little side tracked along the way with other projects though).

The Environmental Engine is simply a set of mathematical equations relating plants, trees, resources, animals and creeps to one another. This is done so that when players go harvest natural resources from the environment their actions have a more far reaching, natural effect on the world they play in. These effects could have a forest grow larger or cause the population of some species of plant or animals to crash. The point of it is to add more gameplay aspects and mechanics; create a non-static world and simply immerse players in the world they find themselves.

As you probably dont feel like reading walls of text I have uploaded a three part presentation to Youtube. Just a warning that my mic is rather poor, but I would really appreciate it if you toughed it out. My presentations are simple and amateurish but they will give you a good knowledge of the Environmental Engine.

Part One: This is a slide show presentation explaining the engine conceptually, why it was made, where it is applicable and what it benefits it may add to a game.

Part Two: This is a spreadsheet demonstration taking a demo environment and altering the some of the variable to see how the environment reacts over 300 time steps.

Part Three: This is a demonstration on Unity 3D showing how, specifically Tree populations, change as we remove a portion of some other plant populations. This will show how an environment can change naturally, in this case how a forest can grow larger.

Thanks a lot for taking the time to watch my videos and please let me know what you think.

Oh, this looks fantastic!

I was actually thinking of creating something similar to this for my own little mini-project, but this is showing to be promising!

Thanks, glad you like it!

This is a very interesting idea, though I think the timescales involved (so the changes aren’t jarring) would need to be quite large. For a persistent world this could be really great. Incidentally the sound on your videos get’s progressively lower and lower until I could barely hear anything in the 3rd video.

Hi Chinwa, thanks a lot for taking the time to watch them. Sorry for the quality of the vids I may reupload the third one. They are the first I have ever recorded and uploaded to Youtube.

I agree that time or the perception of time passing needs to be large to the system to really get its teeth sunk in. I specifically highlight “perception of time” as a game such Age of Empires has time running quickly (eg a to win with a wonder takes 2000 years). If you have ever played Stronghold you would have noticed trees, deer and wolves growing in number as you played (unless you killed them). Nonetheless I really do see this system being best suited to MMOs.