This is my personal TODO list: things that I am working on, or about which I'd like to work on. It is mostly there to organize my thoughts, but also to get some feedback so that I can focus on what people actually want most.
What I am currently working on are colored chat, and client-side translations.
Engine
- Colored chat and other texts
This is a rebase and upgrade of #2411, adding colored chat, but also giving the ability to color almost all text shown by Minetest -- including item descriptions. The code is mostly done, but still needs work as it is a rebase of old code (which was itself a backport of even older code).
Pull request is now open for those who want to already test it: #4077 Done. - meta_set_nodedef
For those who don't know what it is, meta_set_nodedef is the ability to alter a node's definition by changing its metadata. The unfinished, old pull request is there: #1118. As it can be seen by the sheer amount of labels on it, it is a very complicated feature, and that is difficult to maintain. One of my objectives is to rebase it one more time (I already did that several times, and rebasing 1-year-old code is a difficult task), finish it, and solve the performance issues that came with it. - Client-side translations
The objective of this is to (finally) add client-side translations: the text that a client would display would depend on the language the client configured, instead of having to use whole-server translations. The problem currently is to decide how this would be implemented, see the discussion of #3950 for details. - Rewrite light code
Rewrite the code of light spreading to include the following changes: instead of storing day/night light, store artificial light/sunlight. Also, make it able to have sunlight re-added at certain block boundaries to make stacked realms possible. - Support for stacked realms
Add some kind of way for mods to register realms boundaries, that would act as if the map stopped at that point for the client, and with nodes above and below seeming inexistant. Thus, it would be some kind of artificial map boundary, that would allow much more compact stacked realms, and without visual glitches. - Work on larger maps
This is a big question, as it is a lot of work for not much. However, it raises a few valid points, that are related to map saving format, that should be updated, as I reckon it has several flaws. - Add a world.conf file
This would be a file that would override minetest.conf for its settings; minetest.setting_set would then write changes in this file and there would be a minetest.global_setting_set function. - A better way for mods to store their data
Some kind of minetest.register_on_save too, so that mod state and engine state do not get de-synchronized.
Content
- Make trees more interesting
Included in that idea are: different burning times, but also changing cooking times when used as fuel, making some trees suitable for cooking things faster. It also means different hardness, etc. An issue exists about it: game#882. - Write (yet another) mapgen
The objective is to write a mapgen (loosely) based on this article: Polygonal map generation for games, which is a very different way of creating a maps, that seems to give excellent results. Another idea is to port Terasology's excellent mapgen. - Add some kind of "objective" to the game
I like the idea of mese being of alien origin a lot, so I was thinking about meteors and crashed spaceships that could be found buried underneath the surface, or deep in the sea. The player would then discover more things as they play and find those artifacts.
Other tools
- mcimport
Rewrite mcimport to C++ to get an important speed benefit, and write a mapgen aware of data given by the mc map, in order to continously integrate the already-generated map into a larger map, seemlessly integrating the map into a bigger world. Also, that mapgen could be useful to blend several different maps together.
Long-term goals
- Implement client-side Lua
That is the feature everyone has been waiting; difficult and tricky. It is here, but it is clearly not the first thing I will do. - Voxel Area Entities
Another much-awaited feature, that has a lot of potential. Much easier than client-side Lua, but still tricky. - MC clone (in progress, not by me)
Write a MC clone - or at least, a clone of MC 1.0, so that all pre-1.0 maps can be converted to MT and played within, as if there was no difference. And yes, this objective is here partly because of the former MC player that remains in me, and that want to continue to play with his old maps, and partly because I want to be able to convince my cousins to come to MT :).