]> git.lizzy.rs Git - dragonfireclient.git/blob - doc/direction.md
Merge pull request #59 from PrairieAstronomer/readme_irrlicht_change
[dragonfireclient.git] / doc / direction.md
1 # Minetest Direction Document
2
3 ## 1. Long-term Roadmap
4
5 The long-term roadmaps, aims, and guiding philosophies are set out using the
6 following documents:
7
8 * [What is Minetest?](http://c55.me/blog/?p=1491)
9 * [celeron55's roadmap](https://forum.minetest.net/viewtopic.php?t=9177)
10 * [celeron55's comment in "A clear mission statement for Minetest is missing"](https://github.com/minetest/minetest/issues/3476#issuecomment-167399287)
11 * [Core developer to-do/wish lists](https://forum.minetest.net/viewforum.php?f=7)
12
13 ## 2. Medium-term Roadmap
14
15 These are the current medium-term goals for Minetest development, in no
16 particular order.
17
18 These goals were created from the top points in a
19 [roadmap brainstorm](https://github.com/minetest/minetest/issues/10461).
20 This should be reviewed approximately yearly, or when goals are achieved.
21
22 Pull requests that address one of these goals will be labelled as "Roadmap".
23 PRs that are not on the roadmap will be closed unless they receive a concept
24 approval within a week, issues can be used for preapproval.
25 Bug fixes are exempt for this, and are always accepted and prioritised.
26 See [CONTRIBUTING.md](../.github/CONTRIBUTING.md) for more info.
27
28 ### 2.1 Rendering/Graphics improvements
29
30 The priority is fixing the issues, performance, and general correctness.
31 Once that is done, fancier features can be worked on, such as water shaders,
32 shadows, and improved lighting.
33
34 Examples include
35 [transparency sorting](https://github.com/minetest/minetest/issues/95),
36 [particle performance](https://github.com/minetest/minetest/issues/1414),
37 [general view distance](https://github.com/minetest/minetest/issues/7222).
38
39 This includes work on maintaining
40 [our Irrlicht fork](https://github.com/minetest/irrlicht), and switching to
41 alternative libraries to replace Irrlicht functionality as needed
42
43 ### 2.2 Internal code refactoring
44
45 To ensure sustainable development, Minetest's code needs to be
46 [refactored and improved](https://github.com/minetest/minetest/pulls?q=is%3Aopen+sort%3Aupdated-desc+label%3A%22Code+quality%22+).
47 This will remove code rot and allow for more efficient development.
48
49 ### 2.3 UI Improvements
50
51 A [formspec replacement](https://github.com/minetest/minetest/issues/6527) is
52 needed to make GUIs better and easier to create. This replacement could also
53 be a replacement for HUDs, allowing for a unified API.
54
55 A [new mainmenu](https://github.com/minetest/minetest/issues/6733) is needed to
56 improve user experience. First impressions matter, and the current main menu
57 doesn't do a very good job at selling Minetest or explaining what it is.
58 A new main menu should promote games to users, allowing Minetest Game to no
59 longer be bundled by default.
60
61 The UI code is undergoing rapid changes, so it is especially important to make
62 an issue for any large changes before spending lots of time.
63
64 ### 2.4 Object and entity improvements
65
66 There are still a significant number of issues with objects.
67 Collisions,
68 [performance](https://github.com/minetest/minetest/issues/6453),
69 API convenience, and discrepancies between players and entities.