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
36
README.md
36
README.md
|
@ -19,10 +19,40 @@ TTRTS is from the ground up designed to be a fun way to practice programming. An
|
|||
$ cd ttrts
|
||||
$ ./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
Reference in a new issue