]> git.lizzy.rs Git - dragonblocks_alpha.git/blobdiff - README.md
Fix memory bug at shutdown
[dragonblocks_alpha.git] / README.md
index b8952bbfa76189d3752a2d826757fd0a5aa9687c..aa88c0da92f95d7dd603522c1d1d9023b2fcf789 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,61 +1,77 @@
 # Dragonblocks Alpha
 
 A multiplayer voxelgame for POSIX systems.
+It has been ported to Linux, Windows, FreeBSD and OpenBSD, but may work on other systems.
 
-Head to <https://www.elidragon.com/dragonblocks_alpha/> for snapshot and release builds.
+Head to <https://www.elidragon.tk/dragonblocks_alpha/> for snapshot and release builds.
 
 ## Invocation
 
-```bash
-./DragonblocksServer <port>
-./Dragonblocks <address> <port>
+```sh
+# on posix
+./dragonblocks_server "<address>:<port>"
+./dragonblocks_client "<address>:<port>"
+
+# on windows
+dragonblocks_server.exe "<address>:<port>"
+dragonblocks_client.exe "<address>:<port>"
 ```
 
 or alternatively:
 
-```bash
+```sh
+# on posix
 ./singleplayer.sh
-```
-
-## Controls
-
-Use W, A, S and D to move forward / left / backward / right and Space to jump.
-
-## Dependencies
 
-The client depends on GLFW3, OpenGL, GLEW and Freetype.
-
-```bash
-sudo apt install libgl1-mesa-dri libglfw3 libglew2.1 libfreetype6
-```
-
-The server depends on SQLite3.
-
-```bash
-sudo apt install libsqlite3-0
+# on windows
+singleplayer.bat
 ```
 
-both the client and the server depend on ZLib.
+## Controls
 
-```bash
-sudo apt install zlib1g
-```
+| Key | Action |
+|-|-|
+| W | Move Forward |
+| A | Move Left |
+| S | Move Backward |
+| D | Move Right |
+| Space | Jump / When flying: Move Up |
+| Left Shift | When flying: Move Down |
+| F | Toggle flight |
+| C | Toggle collision |
+| T | Toggle timelapse |
+| F2 | Take screenshot |
+| F3 | Toggle debug info |
+| F11 | Toggle fullscreen |
+| ESC | Pause / unpause game |
+
+## System Requirements
+Dragonblocks Alpha targets PCs only. Non x86-64 platforms may work, however there is no guarantee whatsoever.
+You need a POSIX system conforming to the ISO C and POSIX 2008 standards. However, so far only GNU/Linux systems, in particular Ubuntu and Debian, have been tested.
+The minimum OpenGL version is 3.3 core. Dragonblocks has been tested on Intel Integrated and NVIDIA GPUs, however other graphics cards should work as well.
+A PC with at least 4 CPU cores is recommended, but not necessarily required.
+
+Note: The game can work with OpenGL 3.3, but to use texture batching, you need at least OpenGL 4.0. If your machine doesn't that version, disable texture batching by adding the line "texture_batching off" to your client.conf file.
 
 ## Current Features
-- Multiplayer
-- Map generation with mountains and blended biomes that determine grass color
+- Multiplayer, Animated player model, Nametags
+- Mountains, snow, temperature and humidity, dynamic grass color, oceans and beaches, vulcanos, boulders
 - Physics
 - FPS Camera
-- Mipmapping, Antialiasing, Shaders
-- HUD
-- Saving the map to a SQLite3 database
-- Multithreading for map generation, mesh generation and network
+- Mipmapping, Antialiasing, Face Culling, Frustum Culling, Diffuse Lighting, Skybox, Fog
+- Taking screenshots
+- Daylight cycle
+- GUI
+- Saving terrain, player positions and other data to a SQLite3 database
+- Multithreaded terrain generation, mesh generation and networking
 - Handlers for SIGINT und SIGTERM (just Ctrl+C to shut down the server)
+- Log levels: error, warning, access, action, info, verbose
+- Loading assets such as textures, models, schematics, shaders and fonts from files
 
 ## 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.
+The server currently stores the world database (world.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).
@@ -82,10 +98,10 @@ The name "Dragonblocks _Alpha_" does not have anything to do with the game being
 - 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)
+- Portability between PCs running POSIX systems (focus: Linux, BSD, MacOS, Plan 9 APE, Windows MinGW)
 
 ### What Dragonblocks Alpha does not aim to achieve
-- Portability to Windows or Phones / Consoles
+- Portability to Phones / Consoles
 - Good performance on low-end PCs
 - A fixed story or lore
 - Cloning Minecraft behavior