Warning: Illegal string offset 'type' in [path]/includes/class_postbit.php(294) : eval()'d code on line 65
Fourth-age: Still making noise, dammit! - .com.unity Forums
.com.unity Forums
  The Official e-Store of Shrapnel Games

This Month's Specials

Raging Tiger- Save $9.00
winSPMBT: Main Battle Tank- Save $6.00

   







Go Back   .com.unity Forums > Illwinter Game Design > Dominions 3: The Awakening

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old March 14th, 2010, 01:14 AM

Ink Ink is offline
BANNED USER
 
Join Date: Dec 2009
Posts: 118
Thanks: 1
Thanked 7 Times in 7 Posts
Ink is on a distinguished road
Default Fourth-age: Still making noise, dammit!

Fourth-age has just gotten a Procedural Content Generation boost!



I've ported the venerable C++ libnoise library to Python. This is pure Python, but I mainly just want the module logic in Python to make using it from Fourth age more 'Pythonic'. There does exist a Perlin noise generator implemented in Python's C API, so I hope to shortly adopt this and use it instead of a pure Python implementation.

Notice that's no ordinary Perlin noise. libnoise (and now noiselib) works by taking base noise generators, and wrapping the generators in functions which modify the output. Each module taking a set of noise sources acts as another noise source which can in turn be passed to another module. Through this sort of composition complex noise-scapes can be made. The one in the screen shot produces wide-scale terrain with mountain ridges and rolling lowlands. Noise is fractal, so if you zoom in and amplify noise in some small sector then you get noise which resembles that which you zoomed in on (of course, the noise function is not infinite resolution, so you need a high resolution array of noise to do this satisfactorily).

So that's just a little of what Fourth age development has been up to recently. We soon hope to begin moving into more concrete game programming (and not just low level libraries like this).

For the curious, that's an 11 octave, 0.5 persistance ridged-multifractal generator along with a so-called 'billow noise' generator at 8 octaves and 0.75 persistance and scaled to 0.125 and biased by -0.75 then blended to the ridged multifractal generator using that generator itself as the control value for the blend lerp (the ridged multifractal is the '1' end of the lerp scale). That way the ridges stay sharp and as the height drops the rolling effect of the billow noise become more pronounced.

Last edited by Ink; March 14th, 2010 at 01:41 AM..
 

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 03:01 AM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2024, Shrapnel Games, Inc. - All Rights Reserved.