The Legend of Zelda and the NullPointerException

Post on 13-Jul-2015

191 views 0 download

Tags:

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