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
|
$ ./bootstrap.sh
|
||||||
$ ./ttrts # To launch binary and display usage
|
$ ./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
|
## 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
|
# ttrts - Tiny Terminal RTS v0.3.0
|
||||||
|
|
||||||
## SYNOPSYS
|
## SYNOPSIS
|
||||||
ttrts MAPFILE
|
ttrts MAPFILE
|
||||||
|
|
||||||
## DESCRIPTION
|
## DESCRIPTION
|
||||||
ttrts is a tiny terminal based RTS where that uses text
|
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
|
This means that any user, program or cat that can read
|
||||||
and write to text files can play the game.
|
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!
|
|
||||||
|
|
||||||
## OPTIONS
|
## OPTIONS
|
||||||
MAPFILE - File to read in the initial game state from
|
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
|
The GAMESTATE files in this directory can be read and
|
||||||
### Name
|
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
|
Turn_{TURN_NUMBER}.txt
|
||||||
|
|
||||||
### Contents
|
### Contents
|
||||||
===== ttrts v{MAJOR}.{MINOR}.{PATCH} =====
|
===== ttrts v{MAJOR}.{MINOR}.{PATCH} =====
|
||||||
NAME:{GAMENAME}
|
NAME:{GAMENAME}
|
||||||
SIZE:[{X},{Y}]
|
SIZE:[{X},{Y}]
|
||||||
TURN:{TURN_NUMBER}
|
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}]
|
UNIT:{ID} pl:{PLAYER} vs:{VIS} dr:{DIR(NESW)} ps:[{X},{Y}]
|
||||||
... {continue for all units}
|
... {continue for all units}
|
||||||
END
|
END
|
||||||
|
|
||||||
## ORDER FILE FORMAT
|
## Order File
|
||||||
### Name
|
|
||||||
Player_{PLAYER_ID}_Turn_{TURN_NUMBER}.txt
|
Player_{PLAYER_ID}_Turn_{TURN_NUMBER}.txt
|
||||||
|
|
||||||
### Contents
|
### Contents
|
||||||
ORDER:{ORDER_CHAR} id:{UNIT_ID}
|
ORDER:{ORDER_CHAR} id:{UNIT_ID}
|
||||||
... {continue for all orders}
|
... {continue for all orders}
|
||||||
END
|
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