{"name":"TTRTS","tagline":"The Tiny Terminal RTS where the players write their AIs","body":"## Introduction\r\nWe aim to create a simple terminal based rts where a user can program an AI to control their army\r\n\r\n------------------------------------------------------------------------------------\r\n## Gameplay\r\n1. ttrts clients are run from the command line\r\n2. ttrts-server is launched from the command line \r\n3. clients will connect to server and confirm initial board state\r\n 1. clients output a text file with game data for this turn\r\n 2. a player, or program, reads the game data file and outputs an instructions file\r\n 3. clients read the instructions file, simulates the turn \r\n 4. game state is verified between clients and server\r\n 5. repeat until an end state is reached\r\n4. once game is finished, host and clients disconnect and a winner is notified\r\n\r\n*see [game](game) for full game rules*\r\n\r\n------------------------------------------------------------------------------------\r\n## Source\r\n\r\n\r\n### Targets\r\n##### ttrts\r\nMain TTRTS executable , runs from the command line and acts as client\r\n\r\n##### ttrts-server\r\nTTRTS server executable, runs from the command line acting as server\r\n\r\n##### player\r\nCustom player AI code, this should contain examples and test code to help newcomers begin their journey\r\n\r\n##### ttrts-test\r\nTest executable, to be compiled and run to test various functionality\r\n\r\n### Libraries\r\n##### game\r\nImplementation of the RTS rules and simulation. [game](game) has full information on it's implementation.\r\n\r\n##### net\r\nNet code for hosting the server and communicating with clients\r\n\r\n##### ui\r\nWrapper for user interface for the terminal, this only really needs three stages\r\n* Initialise the game with settings and connect the clients\r\n* Run the game simulation to it's conclusion\r\n* Display the game result\r\n* ASCII Colour wrapper for separate teams \r\n\r\n##### maths\r\nsimple maths library for 2D calculations and types","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}