Update README files with new changes.
Also add changelog to top level readme
This commit is contained in:
		
							parent
							
								
									fc62785768
								
							
						
					
					
						commit
						286cc81f3c
					
				
					 3 changed files with 105 additions and 48 deletions
				
			
		
							
								
								
									
										34
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										34
									
								
								README.md
									
										
									
									
									
								
							|  | @ -20,9 +20,39 @@ TTRTS is from the ground up designed to be a fun way to practice programming. An | |||
|     $ ./bootstrap.sh | ||||
|     $ ./ttrts # To launch binary and display usage | ||||
| 
 | ||||
| ----------------------------------------------------------- | ||||
| ## Development | ||||
| 
 | ||||
| * [master](master) branch always stores latest stable release | ||||
| * master/{hotfix} branches store in progress hotfixes for the stable branch | ||||
| * [dev](dev) branch stores in progress development | ||||
| * dev/{feature} branches store features | ||||
| 
 | ||||
| ----------------------------------------------------------- | ||||
| ## Changelog | ||||
| 
 | ||||
| ## v0.3.0 | ||||
| * Additional functionality of walls | ||||
|   * Walls are noted in gamestate file on new "WALL:[X,Y]..." line | ||||
|   * Walls are impassable by all movement | ||||
| * Units leave an impassable wall behind after movement a la | ||||
| * Game can now end if no units are able to move | ||||
| * Various C++ api simplifications | ||||
| * ttrts now integrates | ||||
| * Integration of perl api from [ttrts-players](https://github.com/mdiluz/ttrts-players) | ||||
| 
 | ||||
| ## v0.2.0  | ||||
| * All team references changed to player | ||||
|     * Order file format changed to Player_#_Turn_#.txt | ||||
|     * Unit descriptors now use pl: instead of tm: | ||||
| * Various other C++ api corrections and refactors | ||||
| 
 | ||||
| ## v0.1.0  | ||||
| * First playable version of ttrts | ||||
| 
 | ||||
| ----------------------------------------------------------- | ||||
| ## Further Information | ||||
| 
 | ||||
| See [the ttrts binary readme](source/ttrts/README.md) for full usage and game rules | ||||
| See the ttrts binary [readme](source/ttrts/README.md) for full usage and game rules | ||||
| 
 | ||||
| See [my ttrts-players repository](https://github.com/mdiluz/ttrts-players) for examples of players | ||||
| See [ttrts-players](https://github.com/mdiluz/ttrts-players) for examples of AIs | ||||
|  |  | |||
|  | @ -1,17 +0,0 @@ | |||
| TTRTS Gameplay | ||||
| ================= | ||||
| 
 | ||||
| The game takes place in a series of simultaneous turns on an arbitrarily sized 2D board. | ||||
| 
 | ||||
| Each player is in control of a set number of starting units, and each turn receives data on the status of the board. | ||||
| 
 | ||||
| Each player must then issue a command to each unit in their control. | ||||
| 
 | ||||
| All commands are evaluated simultaniously. | ||||
| 
 | ||||
| All attempted movement to the same square by two or more units will fail. | ||||
| 
 | ||||
| Friendly fire is enabled by default. | ||||
| 
 | ||||
| A player wins when all opposing units have been destroyed. | ||||
| 
 | ||||
|  | @ -1,58 +1,102 @@ | |||
| # ttrts - Tiny Terminal RTS v0.3.0 | ||||
| 
 | ||||
| ## SYNOPSYS | ||||
| ## SYNOPSIS | ||||
| 	ttrts MAPFILE | ||||
| 
 | ||||
| ## DESCRIPTION | ||||
| 	ttrts is a tiny terminal based RTS where that uses text | ||||
| 	files as order lists to control it's units. | ||||
| 	files as order lists to control it's units | ||||
| 
 | ||||
| 	This means that any user, program or cat that can read | ||||
| 	and write to text files can play the game. | ||||
| 
 | ||||
| ## USAGE | ||||
| 	When invoked, ttrts will set up a full game and output a | ||||
| 	single file representing the current gamestate into a  | ||||
| 	local directory called `ttrts_{GAME_NAME}`. | ||||
| 
 | ||||
| 	This file can be read in and interpretted by human, robot | ||||
| 	or cat. ttrts will wait for orders files to be placed in  | ||||
| 	it's current working directory. | ||||
| 
 | ||||
| 	Once orders have been set for each player taking part  | ||||
| 	ttrts will calculate the new game state and output a new  | ||||
| 	gamestate file for the next turn. | ||||
| 
 | ||||
| 	This process repeats until a winner is chosen! | ||||
| 	and write to text files can play the game | ||||
| 
 | ||||
| ## OPTIONS | ||||
| 	MAPFILE - File to read in the initial game state from | ||||
| 
 | ||||
| -------------------------------------------------------------- | ||||
| ## USAGE | ||||
| 	When invoked, ttrts will set up the game in a local  | ||||
| 	directory called `ttrts_{GAME_NAME}` | ||||
| 
 | ||||
| ## GAMESTATE FILE FORMAT | ||||
| ### Name | ||||
| 	The GAMESTATE files in this directory can be read and | ||||
| 	interpreted by human, robot or cat.  | ||||
| 
 | ||||
| 	ttrts will then await ORDER files from each participant | ||||
| 
 | ||||
| 	Once all ORDER files have been received ttrts will  | ||||
| 	calculate the turn and output a new GAMESTATE file | ||||
| 
 | ||||
| 	This process repeats until the game is over | ||||
| 
 | ||||
| ----------------------------------------------------------- | ||||
| # TTRTS GAMEPLAY | ||||
| 
 | ||||
| ## RULES | ||||
| 	The game takes place in a series of simultaneous turns | ||||
| 	on an arbitrarily sized 2D board | ||||
| 
 | ||||
| 	Each turn, the client outputs a GAMESTATE file and  | ||||
| 	waits for an ORDER file from each player | ||||
| 
 | ||||
| 	All commands are evaluated simultaneously with friendly | ||||
| 	fire enabled by default | ||||
| 
 | ||||
| 	The game is over when any of three conditions are met - | ||||
| 	* All remaining units are controlled by a single player | ||||
| 	* No units are left (draw) | ||||
| 	* All units left are unable to move (draw) | ||||
| 
 | ||||
| ## UNITS | ||||
| 	Each unit occupies a single tile on the board, facing  | ||||
| 	in a compass direction (NESW) | ||||
| 
 | ||||
| 	Units will only accept orders from their owner | ||||
| 
 | ||||
| 	Units can receive only a single order each turn | ||||
| 
 | ||||
| 	Units cannot occupy the same tile as other units/walls | ||||
| 
 | ||||
| ## ORDERS | ||||
| 	F   - Move unit [F]orward one space, leaving a wall | ||||
| 	      | ||||
| 	This wall will remain until the end of the game,  | ||||
| 	blocking movement to that tile | ||||
| 
 | ||||
| 	Movement orders have no effect if impossible, eg. | ||||
| 	* Attempting to move outside of map | ||||
| 	* Attempting to move on to tile occupied by unit/wall | ||||
| 
 | ||||
| 	L/R - Rotate unit [L]eft or [R]ight | ||||
| 
 | ||||
| 	Unit will rotate clockwise or counter-clockwise, | ||||
| 	this order cannot fail | ||||
| 
 | ||||
| 	A   - [A]ttack in straight line in front of unit | ||||
| 	       | ||||
| 	Attack will continue forward until unit can't progress, | ||||
| 	all units within the path of the attack are destroyed. | ||||
| 
 | ||||
| ----------------------------------------------------------- | ||||
| # FILE FORMATS | ||||
| 
 | ||||
| ## Gamestate File | ||||
| 	Turn_{TURN_NUMBER}.txt | ||||
| 
 | ||||
| ### Contents | ||||
| 	===== ttrts v{MAJOR}.{MINOR}.{PATCH} ===== | ||||
| 	NAME:{GAMENAME} | ||||
| 	SIZE:[{X},{Y}] | ||||
| 	TURN:{TURN_NUMBER} | ||||
| 	... {any extra properties could go here} | ||||
| 	WALL:[{X},{Y}][{X},{Y}][{X},{Y}]...{repeat for all walls} | ||||
| 	~~~~ | ||||
| 	UNIT:{ID} pl:{PLAYER} vs:{VIS} dr:{DIR(NESW)} ps:[{X},{Y}] | ||||
| 	... {continue for all units} | ||||
| 	END | ||||
| 
 | ||||
| ## ORDER FILE FORMAT | ||||
| ### Name | ||||
| ## Order File | ||||
| 	Player_{PLAYER_ID}_Turn_{TURN_NUMBER}.txt | ||||
| 
 | ||||
| ### Contents | ||||
| 	ORDER:{ORDER_CHAR} id:{UNIT_ID} | ||||
| 	... {continue for all orders} | ||||
| 	END | ||||
| 
 | ||||
| ### Orders | ||||
| 	F   - move unit [F]orward one space | ||||
| 	L/R - rotate unit [L]eft or [R]ight | ||||
| 	A   - [A]ttack in straight line in front of unit | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue