God Mode Team One Up 1 Team One
- Slides: 26
God. Mode Team One. Up 1
Team One. Up Joe Ennever - Systems Integrator Zack Sheppard - Language Guru Nic Borensztein - Project Manager Danny Hertz - Systems Architect Mike Hernandez Verification/Validation 2
God. Mode Basics Joe Ennever - Systems Integrator Zack Sheppard - Language Guru Nic Borensztein - Project Manager Danny Hertz - Systems Architect Mike Hernandez Verification/Validation 3
Basics - Why God. Mode? Joe Ennever Every CS Major wants to code video games High-level programming language for designing 2 D platforms Spend time working on rules and AI rather than graphics
Basics - Why God. Mode? Joe Ennever 2 D, grid-based games with discrete time steps One or more Agents following coded logic in a single-World environment
God. Mode Structures Joe Ennever - Systems Integrator Zack Sheppard - Language Guru Nic Borensztein - Project Manager Danny Hertz - Systems Architect Mike Hernandez Verification/Validation 6
Structures - Agents Zack Sheppard The active sprites in the World Move, speak, wave, attack, interact, etc. Can be autonomous or governed by user input
Structures - Agent (Sample) Zack Sheppard Agent Frog { action void construct() { this: health is 1; this: speed is 1; } action void on. Turn() { move(World: last. Keyboard. Arrow()); World: clear. Recent. Keyboard. Input(); } action boolean has. Won() { this: _position: y() == (World: height() - 1); } }
Structures – Worlds Zack Sheppard The Framework for Agent interactions Acts as governor in that it controls Agents Acts as toolbox in that it offers utility actions
Structures - World (Sample) Zack Sheppard World { know num health is 5; know Frog character; action void construct() { this: width is 10; this: height is 20; } action void start. Round() { health--; character is new Frog(); this: add. Agent(character, new coordinate(4, 0), north); } action void on. Turn. End() { //Process adding the cars in here if( character: is. Dead() OR character == null) { start. Round(); } } action boolean should. End() { return (health < 0 OR character: has. Won()); } }
God. Mode Programming Joe Ennever - Systems Integrator Zack Sheppard - Language Guru Nic Borensztein - Project Manager Danny Hertz - Systems Architect Mike Hernandez - Verification/Validation 11
Programming - Syntax Nic Borensztein Primitive types: num, string, boolean, direction Arithmetic operators: +, -, *, /, ^, % and, or, not=, isa Collections and for each loops for each Agent hunter in collection. Of. Hunters { hunter: move(South); } 12
Programming - Syntax Nic Borensztein “is” vs. “=” Accessor operator “: ” “know” as declaration know num age is 0; know string name; action void set. Name(string name) { this: name is name; } 13
God. Mode Back-End Joe Ennever - Systems Integrator Zack Sheppard - Language Guru Nic Borensztein - Project Manager Danny Hertz - Systems Architect Mike Hernandez - Verification/Validation 14
Back-End - Components Nic Borensztein Input: . god file. Consist of exactly one Agent and one World declaration. Lex creates token stream, YACC parses and compiles Generates Java code, complete with Agent and World classes Swing graphics engine and awt events 15
Back-End – Components Nic Borensztein Compiler: generates tree structure of statements, helps keep track of variable scope and order of statements. inserts and checks variables and actions against symbol table hash function to store identifier, type, scope 16
Back-End – Bibles Danny Hertz Similar to Libraries in Java Basic toolkits, expanded Agent and World data types Extends common 2 D platformer functionality Reusable, Timesaving Built-in Bibles (basic sound, movement, collisions) User generated Bibles (randomness, path following) 17
Back-End – Bibles Danny Hertz 18
God. Mode Front-End Joe Ennever - Systems Integrator Zack Sheppard - Language Guru Nic Borensztein - Project Manager Danny Hertz - Systems Architect Mike Hernandez Verification/Validation 19
Front-End - GUI Interaction Mike Hernandez The GUI provides the end -user a method of interaction with the newly developed program Offers potential for configuration, errorreporting, pause functionality, and clean exits 20
Front-End - GUI Interaction Mike Hernandez The console allows users to obtain a real-time update of the World and all the Agents it contains Enable or disable functionality by selecting “Console” in the menu Populate the Console with data by selecting “Status” in the Menu All print(); statements will print to this location 21
Front-End - GUI Interaction Mike Hernandez The Options Dialog allows users to customize their game experience Enable or disable visibility by selecting “Options” in the Menu Gridlines can be turned on or off Additional or designer-defined options are possible and can be curtailed to the needs of programmers 22
Front-End - GUI Interaction Mike Hernandez Users have the ability to pause (and later unpause) the current game or simulation Access this functionality by selecting “[Un]Pause” from the Menu Provides programmers with additional debugging capabilities when combined with the Console and print(); statements 23
Front-End - GUI Interaction Mike Hernandez Worlds are found on the left of the frame, and represent the current (visual) state of the program Height, width, and grid size are accurate to God. Mode World definitions Offers potential notifications after the occurrence of predetermined events. 24
Front-End - GUI Interaction Mike Hernandez Agents can be found within the world, either mobile or stationary Location and status are displayed according to Agent definitions in the God. Mode program Updates in real time to reflect the changes undergone by all Agents on every turn 25
Conclusion Thank you! Questions? Comments? Complaints? Applause? 26
- Ultrasound a-mode
- One empire one god one emperor
- One god one empire one emperor
- One ford behaviors
- Focus mode and diffuse mode
- Mode địa chỉ tức thì là mode
- Real protected and virtual modes of 80386
- Operating modes of 8051
- Gartner mode 1 mode 2
- Perbedaan (planning mode) dan (evolutionary mode)
- 8088 data bus
- One team one mission meaning
- One team one dream
- Pgcps coherence framework
- Our god is an awesome god vine
- My god is an awesome god he reigns
- Our god is an awesome god medley
- God is good god is great speed
- O god you are my god earnestly i seek you
- God-given virtues that direct us to our loving, triune god.
- God-given virtues that direct us to our loving, triune god.
- My god's bigger than your god
- Bureaucratic bypass syndrome
- Team spirit becomes team infatuation
- The white team cheers for the blue team, just like
- Little dog run
- One king one law one faith