aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorNicolas James <Eele1Ephe7uZahRie@tutanota.com>2025-02-12 21:57:46 +1100
committerNicolas James <Eele1Ephe7uZahRie@tutanota.com>2025-02-12 21:57:46 +1100
commite4483eca01b48b943cd0461e24a74ae1a3139ed4 (patch)
treeed58c3c246e3af1af337697695d780aa31f6ad9a /README.md
parent1cc08c51eb4b0f95c30c0a98ad1fc5ad3459b2df (diff)
Update to most recent version (old initial commit)
Diffstat (limited to 'README.md')
-rw-r--r--README.md69
1 files changed, 69 insertions, 0 deletions
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 <your.ip.address.here>
+```
+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.