First, I’m planning on getting a more coherent item system going, adding in a healing potion thing, and fleshing out the GUI a little before throwing up what I’ve got onto the other site for download. Once that’s complete, it’s time to try my hand at NPCs/shops of some form, and possibly get a spell system working with targeting, and try to redo the town generation system.
Maps have been on my mind lately for some reason. Sure it’s easy enough to come up with another dungeon algorithm, or even a wilderness one, and add it into the game in a way that makes sense–hit the border of the town, load a wilderness map; hit stairs down, load the next dungeon algorithm, or what have you.
What I’ve been thinking about though, is how exactly to make towns seem different from eachother. The ultimate function of the “town level” in a Roguelike is for shops (loot), quests, and possible random scenarios (IE: coming across a tavern brawl, then segue that into a quest), all of which are simple enough in theory. It’s at this point where I’ll admit that I don’t really play Roguelikes all that often so I dont have experience with how others have done it, but what I can find off the net seems to show that there isn’t that much interest in how to algorithmically create a unique ‘town level’ in RL’s. There don’t seem to be many articles on the subject in RogueBasin (beyond a simple “take an area and fill it with rectangles + a door” advice on one dev FAQ), and some RLs like Nethack don’t even feature an overworld. Some others use hardcoded maps of 3-5 buildings and use those for settlements.
What it feels like to me is that for algorithmically making a unique town, it’s just a matter of combining differences to make uniqueness–have city A use brown wooden walls, a simple fence for a border, “peasant” sprites, small to medium sized rooms, while city B has stone gates, a wider mix of npc sprites, and larger buildings, and maybe a river running through it.
Still, something like that doesn’t feel significant enough, and I almost want to say it’s the nature of a Roguelike that does that, as things run on a grid. If you look at the towns in say, Morrowind (as I’ve been playing that recently, heh), those are all different. You’ve got the mud-brick adobe city that has the river cutting down the middle of it, the capital city broken into rectangular boxes (cantons, I think they were called?), you’ve got a nomadic settlement filled with yurts, as well as the traditional imperial forts, that one place whose buildings are made out of ancient giant crab shells… It’s like every city has a completely different architecture with uneven/winding paths, which isn’t something that can be easily shown on a system that works in terms of squares on a grid.
I’m probably going to be thinking about this some more. One solution would be to include more building shapes–circles, pentagons, and so on, as well as intersections between them. Another option could be to just rebuild how I’ve made the maps–replace each building with a handmade sprite, even though that could take a while, for example.
Don’t forget to check out the front page for the latest!