• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

OTMapGen

How to disable putting grass, trees on borders?

Right now you got to go in to the code and remove some function calls. But I will make it an option eventually.

Added support for the generation of mountain caves and put more configuration options at the top of the script.

SYJ8NRW.jpg
 
Last edited by a moderator:
create a tutorial of how to use in windows, because are not explaining right and these errors are happening with several people, would help, or someone explains part by part, why to run in linux is more quiet, in windows ta being another reality, and I am doing and following everything they are posting but still from the mistakes
 
Loooooove the mountain cave update. Been messing with a jungle theme, definitely going to have to incorporate this update. I'm still completely getting pwned by the noise function. Tryna figure out how I can add tons of small patches of a ground type and it ain't goin well.
 
create a tutorial of how to use in windows, because are not explaining right and these errors are happening with several people, would help, or someone explains part by part, why to run in linux is more quiet, in windows ta being another reality, and I am doing and following everything they are posting but still from the mistakes

o78CEpu.png


Just follow the github readme, folder should look like this:

stF7bqx.png
 
o78CEpu.png


Just follow the github readme, folder should look like this:

stF7bqx.png

I got this error "sintaxys error code 800A03EA from: compilation microsoft Jscript"

When I execute otmapgen, maybe i can't execute js files? I need a program for this? :(
 
I got this error "sintaxys error code 800A03EA from: compilation microsoft Jscript"

When I execute otmapgen, maybe i can't execute js files? I need a program for this? :(
You need to use node not the Windows Script Host interpreter, Node.js
 
@Forby I modified the script noise.js a little with a simple function to generate noise all it does is set random values instead of using the predefined array.
JavaScript:
  function randomArray(m){
    m = m > 256 ? 256 : m;
    var n = new Array(m);
    for(i = 1; i < m; i++){
      n[i] = Math.floor(Math.random() * m) + 1;
    }
    return n;
  };

  var p = randomArray(128);

  /*var p = [151,160,137,91,90,15,
  131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,
  190, 6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,
  88,237,149,56,87,174,20,125,136,171,168, 68,175,74,165,71,134,139,48,27,166,
  77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,
  102,143,54, 65,25,63,161, 1,216,80,73,209,76,132,187,208, 89,18,169,200,196,
  135,130,116,188,159,86,164,100,109,198,173,186, 3,64,52,217,226,250,124,123,
  5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,
  223,183,170,213,119,248,152, 2,44,154,163, 70,221,153,101,155,167, 43,172,9,
  129,22,39,253, 19,98,108,110,79,113,224,232,178,185, 112,104,218,246,97,228,
  251,34,242,193,238,210,144,12,191,179,162,241, 81,51,145,235,249,14,239,107,
  49,192,214, 31,181,199,106,157,184, 84,204,176,115,121,50,45,127, 4,150,254,
  138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];*/
  // To remove the need for index wrapping, double the permutation table length
  var perm = new Array(512);
  var gradP = new Array(512);
Don't really know too much about the source itself was just seeing what values we could change :)
 
I installed NODE.JS, on the official website, and opened the command prompopt as administrator, and then typed "cd / c / directory /" and typed OTMapGen.js and started generating it without errors.
 
I try to generate and read my own shape but x,y max value don't pass 255. I use chess example to check grounds.

mapData.data.nodes.forEach(function(x) {
x.features.forEach(function(x) {

// Skip anything that is not a tile area
if(x.type !== "OTBM_TILE_AREA") return;
// For each tile area; go over all actual tiles
x.tiles.forEach(function(x) {
// Skip anything that is not a tile (e.g. house tiles)
if(x.type !== "OTBM_TILE") return;
// Create a chessboard pattern using bitwise operators
// Replace the id property of each tile
// Get the elevation
z = zNoiseFunction(x.x, x.y);
b = MAP.GENERATION.SAND_BIOME ? 5 * zNoiseFunction(x.y, x.x) : 0;
id = mapElevation(z, b);
// Clamp the value
z = Math.max(Math.min(z, 7), 0);
// Fill the column with tiles
fillColumn(layers, x.x, x.y, z, id);
});
 
That x and y are in relative coordinates.. make sure to add the tile area coordinates to them

real x = tileArea.x + tile.x
real y = tileArea.y + tile.y

@Forby I modified the script noise.js a little with a simple function to generate noise all it does is set random values instead of using the predefined array.

Don't really know too much about the source itself was just seeing what values we could change :)

Don't go snooping around in noise.js :) you can change the parameters in OTMapGen.js (e.g. simplex2dfreq)
 
Back
Top