I've been looking on the net since some time for generating a map for my isometric RTS game. The map should have biomes, humidity, wind directions and etc. But I couldn't find a correct algorithm or enough keywords to search for.

The algorithm used by AmitP in his blog is using Voronoi graphs, but I want a isometric algo without any of that. It could help me if someone clarified what algorithms or what techniques I should be looking for(probably with an example).


I have already made some classes for implementing the map's height and all the data. But what I need is an example of using something like say noise or Perlin noise that was told. Most of the data of each cell of a map is in Terrain class. Its a collection of assorted values for a cell of the map. In the Map class there is a MutableList which I sort over through one for loop.

Can anyone give me an example of using Perlin map to generate a heightmap for the Terrain class, i.e., how to use that approach?

class Terrain(posX:Int,posY:Int,elevation:Double):Point(posX,posY,elevation) {
var terrainType: TerrainType? = null
var biomeType: BiomeType? = null
var locationType: LocationType? = null
var location: Location? = null

var score: Double = 0.0
var territory: Int = -1
var temperature: Double = 0.0
var humidity: Double = 0.0
  • \$\begingroup\$ Did you look into biome generation using noises? I think i did it once with them including temperature and height a long time ago. It won't generate amazing map but it's simple to implement. \$\endgroup\$ – Greffin28 Oct 24 '19 at 7:43
  • \$\begingroup\$ I have some classes implemented for the Map and corresponding tiles in place. Should have posted those too. \$\endgroup\$ – Avra Neel Oct 24 '19 at 8:06
  • \$\begingroup\$ There are tons of tutorials demonstrating different ways of generating terrain from noise. You probably don't need us to write up yet another example. Show us how you've tried doing this so far based on the tutorials you've read, and if the results differ from what you want in some specific way, we can help you solve that specific problem. \$\endgroup\$ – DMGregory Oct 24 '19 at 10:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.