summaryrefslogtreecommitdiffhomepage
path: root/Readme.mdown
diff options
context:
space:
mode:
Diffstat (limited to 'Readme.mdown')
-rw-r--r--Readme.mdown81
1 files changed, 81 insertions, 0 deletions
diff --git a/Readme.mdown b/Readme.mdown
new file mode 100644
index 0000000..d3bb4bf
--- /dev/null
+++ b/Readme.mdown
@@ -0,0 +1,81 @@
+
+![FelFlameEngine](https://github.com/realtradam/FelECS/blob/master/logos/felflame-logo-text.png?raw=true)
+[![MIT License](https://img.shields.io/github/license/realtradam/FelFlameEngine)](https://github.com/realtradam/FelFlameEngine/blob/master/LICENSE)
+[![Ko-Fi](https://img.shields.io/static/v1?message=Buy%20me%20a%20coffee&logo=kofi&labelColor=ff5e5b&color=434B57&logoColor=white&label=%20)](https://ko-fi.com/tradam)
+
+---
+
+FelFlame Engine is a modular "library-style" Ruby game engine. It consists of a core set of libraries(mruby + Raylib) which you can freely add your own mruby or C libraries on top of to be compiled into a single game or interpreter. Currently it exports to Windows, Web and Linux.
+
+## How to build
+
+Currently building only tested/used on Linux(Artix/Arch and OpenSUSE). If you are on windows you could try using WSL but this is currently untested.
+
+You need to have any requirements for compiling [Raylib](https://github.com/raysan5/raylib) installed. You must also have Zig and Emscripten installed(it is recommended to use [asdf](https://asdf-vm.com/) to install these)
+
+1. Clone the repository and install gems
+```sh
+git clone --recursive [email protected]:realtradam/FelFlameEngine.git
+cd FelFlameEngine
+bundler install
+```
+
+2. Build the underlying libraries
+```sh
+rake build:raylib
+rake build:mruby
+```
+###### At this point you could play around with the interpreters at `core/mruby/bin/mirb` and `core/mruby/bin/mruby`
+
+3. Playtest your game
+```sh
+rake play
+# or
+rake p
+```
+###### This will execute your game located here: `game/main.rb`
+
+4. Build your game
+```sh
+rake build:win # build for windows
+rake build:web # build for web
+rake build:tux # build for linux
+```
+###### The binaries are located under `build` in their respective directories
+
+5. Test the web export of your game
+```sh
+rake serve
+# or
+rake s
+```
+
+## Directories Explained:
+
+### mrbgems/
+Here are all the gems you wish to be compiled into the engine. Any directories in this directory will be treated as a gem to be included into the compilation process however you may still need to edit the [build file] to add the appropriate flags if necessary.
+
+### game/
+All your game files. `main.rb` is the "entry point" of your game and the assets directory is where your assets should go as they are bundled for the web export.
+
+### vendor/
+The location of any compiled libraries and headers. These are 'included' into the engine or game when it is compiled.
+
+### core/
+Contains the core git-submodules which are needed for the engine(mruby for the Ruby language and Raylib for rendering). Also contains some template and configuration files used during compilation.
+
+### build/
+Where your game is exported to when it is compiled.
+
+## Extras:
+
+By default this engine comes with just Ruby and Raylib. Here are some additional gems you could use if you want more:
+
+| Gem | Description |
+| --- | --- |
+| [FelECS](https://github.com/realtradam/FelECS) | Pure Ruby ECS designed for ease of use |
+| ... | More coming soon |
+
+### FelBind
+
+You can create your own gems based on C libraries more easily by utilizing the binding generation library FelBind. See more here: https://github.com/realtradam/FelBind