Assassin's Creed IV: Black Flag Ocean Technology Talk

Started by
20 comments, last by TheLastOfUs 10 years, 2 months ago

As TheChubu says, 'procedurally generated' means that instead of an artist hand-crafted the model (and specifying animations), the different parts of the model is created only when needed, and created by a mathematical algorithm.

The algorithm takes parameters (wave height, wind speed, water depth, what piece of the ocean you're at, the current time (for animating), and more), and then uses the math (written as sets of rules) to create the shape of the model.

For example, Fractals, Perlin Noise, Polynomials, and others.

Here's a visual example of how fractals can be used to generate mountains, at different levels of detail.

Not being good at math, the math behind this stuff is beyond me and I only know the casual high-level details.

The nice thing about math is it always comes out with the same result when you feed it the same data, so if you're clever, you can have very complex data "compressed" (not actually compressed) into a very tiny amount of data, because you use the tiny data as input that you 'feed' to the generator which creates the complex data.

So it's not that it streams or processes the data different, it's that it creates the data out of math (and small data inputs) instead of loading it.

Take, for example, Age of Empire maps or other RTS or TBS games. They almost always have a "Random map" mode. The random map uses procedural generation to create maps out of math, rules, and input data (like map size, desert map or ocean map or forest map, number of players, scarce or plentiful resources, etc...). When saving your game, they save the position of all the characters and entities... but they don't need to save the entire random map - they just save the few pieces of inputs that was fed to the generator, and they can re-feed them to the (exact same) generator to re-create the exact identical map when you load your game.

You have to use the math to form rules, otherwise things look like purely random gibberish instead of islands and forests and oceans.

While not talking about oceans specifically, you should read JTippet's journal, as he experiments with procedural generation alot, and often posts pictures and details of how it's done. Currently he's working on a TBS game, so the focus is more on that, but if you read his older posts (jump back some years) he has alot more experimentations that might interest you - including things like how Minecraft generates entire worlds, and MMOs generate mountains and islands, how to generate textures and 3D models, and other cool things.

Advertisement

Thank you everyone.

All the answers are here. I feel this topic has reached the end of its thread.

Servant, everyone else - thank you so much.

I truly and humbly appreciate the time you all have taken to write in detail to me about this. It has not gone unnoticed.

This topic is closed to new replies.

Advertisement