From e4483eca01b48b943cd0461e24a74ae1a3139ed4 Mon Sep 17 00:00:00 2001 From: Nicolas James Date: Wed, 12 Feb 2025 21:57:46 +1100 Subject: Update to most recent version (old initial commit) --- README.md | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..581388d --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +# blockgame_linux + +A somewhat-completed attempt at writing *that game* from scratch in C++20. + +![desert](https://salvestromartin.com/nJ3ahxac/files/raw/master/blockgame_linux/desert.png) + +![alpine](https://salvestromartin.com/nJ3ahxac/files/raw/master/blockgame_linux/alpine.png) + +![conflict](https://salvestromartin.com/nJ3ahxac/files/raw/master/blockgame_linux/conflict.png) + +# 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](https://cmake.org) : Cmake is a cross platform, open source build system generator. +- [Boost](https://boost.org) : Boost provides free peer-reviewed portable C++ source libraries. +- [sqlite3](https://sqlite.org) : SQLite is a C-language library that implements a SQL database engine. +- [assimp](https://github.com/assimp/assimp) : A library to import and export various 3d-model-formats. +- [SDL2](https://libsdl.org) : A library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware. +- [epoxy](https://github.com/anholt/libepoxy) : Epoxy is a library for handling OpenGL function pointer management for you. +- [freetype](https://freetype.org) : FreeType is a freely available software library to render fonts. +- [protobuf](https://github.com/protocolbuffers/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. + +```console + $ git clone https://salvestromartin.com:443/nJ3ahxac/blockgame_linux.git +``` + +Then compile from source via cmake after moving into the blockgame_linux directory. +```console + $ cd ./blockgame_linux + $ cmake ./ + $ make +``` + +# Client Usage + +Simply executing the binary will start a background server and connect your client to it. +```console + $ ./blockgame_linux +``` +Others may connect, provided they provide your IP address as an address argument. +```console + $ ./blockgame_linux --address +``` +Other arguments can be found with the help argument. +```console + $ ./blockgame_linux --help +``` + +# Server Usage +A dockerfile has been provided and launching the server may be achieved with the +following helper script: +```console + $ ./run_server.sh +``` +We suggest you open the server's port (8191 by default) if necessary. -- cgit v1.2.3