Monthly Archives: November 2011
The majority of the world terrain generator is complete, including all biomes. This has been a LOT of slow work on account of all the sprites I’ve been having to draw, but the variety is worth the effort. The world map system itself is complete. In addition, I’ve addressed some minor bugs and completely recoded some things affecting A.I’s awareness, most importantly fixing the fact that if you attack something when it can’t see you, it wouldn’t react.
There’s still some foliage, animals, and other decorations to draw and program, plus I need to add some gameplay-related goodies around the place. This coming Monday, I will upload whatever I have in the build as v0.12.
I got back to work!
Today, I made the world map screen functional, and added sprites for each of the different biomes, though they’re pretty rough right now. The individual biomes don’t have their generators yet, just plains. However, the edges of a biome that touch an impassable biome have the appropriate tiles added onto the edges and corners. Hard to explain, but you’ll see later.
As it is now, you’re able to move to and from the world map as you please. But there’s no towns or any other points of interest added in yet, and every biome defaults to the PLAINS generator. I had to totally recode the terrain generator so that it can take the biome data and points of interest and overlap them to generate an area. All I have to do now is actually set how those specific things are generated, which is much simpler now since I finally got around to condensing some of my commonly-used tile-placement algorithms into easy-to-read functions. This doesn’t affect dungeon/cave generators, thankfully. Those are separate.
I also added some delayed tooltips to buttons and made it easier to set tooltips for other buttons later.
I’ll probably upload a new version once I have the biome and P.O.I. generators completed. It could be a week at most. There’s a lot to do…
So, as you can see, I’ve started working on the world map.
The way it works is if you’re on the surface (not in a dungeon, cave, tower, etc.) then you can zoom between the immediate area and the world map as long as you’re not targeted by an enemy. The world map will facilitate fast-travel and time will pass faster as you move about it, but you also have the option of hoofing it while zoomed in for the entire game. Heck, I might even implement a no-map mode for you super-hardcore guys.
And about the generator itself, for those who are curious…
You can choose three world sizes, 64×64, 128×128, and 256×256, which take about 2.5 seconds, 10 seconds, and 40 seconds to generate, respectively.
The generator takes three samples of perlin noise per tile, each sample representing elevation, temperature, and humidity. Each combination forms a unique biome like desert, plains, mountains, sea, and everything in-between. This forms what you see in the previous post. Each of those biome tiles decide which area-generator is used to create the map represented by that tile. There will also be points of interest intelligently placed on the world. First, a starting area for the player is decided, one with lots of room. Then from there, any locations that need to be reached by a new player by foot will draw an A* path from there to the starting area to make sure they are reachable, if not, it tries a new spot. One important place the player will NEED to be able to get to is the first clarion dungeon, which after being conquered, will grant the player a raft they can use to travel shallow oceans. The second will grant a boat that allows travel across deep seas. And maybe around the fourth or fifth (Out of seven by the way. Oh how I love the rule of sevens.) you’ll receive a flying apparatus.