t b a g
play

T.B.A.G. a (t)ext (b)ased (a)dventure (g)ame language Intro - PowerPoint PPT Presentation

T.B.A.G. a (t)ext (b)ased (a)dventure (g)ame language Intro Optimized for text based adventure games, can be used for others Easy to define rooms, NPCS, items Event-driven system Why Events? mouse_cat.tbag AST, Program


  1. T.B.A.G. a (t)ext (b)ased (a)dventure (g)ame language

  2. Intro Optimized for text based adventure games, can be used for others ● Easy to define rooms, NPCS, items ● Event-driven system ● Why Events? ●

  3. mouse_cat.tbag

  4. AST, Program Structure

  5. Parser

  6. Semantic Checker Abandoned a typed SAST ● Semantically correct AST ● Symbol Table - scope ● Environment ● Symbol Table ○ ○ Return type Current function ○ ○ Global variables Global functions ○ ○ Room, Item, NPC defs Room, Item, NPC decl’s ○ ○ Predicate statements/handlers Built-in functions (challenge) ●

  7. Java World Java Builder Room Definition Room.java TBAG World NPC.java NPC Definition Room Definition Room Declarations Item Definition Item.java Adjacency Declarations Start Declaration Variable Declarations NPC Definition Room Declarations NPC Declarations Adjacency Declarations Item Definition Start Declaration Item Declarations Driver.java main NPC Declarations Variable Declarations Item Declarations Predicates / Handlers Predicates / Handlers Function Declarations Function Declarations

  8. Code Gen

  9. Testing

  10. fib_func.tbag fib_event.tbag

  11. Gameplay tests simulate user input

  12. Planning, Processes, Development, Challenges Roles were fluid ● Version control ● Internal deadlines ● More helpful for planning than for actual results! ○ Changes in early December ● Code integration challenges ● Constant group feedback ●

  13. What We Feared

  14. What Really Happened EVERYONE IS BRADLEY COOPER

Recommend


More recommend