/takeover

TakeOver - A Turn-Based Strategy Game

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Takeover: A Turn-Based Strategy Game

Takeover is a casual, turn-based strategy game. It is heavily influenced by (or: a clone of) the KDE game Konquest, with slightly snazzier graphics and user interface.

Splash screen | Game screenshot

Game Play:

The goal of the game is to take over all other planets in the galaxy, against the opposition of a group of computer players.

Initially, every player occupies just one planet each. There will also be some neutral, unoccupied planets. Each planet produces a fixed number of ships at each time step. The ships created by each planet differ in their strength in battle.

Players can send fleets of ships from any planet they occupy to any other planet. Upon arrival, the arriving fleet will fight against any ships currently present on the destination planet. If the attack succeeds, the attacker becomes the new owner of the planet. Opponents' fleets are not visible while underway.

The game ends if all planets are owned by a single player, and no player still has a fleet underway.

Hint: The game is easier to win with more opponents around!

Dependencies and Installation:

This application depends on Version 2 of the pyglet library. This version is quite new (November 2022), and most likely not installed as part of a Linux distro, or in a distro's package repo.

It is probably easiest to install the dependencies in a virtual environment. Assuming you have venv installed, the following commands will install takeover including its dependencies:

python3 -m venv venv
source venv/bin/activate    # or: source venv/bin/activate.csh
pip3 install git+https://github.com/janert/takeover

venv/bin/takeover           # this will launch the game

Alternatively, you can clone the repo and run the game "from source". In this case, pyglet must be installed explicitly, like so:

python3 -m venv venv
source venv/bin/activate    # or: source venv/bin/activate.csh
pip3 install pyglet

git clone https://github.com/janert/takeover.git

cd takeover

python3 -m takeover         # or: python3 takeover/takeover.py

Credits:

The overall concept was inspired by KDE Konquest.

This application relies heavily on pyglet for user interface programming, animations, and event handling. It was a pleasure to work with pyglet.

The art is, for the most part, not mine. A lot of it comes from OpenGameArt, in particular the planets and the special effects. The splash screen is based on an image by user6702303 on Freepik; the metallic sliders are mine, based on this image by pikisuperstar on Freepik. The fleet icon comes from icons8.

The planet names were inspired by (and often taken from) here.

I may have forgotten to mention something; if you think I am infringing on your rights, let me know, so that we can work it out.

License:

Copyright (c) 2023, Philipp K. Janert. All rights reserved.

Unless otherwise stated in individual files, the contents of this repository is licensed under the BSD 3-Clause license found in the LICENSE file in this directory.