Three Hundred :: Mechanic #101
  Squidi.net Sites:     Webcomics   |   Three Hundred Mechanics   |   Three Hundred Prototypes
 Three Hundred
   - Index Page
   - About...
   - By Year

 Collections
   - Comp-Grid
   - Procedural
   - Tactics
   - Tiny Crawl
   - Misc


 
PreviousMechanic #101Next

  Mechanic #101 - Tiny Crawl 3.0 - Linear Dungeons
Posted: 06/09/09

A unique way of modeling and creating dungeons for the Tiny Crawl concept.


  Tiny Crawl 3.0

The Tiny Crawl series of mechanics all revolve around the rather simple premise that you watch little sim-adventurers go through dungeons instead of controlling them yourself. Many of the mechanics have revolved around manipulating the environment to make the non-interactive dungeon crawls more interactive and enjoyable. Though dungeon crawling has been a fundamental part of the concept from the beginning, I never really came up with a workable, interesting dungeon format that I thought did the idea justice (the 2D platforming-like dungeons had too much vertical movement and made the experience more maze-like than I would've liked).

Enter what I'm calling the "Linear Dungeon":

[linear1.png]

This is just a simple implementation to demonstrate the concept. At it's core, the linear dungeon is simple a single straight path which the sim-adventurers move down, encountering enemies along the way. First, Mini-Maxim meets a slime, then a skeleton, another skeleton, then gets to the boss. Or he could decide to leave by traveling towards the left. In classic Tiny Crawl style, the action is shown in a tiny window for each character.

[linear2.png]

If two sim-adventurers are in the dungeon, they may meet. Depending on the circumstances, several things could happen. They could ignore each other and keep on walking, stop to talk / trade, or even join together to fight an enemy. Since the sim stops walking when he engages in battle, friendly and enemy units can still come towards the encounter from either side. You could eventually end up with a battle royale of all enemies and sim-adventurers all fighting in a single linear battle!

The benefit of this approach is that it is fairly easy to model behavior for the sim-adventurers, since there is only in front of them and behind them. Either they are moving forward, towards the boss, or backwards, towards the exit. Since a sim-adventurer isn't a player, the linear path might actually be more appropriate to their needs. Still, let's see if we can't make it a little more interesting anyway.


  Not So Linear

[linear3.png]

Now, we're talking! This is a much more complex dungeon, but if you look carefully, you can see that it is still made up almost entirely out of linear paths that are just connected. If you ignore, for the moment, the rooms sticking off each path, you'll see six distinct linear paths. Even though the dungeon is now more complex, each path still only has forward or backward movement (or change paths).

The rooms are special, smaller linear paths that are self contained with only a single exit back to the linear dungeon. They could be represented as paths themselves, but being self contained made me think that it would be more appropriate to represent them as individual nodes, rather than paths. The way the sim-adventurers see it is the same though.

What is the point of representing the dungeon this way, rather than as a more open tile map? Well, it simplifies a lot of things right off the bat. Sim-adventurers are either moving forward or backwards (unless they are using a door), so all their logic is based on a simplified path finding. If they want to get to the boss, they would be able to figure out which door they need to take, then navigate there along the linear path. Enemy encounters and combat is now more easily modeled, as is the ability for sim-adventurers to encounter others and decide how to interact with them.

[linear4.png]

One of the real advantages is that it makes it really easy to design a dungeon - it is literally a series of lines connected at nodes, and nothing says the lines have to be straight. You, or the computer, could simply draw and connect a bunch of lines to make a dungeon. Rooms are just nodes on one side of the line or the other. Then have the computer procedurally fill the dungeon in by figuring out how long each path is, where the doors would be, and then create some random decorations to pretty it up.

Towns, also, would be easy to model using this approach, which the paths being town roads and the rooms being things like inns, shops, and guilds. Most environments can be simulated by this format, allowing for a rather easy and approachable way to create a wide variety of dungeons, towns, and whatnot without a lot of graphical or logical assets.


  Conclusion

I do think that this linear dungeon concept is a very strong approach for building the Tiny Crawl dungeons. It's better than a more open, two dimensional approach because it simplifies AI movement and understanding of the world and focuses it to something which can be interesting for the player to watch and understand. Building upon this simple concept, new features and elements would be easy to add to the dungeon, both by a player trying his hand at dungeon design, but also by a computer, which understands simple node-based graphs better than large two-dimensional spaces.

 

 





Copyright 2007-2014 Sean Howard. All rights reserved.