mirror of
https://tangled.org/emmeline.girlkisser.top/keraforge
synced 2026-04-13 07:36:42 +00:00
| etc | ||
| include | ||
| scripts | ||
| src | ||
| tools | ||
| .gitignore | ||
| compile_flags.txt | ||
| license | ||
| readme | ||
| run.sh | ||
| todo | ||
Keraforge
=========
A game engine for top-down 2D RPG games.
[Warning]
Keraforge is still a work-in-progress. Expect breaking
changes!
Motive
------
Design:
Keraforge is designed with a specific kind of game in mind:
top-down, story-driven, handcrafted RPGs. If your 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/debug run/gdb`
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>.