blockgame_linux
A somewhat-completed attempt at writing that game from scratch in C++20.



Features
- High performance OpenGL renderer capable of 64 chunk distance with ease
- Cross platform multiplayer support with a multithreaded scalable server
- Diverse biomes and a virtually infinite world
- Local player area bounded chat system
- Persistent world and player position
- Movement and collision system
- Simple user interface
- Decentralised anonymous authentication, no central authority
Dependencies
- CMake : Cmake is a cross platform, open source build system generator.
- Boost : Boost provides free peer-reviewed portable C++ source libraries.
- sqlite3 : SQLite is a C-language library that implements a SQL database engine.
- assimp : A library to import and export various 3d-model-formats.
- SDL2 : A library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware.
- epoxy : Epoxy is a library for handling OpenGL function pointer management for you.
- freetype : FreeType is a freely available software library to render fonts.
- protobuf : Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.
Building from Source
To download the latest available release, clone this repository over github.
$ git clone https://git.nj3.xyz/blockgame_linux
Then compile from source via cmake after moving into the blockgame_linux directory.
$ cd ./blockgame_linux
$ cmake ./
$ make
Client Usage
Simply executing the binary will start a background server and connect your client to it.
$ ./blockgame_linux
Others may connect, provided they provide your IP address as an address argument.
$ ./blockgame_linux --address <your.ip.address.here>
Other arguments can be found with the help argument.
$ ./blockgame_linux --help
Server Usage
A dockerfile has been provided and launching the server may be achieved with the following helper script:
$ ./run_server.sh
We suggest you open the server's port (8191 by default) if necessary.
