Xavier Del Campo Romero
||8 months ago|
|cmake||8 months ago|
|doc||8 months ago|
|res||8 months ago|
|src||8 months ago|
|CMakeLists.txt||8 months ago|
|README.md||8 months ago|
RTS (working title)
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.
The following platforms are either supported or support is expected in the future:
- Sony® PlayStation® 1, using a forked version of PSXSDK.
- Microsoft® Win9x, using a
i386-mingw32cross-toolchain and SDL-1.2. A
i386-mingw32cross-toolchain must be already available on the system.
- POSIX-compliant operating systems such as GNU/Linux® or *BSD, using SDL-1.2 (if available).
- Possibly, modern Microsoft® Windows® versions, too (currently untested).
- 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
- Implement any multiplayer capabilities provided by the platform.
- Support a wide range of screen resolutions, even portrait resolutions typically used by mobile platforms.
- And, above all, provide a fun game that can run even on low-end hardware.
Building from source
A native version of RTS can be built using the typical CMake build process:
mkdir build cd build cmake .. make -j$(nproc --all)
apt install libsdl-gfx1.2-dev libsdl-mixer1.2-dev libsdl1.2-dev
can be used to set up the cross-toolchain. Files labeled as
cmake/*-toolchain.cmake can be used as values.
Sony® PlayStation® 1
For example, the Sony® PlayStation® 1 version can be built using:
mkdir build cd build cmake .. \ -DCMAKE_TOOLCHAIN_FILE=../cmake/ps1-toolchain.cmake \ -DVIDEO_MODE=VMODE_PAL # VMODE_NTSC can be otherwise used make -j$(nproc --all)
This will generate a
.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.
mkdir build cd build SDLDIR=<sdl-prefix> \ SDLMIXERDIR=<sdl_mixer-prefix> \ SDLGFXDIR=<sdl_gfx-prefix> \ ENETDIR=<enet-prefix> \ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/win9x-toolchain.cmake make -j$(nproc --all)
SDLDIRis the path to the cross-compiled version for
SDL-1.2, which would correspond to
./configure --prefix=$SDLDIRused when building
SDLMIXERDIRis the path to the cross-compiled version for
SDL_mixer, which would correspond to
./configure --prefix=$SDLMIXERDIRused in building
SDLGFXDIRis the path to the cross-compiled version for
SDL_gfx, which would correspond to
./configure --prefix=$SDLGFXDIRused in building
ENETDIRis the path to the cross-compiled version for
enet, which would correspond to
./configure --prefix=$ENETDIRused in building
A stripped version of the executable, as well as game assets, will be
i386-mingw32 version of all required dependencies
is needed before building
Note upstream CMake does not provide
FindSDL_gfx.cmake as of the time
of this writing, so it is provisionally provided on
Read the documentation for further reference on how to build the dependencies from source.
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
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
file is also provided to describe the relationship between the
original and derived works.
Microsoft®, Linux®, Sony® and PlayStation® are registered trademarks of their respective owners.