2024-10-22 23:05:41 +02:00
# Luanti Direction Document
2021-06-17 04:15:30 +01:00
## 1. Long-term Roadmap
The long-term roadmaps, aims, and guiding philosophies are set out using the
following documents:
2025-04-24 18:07:51 +00:00
* [What is Minetest? (archived) ](https://web.archive.org/web/20160328054721/http://c55.me/blog/?p=1491 )
2024-11-03 15:10:58 +01:00
* [celeron55's roadmap ](https://forum.luanti.org/viewtopic.php?t=9177 )
2025-01-24 16:50:39 +01:00
* [celeron55's comment in "A clear mission statement for Minetest is missing" ](https://github.com/luanti-org/luanti/issues/3476#issuecomment-167399287 )
2024-11-03 15:10:58 +01:00
* [Core developer to-do/wish lists ](https://forum.luanti.org/viewforum.php?f=7 )
2021-06-17 04:15:30 +01:00
## 2. Medium-term Roadmap
2024-10-22 23:05:41 +02:00
These are the current medium-term goals for Luanti development, in no
2021-06-17 04:15:30 +01:00
particular order.
These goals were created from the top points in a
2025-09-05 00:28:37 +02:00
[roadmap brainstorm ](https://github.com/luanti-org/luanti/issues/16162 ).
This is reviewed approximately every two years.
2021-06-17 04:15:30 +01:00
2022-10-21 16:12:39 +01:00
Pull requests that address one of these goals will be labeled as "Roadmap".
2021-06-17 04:15:30 +01:00
PRs that are not on the roadmap will be closed unless they receive a concept
2025-09-05 00:28:37 +02:00
approval within a month. Issues can be used for preapproval.
Bug fixes are exempt from this, and are always accepted and prioritized.
2021-06-17 04:15:30 +01:00
See [CONTRIBUTING.md ](../.github/CONTRIBUTING.md ) for more info.
2025-09-05 00:28:37 +02:00
### 2.1 SSCSM
2021-06-17 04:15:30 +01:00
2025-09-05 00:28:37 +02:00
Server-Sent Client-side Modding has been a long requested feature, as it
allows game developers to highly expand the tools for their creations.
2025-09-05 00:38:11 +02:00
Implementing SSCSM also means to feature more dehardcoding, furthermore
2025-09-05 00:41:04 +02:00
allowing us to improve the overall performances of the engine.
2021-06-17 04:15:30 +01:00
2025-09-05 00:28:37 +02:00
Instead of focusing on short-term solutions that will inevitably lead to more
technical debt to deal with, SSCSM paves the way for a cleaner architecture
designed to stay.
2021-06-17 04:15:30 +01:00
2025-09-05 00:28:37 +02:00
### 2.2 Input Handling
2021-06-17 04:15:30 +01:00
2025-09-05 00:28:37 +02:00
Luanti keys are currently limited to a small subset, not allowing game developers
to map the majority of the keys a device usually offers. This limits the possibilities
of game creators, forcing them to either implement a workaround or, worse, forget
about it.
2021-06-17 04:15:30 +01:00
2025-09-05 00:28:37 +02:00
Using a gamepad also represents a known issue in Luanti, as some devices might not
work at all or result in an uncomfortable user experience.
2021-06-17 04:15:30 +01:00
### 2.3 UI Improvements
2025-01-24 16:50:39 +01:00
A [formspec replacement ](https://github.com/luanti-org/luanti/issues/6527 ) is
2021-06-17 04:15:30 +01:00
needed to make GUIs better and easier to create. This replacement could also
be a replacement for HUDs, allowing for a unified API.
2025-01-24 16:50:39 +01:00
A [new mainmenu ](https://github.com/luanti-org/luanti/issues/6733 ) is needed to
2021-06-17 04:15:30 +01:00
improve user experience. First impressions matter, and the current main menu
2024-10-22 23:05:41 +02:00
doesn't do a very good job at selling Luanti or explaining what it is.
2021-06-17 04:15:30 +01:00
The UI code is undergoing rapid changes, so it is especially important to make
an issue for any large changes before spending lots of time.