diff --git a/README.org b/README.org new file mode 100644 index 0000000..4d5aac2 --- /dev/null +++ b/README.org @@ -0,0 +1,49 @@ +#+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.