doc | ||
libfixmath@33a383b98e | ||
res | ||
src | ||
tools | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
demo.mp4 | ||
LICENSE | ||
README.md |
RTS (working title)
Overview
RTS is a cross-platform, sprite-based real-time strategy video game in the likes of several other entries from the mid 90's.
The game is under heavy development, and very far from being playable.
Platforms
The following platforms are either supported or support is expected in the future:
- (supported) Sony PlayStation 1, using a forked version of PSXSDK.
- (not supported yet) Microsoft Win9x, using a
i386-mingw32
cross-toolchain and SDL-1.2. - (not supported yet) Modern Unix-like operating systems such as GNU/Linux or *BSD, using SDL-1.2 (if available). Possibly modern Microsoft Windows versions, too.
Design goals
- Keep source code as simple and clean as possible.
- Keep platform-specific code separated so common code can be shared between platforms without modifications.
- Use C99 features for better portability.
- Use modern CMake features for a simplified build process and
availability of the
compile_commands.json
database. - Implement any multiplayer capabilities provided by the platform.
- And, above all, provide a fun game that can run even on low-end hardware.
Building from source
RTS can be built using the typical CMake build process. The following options can be defined:
PS1_BUILD
: builds for Sony Playstation 1HOST_BUILD
: builds for the host operating system using SDL-1.2WIN9X_BUILD
: builds for Microsoft Win9x operating systems using SDL-1.2. Ai386-mingw32
cross-toolchain must be available.
For example, the Sony PlayStation 1 version can be built using:
mkdir build && cd $_
cmake .. -DPS1_BUILD=1 -DVIDEO_MODE=VMODE_PAL -DCMAKE_EXPORT_COMPILE_COMMANDS=1
make -j$(nproc --all)
This will generate a .bin
/.cue
file pair in build
that can be
played on an emulator or burnt into a CD-r in order to play the game
on real hardware.
License
Unless stated otherwise, RTS follows the license described by the
LICENSE
file, which currently is the GNU General Public License v3
or later. Original versions of other works under various licenses are
also distributed in this project, that are located inside the
res/orig
directory. This directory also contains a LICENSE
describing the source and license of each individual file.
Derivative works have been also created from these files for this
project, that are located inside the res
directory. A LICENSE
file is also provided to describe the relationship between the
original and derived works.