summaryrefslogtreecommitdiffhomepage
path: root/Readme.mdown
blob: f41d4c7394738b8ddd3012a29391a46bb8d87cf2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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