How to Contribute to the Kristal Project
Updated
You can contribute to Kristal by looking through its source code and submitting your own improvements. The official site's "Can I help?" section states this directly: "Yes! Feel free to look through the source code of Kristal and contribute if you wish." There is no separate application form or approval step mentioned on the site — the path to contributing runs through the code itself. This guide is for people who already know Lua (or are willing to learn it) and are comfortable working with the LÖVE framework, since Kristal is built with LÖVE.
What Kristal Is (and Why That Shapes Contribution)
Kristal is described on kristal.cc as "a powerful DELTARUNE fangame and battle engine, made with LÖVE." It lets you build custom DELTARUNE worlds, battles, and more. Because it is an engine rather than a finished game, contributions tend to fall into two broad categories:
- Engine-level work — changes to the core systems that other creators build on top of.
- Content and examples — the site showcases fangames built with Kristal, which shows the kind of output the engine is meant to support.
Knowing which category your idea fits into helps you decide where in the source to look.
Prerequisites Before You Contribute
The site is explicit about one requirement: "you must know Lua, or be willing to learn it." It also points to its own Lua tutorial for getting started. Beyond that, since Kristal is made with LÖVE, familiarity with how LÖVE projects are structured will save you time.
A practical checklist:
- Lua — at minimum, be able to read and modify existing Lua code.
- LÖVE — understand how a LÖVE project loads and runs, since Kristal is built on it.
- The Kristal wiki — the site directs users there for "more information on how to use Kristal." Reading it first means you understand intended behavior before changing it.
- The source code — this is the actual contribution surface the site points to.
Step-by-Step: From Reading to Contributing
1. Read the wiki first
The site's "How do I use it?" section says to check the wiki for how to use Kristal. Do this before touching code — you need to know how the engine is supposed to behave before you can tell whether your change improves it.
2. Study the source code
The "Can I help?" section frames contribution as looking through the source code. Start by locating the area relevant to your interest — battle logic, world handling, or whatever the wiki describes as the relevant subsystem.
3. Learn Lua if you don't already
If Lua is new to you, use the Lua tutorial the site links to. This is not optional background — it is the language the engine is written in.
4. Make your change and contribute it
Once you understand the relevant code and have a concrete improvement, contribute it. The site's wording ("contribute if you wish") indicates contributions are welcome rather than gated behind a formal process described on the page.
5. Verify against the engine's behavior
Because Kristal is an engine others build on, confirm your change doesn't break the intended behavior described in the wiki. The showcased fangames on the site are examples of what the engine is expected to support.
What Kind of Help Is Wanted
The site does not publish a labeled list of wanted contributions. What it does say is that you should look through the source code and contribute. In practice, that means the useful contributions are the ones that improve the engine or its usability for the fangames it powers. If you are unsure whether something is wanted, the source code and wiki together are the reference for what the project currently does and where it could be extended.
Common Stumbling Points
- Skipping the wiki. The site puts the wiki before everything else for a reason — you need to know how Kristal is meant to work before changing it.
- Underestimating the Lua requirement. The site states it plainly: you must know Lua or be willing to learn it. There is no way around this for code contributions.
- Forgetting the LÖVE foundation. Kristal is "made with LÖVE," so LÖVE-specific knowledge matters when working in the source.
- Assuming a formal contributor program. The page describes contribution as looking through the source and contributing — not as an application process.
Quick Reference
| Question | Answer from the site |
|---|---|
| Can I contribute? | Yes — "feel free to look through the source code of Kristal and contribute if you wish." |
| What do I need? | Lua knowledge (or willingness to learn), plus the wiki and source code. |
| Where do I start? | The wiki for usage, then the source code for contribution. |
| What is Kristal built with? | LÖVE. |
| Is there a listed contribution process? | The page describes contributing via the source code; no separate formal process is detailed. |
If you already know Lua and are comfortable with LÖVE, the shortest path is: read the wiki, read the source, make an improvement, contribute it. If Lua is new to you, start with the site's Lua tutorial before anything else.