diff --git a/README.md b/README.md new file mode 100644 index 0000000..d17301e --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# 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. diff --git a/demo.mp4 b/demo.mp4 new file mode 100644 index 0000000..abe2153 Binary files /dev/null and b/demo.mp4 differ