Hacking sim game?
Go to file
Ritchie Cunningham 9b4aa84a30 feat(network): Server reconciliation and fix UDP messaging.
Initial implementation of server-side reconciliation for player
movement.

Clients respect the server as the authoritative source for game state.
In 'process_game_state', the client compares its locally predicted pos
with the state received from the server and snaps to the server's
position if they diverge.

Had to add a defensive check to the server-side Player constructor to
fix a bug where the first connecting client was incorrectly assigned an
ID of 0. This prevented it from sending or recieving any game data.
2025-09-14 01:33:35 +01:00
assets/shaders feat(renderer) Render player quad with projection 2025-09-12 22:46:17 +01:00
libbettola feat(network): hybrid TCP/UDP networking model. 2025-09-14 00:52:18 +01:00
src feat(network): Server reconciliation and fix UDP messaging. 2025-09-14 01:33:35 +01:00
srv feat(network): Server reconciliation and fix UDP messaging. 2025-09-14 01:33:35 +01:00
.gitignore oops: Remove .clangd from version control. 2025-09-13 02:27:59 +01:00
CMakeLists.txt feat(server): Implement server-side game state. 2025-09-13 17:10:55 +01:00
Makefile refactor(math): Replace GLM with custom math lib. 2025-09-13 02:25:13 +01:00
README.org Initial commit of 2D RPG Engine. @dacav come help. 2025-09-11 23:07:38 +01:00

Bettola Game

A 2D RPG game and engine created with C++, SDL3, and OpenGL.

Dependencies

The following dependencies are requird:

  • 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:

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

Build Instructions

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

Run the following from the root of the project directory.

  • Build the project: The executable will be located in bin/bettola.

    make
  • Build and run the project:

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

    make clean