Keraforge
=========
A game engine for top-down 2D RPG games.
[Warning]
Keraforge is still a work-in-progress. Expect breaking
changes!
Motive
------
There's already a large number of quality game engines
and frameworks in the wild, so what does Keraforge do
differently?
Design:
Keraforge is designed with a specific kind of game in
mind: top-down, story-driven, handcrafted RPGs. If your
dream game fits in this category, then Keraforge aims to
help make it a reality.
Simplicity:
Game engines and frameworks always have a learning
curve. Keraforge is no exception. What I can aim for,
though, is keep the learning curve from being exponential
and overwhelming users. I want Keraforge to allow anyone
to share their story with an engine that gives them the
ability to pour love into their work.
Cost:
Keraforge is 100% free (BSD 3-Clause), zero royalties,
no up-front costs, and no paywalls. I want to give people
the chance to create something beautiful, not to take
their money.
It's also important to discuss the cons of Keraforge.
It's going to be fundamentally different from any other
engine since it's made for a very specific style of game.
This means that if your game does not fit this style, you
might have more trouble.
Usage
-----
Pre-built binaries are not *yet* distributed. I'll start
publishing binaries once the engine reaches a stable state.
For now, you can compile it yourself. See the section on
development below.
If you want to see my development progress, see <todo>.
Develop
-------
Libraries (Debian):
Raylib:
libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev libwayland-dev libxkbcommon-dev
Keraforge:
liblzma-dev
Initialise a development environment:
`sh run.sh init`
Build "system" is contained in a folder of shell scripts,
`scripts`. You can run these with the `run.sh` script to
run multiple tasks in order. Generally:
`sh run.sh build run`
is all you'll need to run while developing.
Please note that I will be hesitant to accept PRs to this
codebase. I am very nitpicky with my code style and if your
PR does not match it (or if it goes out-of-scope, adds
useless/redundant functions, further pollute global scope,
etc), then I will likely decline the PR or request a number
of changes. Ideally, please communicate with me before
submitting a PR just for it to get closed. You can find my
contact information on my website. I don't want you wasting
your time or effort!
Additionally, please read through <etc/style.txt> before
attempting to contribute. It'll make your life much easier
if you understand my style *before* attempting a PR.
License
-------
BSD 3-Clause, see <license>.
A game engine for top-down 2D RPG games.
rpg
game-engine
raylib
c99
C
91.3%
Shell
2.6%
Other
6.2%
code
Clone this repository
https://tangled.org/emmeline.girlkisser.top/keraforge
git@knot.girlkisser.top:emmeline.girlkisser.top/keraforge
For self-hosted knots, clone URLs may differ based on your setup.
readme