Procedural Europe


I'm continuing working on the procedural terrain generator:  each tile of the 256x256 map of Europe i'm using, it now generates a procedural detail 128x128 map with features dependent on biome and neigbouring tiles: for example drawing the coastline according to the water tiles on world map. Road tiles will follow the direction of the other road tiles to draw a road that goes from edge to edge and make corners, T junctions and crossroads.

When walking on the edge on a procedural map, your character coordinates on world map changes and you get teleported to the procedural biome corresponding to new coordinates. Also the system now stitches together handcrafted maps with procedural terrain: when moving to a border of a handmade city map for example, arrows will be showed and you will be prompted to visit the wilderness or return to the world map.

For now i just made some rough proof of concept Road, Fields and Ocean biomes, working now on procedural cliffs and caves, but i still need to figure out how to programmatically places correct autotiles.

For each biome i define features that are mapped by tiles in each tileset notes like this


const BIOMES = [ { name: 'Abandoned', tilesetId: 1, lowerLayer: 'Dungeon',features: ['Stone', 'Rubble', 'Door', 'Window', 'Ruin', 'Decoration'] }, { name: 'AbandonedInside', tilesetId: 1, lowerLayer: 'Dungeon',features: ['Stone', 'Rubble', 'Door', 'Furniture', 'Crate', 'Barrel'] }, { name: 'Abstract', tilesetId: 1, lowerLayer: 'Cave',features: ['Grass', 'Stone', 'Water', 'Glow', 'Aura', 'Crystal'] }, { name: 'AlienPlanet', tilesetId: 1, lowerLayer: 'Cave',features: ['Stone', 'Crystal', 'AlienStructure', 'SpaceDebris', 'Void'] }, { name: 'Arena', tilesetId: 1, lowerLayer: 'Cave',features: ['Sand', 'Stone', 'Gate', 'Wall', 'Statue', 'Bench'] }, { name: 'Badlands', tilesetId: 1, lowerLayer: 'Cave',features: ['Sand', 'Stone', 'Rock', 'Crater', 'Badland', 'Crevasse'] }, { name: 'Bamboo', tilesetId: 1, lowerLayer: 'Cave',features: ['Grass', 'Bamboo', 'Stone', 'Water', 'Shrub', 'Moss'] }, { name: 'Beach', tilesetId: 1, lowerLayer: 'Cave',features: ['Sand', 'Water', 'Ocean', 'Beach', 'Palm', 'Driftwood'] }, { name: 'Canyon', tilesetId: 1, lowerLayer: 'Cave',features: ['Stone', 'Cliff', 'Rock', 'Sand', 'Crevasse', 'Crater'] }, { name: 'Castle', tilesetId: 1, lowerLayer: 'Cave',features: ['Stone', 'Wall', 'Tower', 'Gate', 'Arch', 'Fountain'] }, { name: 'CastleInside', tilesetId: 1, lowerLayer: 'Cave',features: ['Stone', 'Arch', 'Column', 'Statue', 'Fountain', 'Altar'] }, { name: 'Cave', tilesetId: 1, lowerLayer: 'Cave',features: ['Stone', 'Rock', 'Stalactite', 'Stalagmite', 'Crystal', 'Ore'] }, { name: 'CaveFlooded', tilesetId: 1, lowerLayer: 'Cave',features: ['Stone', 'Water', 'Stalactite', 'Stalagmite', 'Moss', 'Crystal'] }]

Tileset notes

<Water: A1 9><br><Grass: A1 10><br><Beach: A1 4><br><Road: D 6><br><Cliff: A4 9><br><Cliff: A4 10><br><Cliff: A4 13><br><Flower: B 6><br><Flower: B 7><br><Flower: B 8><br><Flower: B 9><br><Flower: B 10><br><Flower: B 11><br><Flower: B 12><br><Flower: B 13><br><Flower: B 14><br><Flower: B 15><br>


Once finished the procedural terrain generator, i will generalize it to also be able to generate other planets worldmap and their alien biomes, but the focus is now on making the entire Europe procedural since you will spend 80% of the game there, other than biomes also infrastructure (railroad, highway exists, electric lines) should be visible and working, with NPC travelling on their own, trucks travelling to their destination, working power grid simulation ecc...


Comments

Log in with itch.io to leave a comment.

(+1)

good shit

(+2)

i have a feeling launching this game will make my pc’s fans spin to jet liftoff rpm

(+1)

One of the few games nowadays that will actually incite CPU bottlenecks due to raw logic calculations rather than offloading graphical work unto it