From 5e8f15a9af362967f69ca638d4ebfad8305bb8a7 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein <54945686+EliasFleckenstein03@users.noreply.github.com> Date: Wed, 9 Jun 2021 17:08:09 +0200 Subject: [PATCH] Create README.md --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 README.md 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 ".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. -- 2.44.0