Jump to content

View more

Image of the Day

Boxes as reward for our ranking mode. ヾ(☆▽☆)
#indiedev #gamedev #gameart #screenshotsaturday https://t.co/ALF1InmM7K
IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

Sign up now

Assassin's Creed IV: Black Flag Ocean Technology Talk

4: Adsense

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
21 replies to this topic

#21 Servant of the Lord   Members   


Posted 08 February 2014 - 01:59 PM

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.

Edited by Servant of the Lord, 08 February 2014 - 02:02 PM.

It's perfectly fine to abbreviate my username to 'Servant' or 'SotL' rather than copy+pasting it all the time.
All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.
Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal | [Fly with me on Twitter]

#22 TheLastOfUs   Members   


Posted 08 February 2014 - 10:41 PM

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.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.