The Perlin noise used for not-very-defined tile maps isn't so great.
The result didn't satisfied me, plus, it was much funnier creating a new method.
What are you talking about? You actually made me go program a little heightmap generator just for the sake of testing it out what I said.
This generates a map based on the fomular:
Perlin(x,y)*255*cos((dist(x,y)*PI)/255) for dist(x,y) < 128
Color coded for giggles.
Perlin noise can generate some cool islands, even for not so well defined maps.
Damnit, you're right...
...Better late than never.
Well guys, I added 3 more roots with total random starting position, makin it look more like a continent. But since the Perlin noise is simpler and better than I expected, things probably'll be changed, but here's a result:
Next step is make the biomes by using the whittaker diagram as a reference:
The higher the place and as far as he gets from the equator line, the colder it gets. Also, the closer it gets from the sea, the bigger gets its moisture.
The map is going to be zoomed, 3x3 will be fractalized to 30x30.
After biomizing the whole map, it is time to build the cities - oh, they are modern - with good starting points for cities and using probabilities to define which way the city will grow(For example, if on one side there's a ginormous mountain and on the other a safe forest, it'll grow to the forest's way. The city's starting point may be a church or a village next to resources(forests, deserts with oil, minerals). I still have to think about that...
The structure of the tile:
struct Tile {
short int Height; //Ranging from 1~5, ^ and *;
short int Biome; //There are 9 - the nineth is "developed city", where the climate is completely controled, as seen in the diagram;
//Maybe creating more vegetation and exotic animals would make it more interesting;
short int Temp; //The temperature in Celsius, simply said;
short int Humidity; //The name says everything;
struct Constr; //Tell us if there is a construction and its population
}The Construction structure:
struct Constr {
short int Building;
//The building in the tile, 0 means no building and therefore, no population; short int Pplation;
//How many people there are in this tile. If it is a residential zone, it says how many are living. If a comercial/industrial, //how many are working. Other special buildings works the same way the C/I tile; short int Polution;
//Simply said, the average pollution of the area. Defined by industrial zones; short int Safety;
//Defined by pooverty(Subdeveloped buildings). I/C zones tend to be more dangerous; unsigned short int Value;
//The value of the area. Defined by safety, pollution, distance from C/I(if R) places and biome; }
As you guys can see, it was almost COMPLETELY based on SimCity, no coincidence. I thinked about taxes but you won't be living in the cities, just moving around and killing people, doing quests... Much like a rogue-like Grand Theft Auto.
Any tips on the design, anything, just say it. I won't start programming all this stuff before having a good plan.
I don't want to waste billions and billions of hours programming something bad. Again.