I just wanted to note that I’m not pulling my info out of thin air. I’ve got an application (AppGrouper) and a game (Ringi) out on Google Play.
Here’s Ringi (available for free!):
Making those two taught me a lot about Android. Actually releasing them and have people play them, and more importantly CRASH them, on all their devices taught me more.
At the moment I’m working on a second game which will feature procedurally generated content. Not only will it make it’s own maps, but I’m planning on having them filled with procedurally distributed factions which inhabit procedurally distributed cities, each generating procedurally generated but logically coherent quests and mission.
I just finished up on the main outline of the program (Activities all managed by a “quarter-back” activity, which manages the activities) and it only took me two days to write a tile manager (from scratch!) to handle loading and displaying of the map tiles. I guess the “quarter-back” activity manager is worth a post.
At the moment however, I’m still researching map generation. I’ve pretty much got it sorted; using eiether voronoi graphs or multiharmonic fractals I’ll fill up a large array with heights and use that as a map. Then I’ll use that to create the tiles and do some image processing (enlarging and XOR-ing , that kind of thing) to create the style I want (basically I want the map to look like cartography, like the maps you find in Lord of the Rings/Fantasy books). After that’s done, I use the same backing array and map tile to fill the tiles with little pictures of mountains, trees, cacti etc., all depending on the biome on the tile.
I haven’t yet decided if I want to bake those trees and mountains/hills into the tile or display them dynamically as/when the tile gets loaded. I guess the second, as although that would mean a second drawing pass, it also allows me to do dynamic things (reduce forrests due to logging, create mountains passes).
Anyway, I have the map tiling system in place, now it’s time to generate the filling 🙂