https://github.com/jontrulson/conquest
A real-time multi-player space warfare game, originally written in RATFOR for VAX/VMS, but updated for the 21st century.
https://github.com/jontrulson/conquest
client-server conquest cplusplus-11 freeglut game internet mit-licensed multiplayer opengl sdl-mixer sound space space-warfare-game unix vax war
Last synced: 24 days ago
JSON representation
A real-time multi-player space warfare game, originally written in RATFOR for VAX/VMS, but updated for the 21st century.
- Host: GitHub
- URL: https://github.com/jontrulson/conquest
- Owner: jontrulson
- License: mit
- Created: 2018-01-27T00:02:52.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-12-04T00:19:37.000Z (over 1 year ago)
- Last Synced: 2025-04-10T01:10:28.766Z (24 days ago)
- Topics: client-server, conquest, cplusplus-11, freeglut, game, internet, mit-licensed, multiplayer, opengl, sdl-mixer, sound, space, space-warfare-game, unix, vax, war
- Language: C++
- Homepage:
- Size: 113 MB
- Stars: 16
- Watchers: 7
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# conquest
Conquest is a top-down, real time space warfare game. It was
originally written in RATFOR for the VAX/VMS system in 1983 by Jef
Poskanzer and Craig Leres.I spent incredible amounts of time playing this game with my friends
in the terminal labs at college, and when I actually had a multi-user
system running at home (Unixware) I decided to try and translate/port
the code to C in Unix. This was in the early to mid 1990's.Of course, over the years many things have changed. Today, Conquest is
a true client/server game. The client uses freeglut, SDL 2.0 (for
sound) and OpenGL. It uses C++11 to build, though for now it's "C
software with some C++ containers and constructs".The curses client is no longer provided.
## License
Conquest is released under the [MIT License](LICENSE.txt).
## Playing the game
Conquest is a client that must connect over a network to a conquestd
server. By default, if all requirements are met, both the client and
server will be built. To start the client and connect to a server,
run:```conquest ```
By default, when running conquest without options, conquest will query
the meta-server at *conquest.radscan.com* to get a list of currently
available servers. Pick one, login, and play.Alternatively, you can specify a specific server with the "-s" option:
```conquest -s localhost:1701```
The port number is optional, and will default to 1701.
You can get a list of the currently active servers via your web browser
by going to https://radscan.com/cgi-bin/conqmeta.pl### The goal of the game
The goal of the game is to conquer the Universe by bombing planets,
placing your team's armies on them and fighting off any ships that
want to ruin your day. When all of the core planets have been taken
by your team, the game is reset to start the carnage all over again.## Build Requirements
To build and run Conquest, you will need:
* automake/autoconf/libtool - The whole autoconf system.
* X11 development headers and libraries (all of them)
* OpenGL development headers and libraries. Conquest uses OpenGL
version 1.x.
* glut/freeglut development headers and libraries
* SDL 2.0 and SDL_mixer 2.0, if you want sound (you do).
* g++ 4.9 or better, or clang++ 3.4 or betterConquest supports Linux systems and has also been tested on MAC OSX
with homebrew. I currently develop on Kubuntu 22.04.In the past, other Unix systems were supported like the BSD's
(FreeBSD, OpenBSD, etc) as will as Digital Unix for Alpha processors,
and Sun/Oracle Solaris.These have not been tested in a while, so if there are problems,
please feel free to send patches. If they still work, I'd love to
know.The last release of conquest in 2010 also supported the conquest
client (only) on MS Windows systems (XP and Windows 7) using MinGW.
This has also not been tested in a while, but I plan to support this
again later.### Ubuntu
On an Ubuntu system (tested with Kubuntu 18.04), the following
should install the required packages to build the server and client:```
sudo apt-get install build-essential autoconf automake libtool \
libsdl2-dev libsdl2-mixer-dev ncurses-dev bison flex \
freeglut3-dev libxi-dev libxmu-dev
```### MacOS (Sonoma)
conquest can be built on MacOS (only Sonoma was tried) using
homebrew. It will run under XQuartz, so have that installed.```
brew install autoconf automake sdl2 sdl2_mixer pkg-config
```### Add the *conquest* group
Conquest requires it's own group to prevent cheating or interference
with the game data.#### Linux/Unix
First, create the conquest group (unix):```sudo groupadd conquest```
#### MacOS
On MacOS, you must create the group using *Apple Menu->Users and
Groups*. Add the *conquest* group. Afterward, click on the Info (i)
icon for the group and add yourself to it.### Building Conquest
Then:
```
sh ./autogen.sh
./configure
make
sudo make install
```## Mailing List
There is a low volume mailing list for Conquest. You can subscribe
[here](https://radscan.com/cgi-bin/mailman/listinfo/conquest).## IRC Channel
There is an IRC channel for Conquest on irc.libera.chat, channel: *#conquest*
## Further information
* The [Conquest Guide](docs/conquest-guide.md). This document gives
you some more information on Conquest and explains how to play it
(bomb planets, fight robot ships, etc). It also provides
information on navigation and other things you might want to know.* A Conquest player put up this
[Strategy Guide](https://cataboligne.org/index.php?itemid=17) some
years ago. While a little dated, it still has some good
information for new players.* The [HISTORY](docs/HISTORY.txt) file. This document gives
an overview of changes between releases.* The [Server Guide](docs/server-guide.md) has instructions for those
wanting to run their own Conquest servers.* Marisa Giancarla has setup a Conquest
[Gameplayers Club Community Page](https://conquest.gameplayer.club/)
for players and operators who wish to participate. Also available
are tools to help potential server operators who are not familiar
with the Linux/Unix command line.* The [CQI Parser Documentation](docs/conqinit.txt) provides
information on the format and types of files the Conquest server and
client uses to configure itself. The Universe (planets, etc),
textures, animations, and sound information are all handled by this
parser. This is primarily of interest to those wanting to run a
server with a modified Universe.## Some screenshots
NOTE: Some of these were taken using the server recordings of actual
game play.### Short Range View
### Long Range View
### A little war
### A mad robot
### The Doomsday Machine
