The Legend of Zelda and the NullPointerException
-
Upload
andrew-mcpherson -
Category
Technology
-
view
191 -
download
0
Transcript of The Legend of Zelda and the NullPointerException
The Legend of Zelda and
the NullPointerException
Procedurally Generating Game Worlds
Using Critical Path Algorithms
Outline
● Examples of Randomized Games
● Introduction of our IGF Submission
● Analysis of Procedural Generation
● Breakdown of Critical Path Algorithms
Andrew McPherson
● I study at UTC.
● I work for Bellhops.
● I make videogames.
● I talk really fast when I get excited.
(that’s me!)
five students, eight weeks, a lot of stress
Random Zelda-esque Dungeons
DunGEN (for generating dungeons!!)
● Dungeon Structure
● Critical Path Algorithm
● Key/Door Distribution
● Room Layout Design
● Tile Set Definition
DunGEN: Dungeon Structure
● Tiles had an image of 32x32 pixels.
● Rooms had an array of 11x9 tiles.
● Dungeons had a hashmap of rooms.
○ tiley vs roomy
○ r-coords vs d-coords
○ room-2-room
DunGEN: Critical Path Algorithm
1. Initiate the dungeon with a room.
2. Drop the hero into that room.
3. Append rooms for the critpath.
4. Put the objective in the final room.
DunGEN: Critical Path Algorithm
“critical path”The shortest path
for the players to
reach objectives.
DunGEN: Critical Path Algorithm
4. Add rooms along the critpath.
major vs minorA major room is
essential. A minor
room is optional.
5. For each segment, put a door on the
last major room, and a key in a
random minor room.
DunGEN: Key/Door Distribution
DunGEN: Room Layout Design
Each room was “predesigned” as data.
TileD for .tmx Notepad for .xml
DunGEN: Tile Set Definition
Each room (or segment
of rooms) are assigned a
tileset, which provides the
images to the tiles.
To Conclude
1. Randomizing your
game can improve
your replayability.
1. Developing a game
can be a lot of fun!(and we’re not done yet!)
Thank you!!
Craig Tanis Joey Shiraef
Thank you for listening!● Github: github.com/computc/nothingness
● Trello: trello.com/b/rzCWqT18/gamedev
● Website: arcym.github.io/nothingness
● Tumblr: mocsarcade.tumblr.com
Any Questions? :D