Hi, I'm Sean, or seagaia on the internet. I design, program, and make music for games. I'm also a student right now. My current project is Anodyne - check it out!

Image RSS Feed Latest Screens
Inspiration Dave Title Screen
Blog RSS Feed Report abuse Latest Blog: Old Zelda-like Dungeon Design in Anodyne, part 1 of ?

0 comments by seagaia on Aug 12th, 2012

x-post from my wordpressThroughout development of Anodyne, one of the largest challenges I've faced is the task of developing a number of "Old Zelda-like" dungeons for the player to explore.
 What are "Old  Zelda-like" Dungeons?

 At a very high level, an Old (for the Zelda fans, I define this as everything up to and including the Oracles, excluding Zelda II of course)  Zelda-like dungeon (we'll refer to this as just "dungeon" from now on)  is a game mechanic that takes place in a grid of interconnected rooms, where the player starts in one designated room (think the entrance to your house - A), and ends up at some final room (think your bedroom - B). This journey from A to B must have a few additional details to bring it from some abstract definition to the more "Old Zelda-like" category:

 1. Going from A to B involves defeating enemies which exist to kill you - example - killing a bat that gets in your way.

 2. solving puzzles, which are just sets of entities which need to be manipulated in some fashion to progress - example - pushing a block that triggers a door opening.

 3. finding items in order to progress, or serve some more game-specific goal -  example - finding keys to open locked doors.

 In the context of Anodyne and *most* old Zelda games, the interconnected rooms are just a grid of equal-sized rectangular rooms. Very much like grid paper, with each cell being a "room". In the context of only Anodyne,  dungeon rooms are fixed at 10x10 tile dimensions. The choice of a fixed size for tiles was based in hardware for the old Zeldas, but in Anodyne's case is just a design choice - 10x10 is easy to deal with mentally, and usually offers wiggle room of 8x8 tiles for room design. (where the border can serve as walls for the room.) This is an example of a dungeon, this is the tutorial dungeon from Anodyne, as of 8/10/12 (very prone to tweaking, being the intro dungeon and all - where design matters a GREAT deal)

 The tutorial dungeon from Anodyne.

User Posted Image

 Designing and implementing a dungeon comes in a few steps: (At any point:)

 1a. Entity design - enemy and puzzle entities

1b. Scale choice - how many rooms

1c. Flow design - abstracting out sections of the dungeon, pacing through those sections, complexity of sections..

 Then, when those are roughly finished

 2. Chunking up the map and concurrently implementing rooms or outlines of room

3. Finishing up room designs

4. Playtesting to iron out bugs and other imbalances.With my workflow, it works best for me if I solidly have 1b and 1c down, and at least 1a partially done before I get started in the later steps. This order isn't definitive, they can come in any order and often do interweave as you iterate on ideas or need to tweak. It's a ton to talk about, so we'll just touch on a few points this time around. In this case, I want to discuss 1b (Scale) and 1c (flow, or structure of the player's route through the dungeon) a bit, and a little specific to Anodyne as well, in order for me to get a more solid understanding of what I've been trying to do, and also to give you some stuff to think about if you'd like to go try designing dungeons as well.

