aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: d17301ef498b32ca8540cf1411df3feb34156294 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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.