aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2021-10-24 04:02:41 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-03-30 08:20:20 +0200
commit6786333fead700a1b8fe2837c530889a160b9a27 (patch)
tree808a1535cf74ed8aff338d7045a9db319462e484
parent09301065ac8a7d4dbbad3d5245e99d098f48cc44 (diff)
downloadjancity-6786333fead700a1b8fe2837c530889a160b9a27.tar.gz
Add project README.md and demo
-rw-r--r--README.md71
1 files changed, 71 insertions, 0 deletions
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.