Scale

 Turtle Rock is...big. Image credit from VGMaps!

 User Posted Image
 Is your dungeon tiny, like the picture of the Anodyne tutorial dungeon? (or, for the familiar, Maku Path (OoA), that other intro in OoS)? Or is it monolithic (Turtle Rock (LA) - see picture, Ganon's Tower (LTTP))?

 Scale correlates to the number of rooms - the game boy zeldas usually cap out around the high 40s and low 50s - , but obviously whether or not this even matters depends on the structure of the dungeon. (More on that in a bit). But it's a good rule of thumb to be aware of how many rooms you're planning to implement. You want to be very aware of the size of your dungeon and where it comes into play in the timeline of the game - it's a good idea to keep the size of your dungeon in mind depending on how much the player has experienced too far. Give a large dungeon early, and you risk frustrating the player by unfairly expecting skills out of the player that haven't been developed through a logical progression of dungeon difficulty, give a small dungeon late, and you risk the perception of both being a lazy game designer and boring the player. That much seems obvious, but it's useful to keep in mind.

 In the case of Anodyne, my smallest dungeon is a mere 10 rooms, only 5 of which actually require some sort of meaningful interaction. On the other hand, the largest dungeon so far is a little over 60 rooms, although a handful are deliberately not very content-filled, and an entire part must be completely finished before going into the rest of the dungeon. Once you have some sense of scale pinned down (which you might still come back to, nothing really gets set in stone), you can think a bit about

 Dungeon Flow Structure

Okay, that's a lot of buzzwords...this is the high-level "flow" of the player through the dungeon - a overview of "how does the player get from A to B, and what are the main sections of this travel?" In Anodyne and the Zeldas, locked doors are used to help segregate sections of the dungeon, and give a sense of pacing - rather than making the player sprint through 25 action-packed rooms, maybe the designer chooses to have finishing 5 rooms open a door that lets you come back to that point quickly.

A basic example: The player first travels through these 6 rooms (section A). There is a key. Player opens a door in section B, which leads to 6 more rooms (section B), and another key. Key opens another door inside of section B, which leads to a large enemy. Killing the large enemy leads to a treasure room.These sections don't necessarily need to be physically separate rooms. Perhaps the environment of a room changes so that you can only go through certain exits, maybe the room changes itself, maybe there is overlap in the sections based on some item you get that lets you move. Etc.

When I design the structure, I generally do have a few rough mechanics or events related to the dungeon in my head - it's hard to go off of absolutely nothing when you just have "a big dungeon".For example, one dungeon I decided that I wanted to have some big triggered events that open up new parts of the dungeon, and went from there. With these mechanics, I think of a segregation of the dungeon that makes sense for the necessary complexity at that stage in the game, roughly decide what keys go where, and then move on from there. The tutorial dungeon in Anodyne (pictured above) is incredibly deliberate in each room's design - it has a short latency for death in terms of returning to where you die, and object placement is intended to make the desired action very difficult to not do, in order to show the player what to do. More on those mechanics later and why this is important (basically, because it's the tutorial), but the structure is:Player solves easy puzzle.Player gets weapon.Player kills enemy for key.Player opens door, solves easy puzzle.End.How you teach the player how to do these things in a nonintrusive way is an entirely different ordeal, but that's for a later post. Two other points:

 It's important to also take into account for player choice moving through the dungeon, if you have a lot of locked doors, absolutely be sure that you don't have a possibility where the player becomes permanently stuck! There's some easy-ish graph theory ways to think about this if you split sections that are lock-segregated (or event-segregated...or whatever your dungeon does) into vertices in a graph, and making sure each vertices has as many keys as it has outgoing edges (locks)...etc.

 Through designing dungeons I've been forgetting a bit how difficult it is at time to keep a picture of the dungeon in my head as I play it for the first time. When I say "complexity", I mean how much the player needs to passively keep in their head to avoid being totally lost and confused. In real life, navigating a  one way street isn't very complex if you know where you need to go on the street. Navigating, say, Manhattan, is a tad more difficult - you need to maintain your bearings, for one, as well as be aware of the convention of increasing street and avenue numbers. In games, a dungeon can be very large in scale, but not have a "complex" structure, if it's one linear romp (note that doesn't necessarily make a BAD dungeon, it could be action packed, etc...). Or, a slightly smaller dungeon could be very complex if it has intertwining paths that are sometimes one-way depending on the dungeon state.

 Scale and structure build off of one another. Most of these words don't have super strict meaning, and there really aren't rules so much as guidelines that strive to help create a sane experience for the player, but hopefully this will give you some things to think about if you want to design a level like this in a some Zelda-like of yours (or maybe it helps in other sorts of level designs!)

 Follow me (seagaia2) on Twitter, and comment if you're interested in hearing more!

Media RSS Feed Latest Video
Groups
Analgesic Productions

Analgesic Productions

Developer & Publisher with 2 members, invitation only

Analgesic Productions is the handy handle for Sean Hogan (seagaia) and Jon Kittaka, who are working on the game Anodyne.

Secrets of Grindea Beta Group

Secrets of Grindea Beta Group

Web & Community group with 257 members, invitation only

An invitation-only group where members of the beta can talk about stuff related to the game without spoiling it for the regular folks!

Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Level
Avatar
Avatar
Offline Since
May 23, 2014
Country
United States United States
Gender
Male
Member Watch
Track this member
Statistics
Activity Points
502
Rank
4,592 of 464,261
Watchers
1 member
Time Online
1 second
Comments
62
Site Visits
2,434
Profile Visitors
6,041 (3 today)
Contact
Homepage
Twitter.com
Private Message
Send Now
Email
Members Only
Twitter

Latest tweets from @seagaia2

bummed eto build somehow doesnt run on indiecade judge's windows bootcamp argh how / why

4hours 10mins ago

well i fixed a single-frame wall jump issue and this ergonomic mouse feels real good so i guess today is ok overall

4hours 10mins ago

RT @CreativeAspie: MT “@AtheistLauren: For people confused by why it's cheaper to eat fast food than buy fruits & veggies. T.co

4hours 12mins ago

Rage quit induced entity dynamic minimalization : a study

6hours 0mins ago

@anildash @kfan I wrote a bit about the article/game here (from a game designer's perspective) T.co

Jul 30 2014, 11:40am

Response to Bustle's 31 Questions About Kim Kardashian Hollywood - Brief post about the Kim K game and the... T.co

Jul 30 2014, 11:36am

RT @king_spooner: Life getting you down? Well, heck, it sure thickens the plot at least. Have a look at my up & coming game. T.co

Jul 30 2014, 11:14am

@jonkittaka it sounds like a scary clown death noise

Jul 30 2014, 12:56am

hey guys. the art market's hard to break into. i drew a bunch of these great landscape paintings. art is doomed! dont go into art

Jul 29 2014, 6:10pm

'u need 10k hours of art, 10k programming, 10k game design' well ok but 30k hours on boggle games still wont *runs*

Jul 29 2014, 6:09pm

iQew
iQew friends since May 21, 2012
Worthless_Bums
Worthless_Bums friends since Aug 30, 2012
SolarLune
SolarLune friends since Aug 23, 2012
CreativeStorm
CreativeStorm friends since Sep 12, 2012
RetroMasters
RetroMasters friends since Jul 30, 2013
jonkittaka
jonkittaka friends since Aug 29, 2012
yokainomiko
yokainomiko friends since Jan 28, 2013
ScaryPotato
ScaryPotato friends since Sep 21, 2012
gameblaster64
gameblaster64 friends since Feb 8, 2013
sparsevector
sparsevector friends since Aug 30, 2012