TAME (Text Adventure Module Engine)
Copyright (c) 2015-2019 Matt Tropiano. All rights reserved.
Required Java Modules
UglifyJS (via uglify-es 3.3.9+)
For TAME JS minification on build.
This library reads, compiles, and executes TAME modules.
WARNING: TAME is in an incomplete state. The commands in the language, its structure, and their behavior may change before version 1.0, but it is completely functional and consistent in both the Java and JS implementations.
Until otherwise specified, any changes to the TAME commands set may invalidate TAME modules that are compiled to the serialized format or JS modules (but not embedded ones - those are safe).
- Serialization of game state that has circular references in its structure is not handled as gracefully as it should be. this is not expected to come up very often in user's modules.
- The JS implementation of TAME limits integers to roughly 53 bits, as it uses
Numberas its primary internal numeric format.
Contained in this release is a series of libraries that allow reading, compiling, writing, and executing TAME module files/archives, found in the com.tameif.tame packages.
master branch is assumed to be stable and contains consistent implementations between Java
and JS. All other branches should be considered "unstable."
Compiling with Ant
To compile this project, type:
Shell scripts (CMD/Bash) will also be created in the project directory that will run the main entry points of the compiled code, depending on your OS.
To make a JAR of just TAME's classes (no bundled dependencies), and the stand-alones (both main programs with entry points and necessary dependencies) plus scripts to run them, type:
Jars will be placed in the build/jar directory by default.
build.properties file is ignored by Git - you may make changes to this to suit
your build environment.
Files and Directories
Used In Build
Used for Testing
src/test/java src/test/nodejs src/test/scripts
The following files/directories are generated by build and ignored by
bin build deps dist *.cmd *.sh *.log
There is a Notepad++ Syntax Highlighter config in
The files in the
src/test/scripts/tame directory are sample TAMEScript programs that are used for testing. All
of them should be working, but there may be a few that don't during major changes.
This program and the accompanying materials are made available under the terms of the GNU Lesser Public License v2.1 which accompanies this distribution, and is available at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
A copy of the LGPL should have been included in this release (LICENSE.txt). If it was not, please contact us for a copy, or to notify us of a distribution that has not included it.
This contains code copied from Black Rook Base, under the terms of the MIT License (docs/blackrook-base-license.txt).