A game engine for top-down 2D RPG games.
rpg
game-engine
raylib
c99
1
2Keraforge
3=========
4
5A game engine for top-down 2D RPG games.
6
7[Warning]
8Keraforge is still a work-in-progress. Expect breaking
9changes!
10
11Motive
12------
13
14 There's already a large number of quality game engines
15and frameworks in the wild, so what does Keraforge do
16differently?
17
18 Design:
19 Keraforge is designed with a specific kind of game in
20 mind: top-down, story-driven, handcrafted RPGs. If your
21 dream game fits in this category, then Keraforge aims to
22 help make it a reality.
23
24 Simplicity:
25 Game engines and frameworks always have a learning
26 curve. Keraforge is no exception. What I can aim for,
27 though, is keep the learning curve from being exponential
28 and overwhelming users. I want Keraforge to allow anyone
29 to share their story with an engine that gives them the
30 ability to pour love into their work.
31
32 Cost:
33 Keraforge is 100% free (BSD 3-Clause), zero royalties,
34 no up-front costs, and no paywalls. I want to give people
35 the chance to create something beautiful, not to take
36 their money.
37
38 It's also important to discuss the cons of Keraforge.
39It's going to be fundamentally different from any other
40engine since it's made for a very specific style of game.
41This means that if your game does not fit this style, you
42might have more trouble.
43
44Usage
45-----
46
47 Pre-built binaries are not *yet* distributed. I'll start
48publishing binaries once the engine reaches a stable state.
49For now, you can compile it yourself. See the section on
50development below.
51
52 If you want to see my development progress, see <todo>.
53
54Develop
55-------
56
57 Libraries (Debian):
58 Raylib:
59 libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev libwayland-dev libxkbcommon-dev
60 Keraforge:
61 liblzma-dev
62
63 Initialise a development environment:
64 `sh run.sh init`
65
66 Build "system" is contained in a folder of shell scripts,
67`scripts`. You can run these with the `run.sh` script to
68run multiple tasks in order. Generally:
69 `sh run.sh build run`
70is all you'll need to run while developing.
71
72 Please note that I will be hesitant to accept PRs to this
73codebase. I am very nitpicky with my code style and if your
74PR does not match it (or if it goes out-of-scope, adds
75useless/redundant functions, further pollute global scope,
76etc), then I will likely decline the PR or request a number
77of changes. Ideally, please communicate with me before
78submitting a PR just for it to get closed. You can find my
79contact information on my website. I don't want you wasting
80your time or effort!
81
82 Additionally, please read through <etc/style.txt> before
83attempting to contribute. It'll make your life much easier
84if you understand my style *before* attempting a PR.
85
86License
87-------
88
89BSD 3-Clause, see <license>.