Hacking sim game?
Go to file
2025-09-21 00:22:04 +01:00
assets [Add] Implement basic UI windowing system. 2025-09-20 12:30:57 +01:00
client Create hybrid authority model for command processing. 2025-09-21 00:22:04 +01:00
common Create hybrid authority model for command processing. 2025-09-21 00:22:04 +01:00
server Create hybrid authority model for command processing. 2025-09-21 00:22:04 +01:00
.gitignore [Fix] .gitignore typo 2025-09-20 01:19:53 +01:00
CMakeLists.txt [Add] Initial project structure. 2025-09-20 01:03:03 +01:00
Makefile [Add] Generate compilation database. 2025-09-20 01:18:19 +01:00
README.org [Change] Add libfreetype-dev dependency to README 2025-09-20 03:49:52 +01:00

Working Title: Bettola

A multiplayer hacking simulator with a graphical OS, built in C++ and OpenGL.

Dependencies

The following dependencies are required:

  • A C++ compiler (e.g., clang, g++)
  • CMake (3.16 or newer)
  • SDL3 development libraries
  • GLEW development libraries
  • FreeType development libraries

Installation (Debian)

You can install all required dependencies with the following command:

sudo apt update
sudo apt install build-essential clang cmake libsdl3-dev libglew-dev libfreetype-dev

Build Instructions

This project uses a top-level Makefile to simplify the CMake workflow. Build artifacts will be placed in the bin/ directory.

Simply run the following commands from the root of the project directory:

  • Build the project:

    make
  • Build and run the client:

    make runc
  • Build and run the server:

    make runs
  • Clean the project: This removes the bin/ directory.

    make clean

Project Structure

The codebase is organised into three main components:

  • common/: A shared library (libbettola) containing code used by both the client and server.
  • client/: The game client (bettolac), handles rendering, UI, and user input.
  • server/: The game server, manages game state and the world simulation.