dmgl: dungeon map generation language (team 12)

16
Yi Zhang yz2414 (Project manager) Shuaishuai Nie sn2479 (Language Guru) Xuanchen Tang xt2128 (System Architect) Lewis Flanagan lrf2123 (System Integrator) Xiaohu Li xl2302 (Test &

Upload: margo

Post on 12-Jan-2016

37 views

Category:

Documents


0 download

DESCRIPTION

DMGL: Dungeon Map Generation Language (Team 12). Yi Zhang yz2414(Project manager) Shuaishuai Nie sn2479(Language Guru) Xuanchen Tang xt2128(System Architect) Lewis Flanagan lrf2123(System Integrator) Xiaohu Li xl2302(Test & Validation). What is DMGL? (Yi Zhang). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: DMGL: Dungeon Map Generation Language (Team 12)

Yi Zhang yz2414 (Project manager)Shuaishuai Nie sn2479 (Language Guru)Xuanchen Tang xt2128 (System Architect)Lewis Flanagan lrf2123 (System Integrator)Xiaohu Li xl2302 (Test & Validation)

Page 2: DMGL: Dungeon Map Generation Language (Team 12)
Page 3: DMGL: Dungeon Map Generation Language (Team 12)

Played with dice, notes detailing various characters, monsters, and villains, and maps.

One player, usually called the Dungeon Master or Game Master, controls all the monsters, non-player characters, the environment, etc. The other players each control a single “hero” character.

Usually the Dungeon Master is responsible for coming up with the storyline, challenges and maps the group uses.

Producing these materials can be commitment of several hours a week.

DMGL is intended to reduce the time required to create maps for these games.

Page 4: DMGL: Dungeon Map Generation Language (Team 12)

Date Event

Jan 25th First meeting, discussing ideas

Feb 23rd Language design and basic elements

Mar 8th Grammar decided, skeleton of scanner implemented

Mar 29th Skeleton of parser working

Apr 4th Initial tests written in advance

Apr 12nd Skeleton of translator working

Apr 26th Backend function working, integration into front end

May 5th Write last examples, finished final report edits, final testing

Page 5: DMGL: Dungeon Map Generation Language (Team 12)

New Types Introduced in DMGL

•Room

•Door

•Path

•Feature

Page 6: DMGL: Dungeon Map Generation Language (Team 12)
Page 7: DMGL: Dungeon Map Generation Language (Team 12)

Introduce loop to facilitate the constructionSample Code:

call init_map (30, 7);call start (1, 3);for (int i = 0; i < 4; i++){

create room anonymous (3,3) to south;

if (i == 3) quit;create path anonymous (2) to south;

}call show_map ();

Page 8: DMGL: Dungeon Map Generation Language (Team 12)

Include random method and user defined functionSample Code:

call init_map (20,20);create room myroom (3, 3) to west;int firstDirection = call randir ();create path mypath1 (2) to firstDirection;create path mypath2 (1) to firstDirection;direction newDirection = call randir ();while (newDirection == call oppositeDir(firstDirection) ) newDirection = call randir ();

create door d1 () to newDirection;create room r2 (3,3) to newDirection;call show_map ();

function oppositeDir (direction one):direction{return ((one + 2) % 4);}

Page 9: DMGL: Dungeon Map Generation Language (Team 12)

Functions.java

Room.java

Door.java

Path.java

Page 10: DMGL: Dungeon Map Generation Language (Team 12)
Page 11: DMGL: Dungeon Map Generation Language (Team 12)
Page 12: DMGL: Dungeon Map Generation Language (Team 12)

Test methods: black box Test levels:

• Unit testing• Integrated testing• System testing 111 test cases, over 1000 lines Automated test script

Page 13: DMGL: Dungeon Map Generation Language (Team 12)
Page 14: DMGL: Dungeon Map Generation Language (Team 12)

This Slide Left Intentionally Blank [ ]

Page 15: DMGL: Dungeon Map Generation Language (Team 12)

Include ability to check area to see if it is empty (call scan (x, y))

Add the ability to organize map objects into collections that can be acted on as a whole

Convert DMGL into an interpreted language Add local variables Add ability to include other DMGL source

files in a program, thus allowing user to import libraries of functions

Give DMGL an applet as a GUI and make it available online

Page 16: DMGL: Dungeon Map Generation Language (Team 12)

Lesson learnt

• Start early

• Regular meeting is essential