]> git.lizzy.rs Git - dragonblocks_alpha.git/commitdiff
Add more info to README file
authorElias Fleckenstein <eliasfleckenstein@web.de>
Fri, 16 Jul 2021 14:47:19 +0000 (16:47 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Fri, 16 Jul 2021 14:47:19 +0000 (16:47 +0200)
README.md

index 3e1ca257dcaef030e298e03e1d2b55ad7792aba9..b8952bbfa76189d3752a2d826757fd0a5aa9687c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,10 @@
-# Dragonblocks alpha
+# Dragonblocks Alpha
 
 A multiplayer voxelgame for POSIX systems.
 
-## Usage
+Head to <https://www.elidragon.com/dragonblocks_alpha/> for snapshot and release builds.
+
+## Invocation
 
 ```bash
 ./DragonblocksServer <port>
@@ -15,10 +17,6 @@ or alternatively:
 ./singleplayer.sh
 ```
 
-The server stores the map in map.sqlite (in the current directory).
-
-Interrupt handlers for SIGINT und SIGTERM are implemented.
-
 ## Controls
 
 Use W, A, S and D to move forward / left / backward / right and Space to jump.
@@ -42,3 +40,54 @@ both the client and the server depend on ZLib.
 ```bash
 sudo apt install zlib1g
 ```
+
+## Current Features
+- Multiplayer
+- Map generation with mountains and blended biomes that determine grass color
+- Physics
+- FPS Camera
+- Mipmapping, Antialiasing, Shaders
+- HUD
+- Saving the map to a SQLite3 database
+- Multithreading for map generation, mesh generation and network
+- Handlers for SIGINT und SIGTERM (just Ctrl+C to shut down the server)
+
+## Usage
+
+### Server
+The server currently stores all the world files (currently only map.sqlite) in the current working directory, and it will stay like that.
+If you want to have multiple worlds, just run the DragonblocksServer process from different directories.
+It's up to you how you organize the world folders, which is an advantage since the program really just "does one thing well"
+without having to search your system for share directories or maintaining a world list (like Minetest does).
+
+### Client / Singleplayer
+The Dragonblocks client itself does not and will not have a Main menu. It goes against the already mentioned UNIX philosophy to have a binary
+that does multiple things at once. For now, there is a singleplayer script that launches a server and a client, and in the future a launcher
+will be added that is used to do all the stuff that users nowadays don't want to do themselves, like showing you a list of worlds and launching the
+server in the correct directory, as well as updating the game and managing game versions for you. It's gonna do the ugly `~/.program_name`, but you
+wont't have to use it if you don't want to.
+
+### Modding
+Dragonblocks Alpha does not and will most likely never have a modding API. If anything, a Lua plugin API will be added.
+It would be possible to have a native modding API for a C project (as demonstrated by [dungeon_game](https://github.com/EliasFleckenstein03/dungeon_game)),
+but it would remove simplicity and, most importantly, remove optimisation possibilities.
+The way you are meant to mod dragonblocks is by simply forking it on github and modifiying the game directly. To use multiple mods together, just git merge them.
+If there are conflicts, the mods would likely not be compatible anyway.
+
+## Project Goals
+The name "Dragonblocks _Alpha_" does not have anything to do with the game being in early development (which it is tho), it's just the game's name.
+
+### What Dragonblocks Alpha aims to achieve
+- A voxelgame inspired by Minecraft and Veloren, with the techical side being inspired by Minetest
+- Exciting and feature-rich gameplay with the focus on exploring and adventuring, while still being multi-optional and not too bloated
+- A simple structure and invocation syntax
+- Using modern OpenGL to combine performance with graphics quality on high-end computers
+- Portability between PCs running POSIX systems (various Linux Distributions, BSD, MacOS, Plan 9)
+
+### What Dragonblocks Alpha does not aim to achieve
+- Portability to Windows or Phones / Consoles
+- Good performance on low-end PCs
+- A fixed story or lore
+- Cloning Minecraft behavior
+- Replacement for Minecraft and / or Minetest
+- An engine