summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--.gitmodules14
-rw-r--r--.tool-versions1
-rw-r--r--Readme.mdown61
m---------core/mruby0
m---------core/raylib0
m---------mruby0
m---------raylib0
8 files changed, 73 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore
index 749a0ef..804c051 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
build/*
- game/*
- game
+game/*
+mrbgems/*
+vendor/*
diff --git a/.gitmodules b/.gitmodules
index 1d02180..1819da0 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,8 @@
-[submodule "mruby"]
- path = mruby
- url = [email protected]:realtradam/mruby.git
-[submodule "raylib"]
- path = raylib
- url = [email protected]:realtradam/raylib.git
+[submodule "core/mruby"]
+ path = core/mruby
+ url = https://github.com/mruby/mruby
+[submodule "core/raylib"]
+ path = core/raylib
+ url = [email protected]:raysan5/raylib.git
+[submodule "mruby/"]
+ url = [email protected]:mruby/mruby.git
diff --git a/.tool-versions b/.tool-versions
new file mode 100644
index 0000000..e7f4c11
--- /dev/null
+++ b/.tool-versions
@@ -0,0 +1 @@
+ruby 3.1.1
diff --git a/Readme.mdown b/Readme.mdown
new file mode 100644
index 0000000..f41d4c7
--- /dev/null
+++ b/Readme.mdown
@@ -0,0 +1,61 @@
+# FelFlame Engine
+
+FelFlame Engine is a modular "library-style" Ruby game engine. It allows you to 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 engine. Currently it exports to Linux and Web but more platforms are possible and planned.
+
+## How to build
+
+Currently building only tested/used on Linux(Arch and OpenSUSE)
+No support for building on windows is planned but you are welcome to add it yourself ;)
+
+```sh
+
+# building libraries + engine
+rake build:raylib
+rake build:mruby
+
+# you can now access the interpreters under [add url here]
+
+# if you have a game under 'game/main.rb':
+# build for linux
+rake build:tux
+# build for web
+rake build:web
+
+# you can then try your game with:
+# Desktop:
+rake play
+# Web:
+rake serve
+
+# building for windows planned for the future
+```
+
+## Directories Explained:
+
+### 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 files used during compilation.
+
+### vendor/
+The location of any compiled libraries and headers. These are 'included' into the engine or game when it is compiled.
+
+### 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.
+
+### build/
+Where your game is exported to when it is compiled.
+
+### 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.
+
+## 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
diff --git a/core/mruby b/core/mruby
new file mode 160000
+Subproject 3cf291f72224715942beaf8553e42ba8891ab3c
diff --git a/core/raylib b/core/raylib
new file mode 160000
+Subproject 9c66e2f97ed02338b6a79b12ca638b3a49f5e41
diff --git a/mruby b/mruby
deleted file mode 160000
-Subproject a817d1c13e9b352da8584047434633ac35b91a9
diff --git a/raylib b/raylib
deleted file mode 160000
-Subproject 40af6543d73ec7246eff61de0832b7f4dcd6836