1 / 16

DMGL: Dungeon Map Generation Language (Team 12)

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).

margo
Download Presentation

DMGL: Dungeon Map Generation Language (Team 12)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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)

  2. What is DMGL? (Yi Zhang)

  3. What is a Pen and Paper Role-Play Game? • 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.

  4. Progress of our project (Yi Zhang)

  5. Language Features (ShuaishuaiNie) • New Types Introduced in DMGL • Room • Door • Path • Feature

  6. Language Features (ShuaishuaiNie) • Simple and Understandable Statement Structure Sample Code: call init_map (20, 20) create room r1 (3,3) to north; create path p1 (3) to east; create path p2 (1) to east; create path p3 (3) to south; create room r2 (3,3) to south; remove p2; show_map ();

  7. Language Features (ShuaishuaiNie) • Introduce loop to facilitate the construction Sample Code: call init_map (30, 7); call start (1, 3); for (inti = 0; i < 4; i++){ create room anonymous (3,3) to south; if (i == 3) quit; create path anonymous (2) to south; } call show_map ();

  8. Language Features (ShuaishuaiNie) • Include random method and user defined function Sample Code: call init_map (20,20); create room myroom (3, 3) to west; intfirstDirection = 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); }

  9. Self made library to support backend logic (Xuanchen Tang) Functions.java Room.java Door.java Path.java

  10. Complier Architecture (Xuanchen Tang)

  11. Compiler Related Components (Xuanchen Tang)

  12. Test and Validation (Xiaohu Li) • Test methods: black box • Test levels: • Unit testing • Integrated testing • System testing • 111 test cases, over 1000 lines • Automated test script

  13. Test and Validation (Xiaohu Li)

  14. Demo (Lewis Flanagan) [ ] This Slide Left Intentionally Blank

  15. Potential Future Work (Lewis) • 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

  16. Summary • Lesson learnt • Start early • Regular meeting is essential

More Related