Ustanak is a turn-based strategy game set during the historical period of the First Serbian Uprising (1804–1813). The game immerses players into the dramatic conflict between Serbian rebels (Hajduks) and the Ottoman Empire. Players must manage territories, command armies, and make tactical decisions to claim victory in this pivotal moment of history.
- Historical Setting: Experience the challenges and strategies of the First Serbian Uprising. Fight to liberate territories from Ottoman control or defend the empire's stronghold.
- Territory Management: Command armies stationed on various territories. Reinforce positions, attack enemy regions, and strategically maneuver forces to gain the upper hand.
- Turn-Based Gameplay: Take turns with your opponent, planning and executing moves with precision and strategy.
- Dynamic Map: A visually engaging map displays territories, troop placements, and movement options.
Experience a quick walkthrough of Ustanak, showcasing the main features, gameplay mechanics, and the dramatic battles between the Serbian rebels and the Ottoman Empire.
In Ustanak, each territory on the map is populated with a specific number of troops, and players must strategically manage their armies to conquer or defend regions. The ultimate goal is to control all territories or achieve other victory conditions set at the start of the game. Success relies on a combination of military strength, strategic troop placement, and effective management of your armies, recruits and events.
-
Select a Territory
Choose a territory under your control to take action. -
Troop Management
You can either transfer troops to adjacent regions or launch attacks on enemy territories. The outcome of battles depends on a variety of factors such as troop numbers, morale, and terrain advantages. -
Recruitment
After each turn, you have the opportunity to recruit new troops based on your city’s culture and level. Cities with higher levels and stronger cultural influence can recruit more units, giving you an advantage as you expand your empire. -
Strategic Battle Planning
Use strategic planning to outmaneuver your opponent. Morale plays a crucial role in determining the effectiveness of your troops in battle. High morale can lead to better performance, while low morale may cause troops to perform poorly. Additionally, certain types of terrain provide advantages, influencing the results of combat. -
Battle Results & Replay
Once a battle concludes, you can view the Battle Results in the corresponding dialog. Here, you will be presented with a summary of the outcome, including the number of troops that participated in the battle and which territory the battle took place in. Additionally, you'll find other key statistics, such as the number of casualties and the morale effects on both sides if you click on that battle. If you're interested in seeing the battle unfold again, you can simulate the battle's replay by clicking on play button in the Battle Replay window.
Before building the project, ensure you have the following tools and libraries installed:
- CMake (version 3.16 or later).
- Ninja build system.
- Qt 6.6.3, with these components:
- Qt Base Development (
qt6-base-dev) - Qt Multimedia Development (
qt6-multimedia-dev)
- Qt Base Development (
- g++ for compiling C++ code.
- Git for cloning the repository.
-
Download and install Qt for Open Source Development from qt.io.
During installation, choose Custom installation and include the following components:- Qt 6.6.3
- Qt Multimedia
- Qt Creator
- CMake
- Ninja
-
Clone the repository:
git clone https://gitlab.com/matf-bg-ac-rs/course-rs/projects-2024-2025/Ustanak.git
cd ./Ustanak- Open Qt Creator and load the project:
- Click on Open Project.
- Navigate to the project folder and select CMakeLists.txt.
- Press the Run button in the bottom-left corner to build and launch the game.
- Install the required dependencies:
sudo apt-get install git cmake ninja-build g++ qt6-base-dev qt6-multimedia-dev- Clone the repository:
git clone https://gitlab.com/matf-bg-ac-rs/course-rs/projects-2024-2025/Ustanak.git
cd ./Ustanak- Build the project:
cmake -G Ninja -B build/ -S ./
ninja -C build/- Run the game:
cd build/
./Ustanak




