Skip to content
This repository was archived by the owner on Aug 25, 2024. It is now read-only.

mdiluz/ttrts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

189 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TTRTS

The Tiny Terminal RTS where the players write their AIs


Introduction

A simple terminal based RTS game that uses text files to communicate game state and unit commands.

TTRTS is from the ground up designed to be a fun way to practice programming. Any programming language than can handle file I/O can be used to make an AI for TTRTS, and this extensibility allows for any type of programmer to enjoy designing and playing against their friends.


Building TTRTS

Requirements

  • CMake - our build system uses cmake
  • Linux/OSX - currently no support for Windows, tracked with Issue #9

To Build

$ git clone https://github.com/mdiluz/ttrts.git
$ cd ttrts
$ ./bootstrap.sh
$ ./ttrts # To launch binary and display usage

Development

  • master branch always stores latest stable release
  • master/{hotfix} branches store in progress hotfixes for the stable branch
  • dev branch stores in progress development
  • dev/{feature} branches store features

Changelog

v0.4.0

  • Updated with network functionality
    • Game can now be hosted with ttrts --server option
    • Server can be connected to with ttrts --client
  • Updated command line interface with new launcher script
    • map file must now be specified with --map=FILE
  • Slight refactor of libraries to account for new run targets

v0.3.2

  • Fix bug when loading map files with walls
  • Fix ttrts on OSX
    • Install man files to correct location
    • Update usage of sed to be compatible with BSD as well as GNU versions
  • New maps and renames of old ones

v0.3.1

  • Upgraded install target to repository
    • libttrts static library binary in /usr/local/lib
    • ttrts headers in /usr/local/include/ttrts
    • bash completion into /etc/bash_completion.d/
    • man page into /usr/local/man/man6
    • maps into /usr/share/ttrts/maps
  • client now supports env variable configuration
    • TTRTS_MAPS for location of map files, defaults to /usr/share/ttrts/maps
    • TTRTS_GAMES for gameplay directories, defaults to /tmp/
  • Map files now have proper header
  • NOTE: This version is compatible with v0.3.0, but old generated mapfiles will need the additional header line added

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
  • Game can now end if no units are able to move
  • Various C++ api simplifications
  • Integration of perl api from 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 for full usage and game rules

See ttrts-players for examples of AIs

About

The Tiny Terminal RTS with programmable AI

Resources

Stars

Watchers

Forks

Packages

No packages published