.com.unity Forums
  The Official e-Store of Shrapnel Games

This Month's Specials

Air Assault Task Force- Save $8.00
Bronze- Save $10.00

   







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

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #23  
Old April 12th, 2009, 03:34 PM

Omnirizon Omnirizon is offline
BANNED USER
 
Join Date: Dec 2007
Location: Illinois
Posts: 1,133
Thanks: 25
Thanked 59 Times in 36 Posts
Omnirizon is on a distinguished road
Default Re: [OT] Roguelikes?

first, thanks a ton to getter77.

second, I can't help but plug the FourthAge roguelike which will soon re-enter development (after a semester long break).

My goal over the semester was to do one thing: get some sort of map generation.

Thanks to some tips my lch and a weekend spent reading up on fractal and noise generation algorithms (and the availablity of existing implementations of these things), I've got a foundation for terrain generation which I am close to getting prepped for generating the kinds of maps I want for FourthAge.

I'm using Perlin Noise. It seems like a simple way to model terrain, providing a one-number-per-pixel representation. In its simplest form, the number is mapped to greyscale (higher being whiter and lower black, or vice-versa) and produces these 'plasma cloud' images. The noise can be smoothed, and multiple layers (called octaves) can even be blended together, it can even produce noise in multiple dimensions (1D, 2D, 3D, even 4D for time variable noise in 3D). These values can be mapped to discrete colors, or even objects (for example, a city scape can be made by assigning each number to a particular building, since Perlin noise tends to clump but also can look diluted, you simply place buildings that are likely to be built next to each other together in the range of numbers. This will produce cities with industrial areas, downtowns, suburbs, ect.) It seems like a very simply baseline, and to my understanding is used as base noise in other fractal algorithms.

The only issue I am wrestling with now is understanding base noise and 'permutation' tables. I've read that Perlin Noise takes base noise and applies it to the algorithm. An entire grid of base noise is memory intensive and slow, instead a lookup table (permutation table) is used. I just don't understand the relationship between the length of the table, the values (and repeated values), and what kind of base noise is provided. I understand the table cannot have a value higher than its (length - 1). What about repeated values in the table? I also understand the lookup will 'wrap-around' the table. Does this mean that it goes through cells, assigning each cell a value out of the table until it reaches the end of the table, then starts at the beginning of the table again? Doesn't this make some sort of too obvious pattern in the noise? Does my table need to be as long as the number of cells I have to prevent this? Doesn't this leave me back at the memory problem that lookup tables were originally meant to ameliorate? I just don't know.

Once I've completely grasped these issues, I'll begin working with the implementation and getting some maps out of it. I've already produced some greyscale stuff, but am not moving on until I understand the issues of base noise.

Any experts on the issue feel free to contact me
Reply With Quote
 

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 06:55 AM.


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