aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElias Fleckenstein <54945686+EliasFleckenstein03@users.noreply.github.com>2021-06-09 17:08:09 +0200
committerGitHub <noreply@github.com>2021-06-09 17:08:09 +0200
commit5e8f15a9af362967f69ca638d4ebfad8305bb8a7 (patch)
tree407615803ab433cc12f9e5942d555af5c525ce3e
parent33e798108d62684d1681f9de22963bebc4182247 (diff)
downloaddungeon_game-5e8f15a9af362967f69ca638d4ebfad8305bb8a7.tar.xz
Create README.md
-rw-r--r--README.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2672fb5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,12 @@
+# Dungeon Game
+A small but flexible dungeon crawler written in C. Needs GCC to compile (`__USE_GNU`). Renders directly into the terminal.
+
+You can easily create plugins for the game by putting a new folder into plugins/ with the name of your plugin and then compiling your code into a shared library placed inside this folder named "<plugin name>.so" (`-shared -fpic`).
+You might want to include the game.h file from plugins/game/game.h. Have a look into it to see available API. See the existing plugins for examples.
+
+Controls: WASD to move, Q to quit.
+
+To build the loader and the plugins in the plugins/ folder, simply type `make` or `make all`. There are separate targets for the loader (`dungeon`) and the plugins. The plugins target simply triggerst all Makefiles that are placed in plugin directories, so you might want to include a makefile in your plugin.
+To run the loader, type `./dungeon`. It will load all plugins including the game itself dynamically and runs the game.
+
+Plugins are loaded in alphabethical order, with the exception of the game plugin that is loaded first. If you want to make a plugin that depends on another plugin, make sure the other plugin is loaded first by setting the name of your plugin accordingly. A cleaner solution to this is coming soon.