Michael Schem Jason Etter Eric Trexel
Term Project Deliverable 1
Non-functional requirements
- The software shall use client-server organization consisting of a client-side UI and a server-side game processor.
- The user-interface portion of the software shall be written in HTML and JavaScript.
- The UI shall be drawn with the help of the Phaser library.
- The server portion of the software shall be written in Object Orient JavaScript.
- The game engine shall transmit state of the board to the AI through JSON HTTP post
- The game engine shall transmit state of the board to the UI through a JSON file
- The AIs shall respond to the game engine's JSON state with a move every time tick
Functional requirements
- The blockhouse shall have a health of 3
- The tank shall have a health of 2
- The tank shall lose mobility upon 1 hit
- The tank shall be destroyed on 2 hits
- Smoke shall be reported upon a hit from an enemy at the square of the tank
- Mountains shall be impassable and translucent
- Lakes shall be impassible and transparent
- Planes shall be passable and transparent
- Tanks shall be able to shoot up to 100 squares away and cause 1 damage
- Tanks shall cause up to 2 damage under 50 squares away
- There shall be 7 tanks for each team
- There shall be 1 blockhouse for each team
- The game Engine shall accept any AI, but must use JSON as a communication format.
URL to Source Control: https://github.com/michaelschem/GISMO