50 lines
1.4 KiB
Org Mode
50 lines
1.4 KiB
Org Mode
#+TITLE: 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
|
|
|
|
** Installation (Debian)
|
|
You can install all required dependencies with the following command:
|
|
#+BEGIN_SRC bash
|
|
sudo apt update
|
|
sudo apt install build-essential clang cmake libsdl3-dev libglew-dev
|
|
#+END_SRC
|
|
|
|
* 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:*
|
|
#+BEGIN_SRC bash
|
|
make
|
|
#+END_SRC
|
|
|
|
- *Build and run the client:*
|
|
#+BEGIN_SRC bash
|
|
make runc
|
|
#+END_SRC
|
|
|
|
- *Build and run the server:*
|
|
#+BEGIN_SRC bash
|
|
make runs
|
|
#+END_SRC
|
|
|
|
- *Clean the project:*
|
|
This removes the =bin/= directory.
|
|
#+BEGIN_SRC bash
|
|
make clean
|
|
#+END_SRC
|
|
|
|
* 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.
|