# 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.** ![Screencast of in-game footage](demo.mp4) ## Platforms The following platforms are either supported or support is expected in the future: - **(supported)** Sony PlayStation 1, using a forked version of [PSXSDK](https://git.disroot.org/xavi92/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 1 - `HOST_BUILD`: builds for the host operating system using SDL-1.2 - `WIN9X_BUILD`: builds for Microsoft Win9x operating systems using SDL-1.2. A `i386-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.