Nore's personal TODO list

For people working on the C++ code.
Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

Nore's personal TODO list

by Nore » Post

Hi all! :)

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.

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. This is almost done, see #5274.
  • 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. Done by ShadowNinja. Also, 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 (In progress, not by me)
    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 :).
Last edited by Nore on Tue Aug 22, 2017 14:14, edited 12 times in total.

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Nore's personal TODO list

by sofar » Post

TumeniNodes wrote:To be honest, even being here only a short time now..., I see one subject which seems to attract the most views on the forum..., and that is anything related to shaders.
These personal work lists (I have one exactly like this one) are not "suggestion lists" per se.

What's listed here are Nore's items. They're there because they are things that are solvable to Nore, because Nore thinks it can be solved. Putting things like shaders on a worklist for someone who has never done shaders is not that helpful. Instead, try thinking about what's on the list here and see if you can contribute in this thread to that.

As for being able to turn water red through a shader: congratulations, you're now a shader expert! ;)

User avatar
TumeniNodes
Member
Posts: 2941
Joined: Fri Feb 26, 2016 19:49
GitHub: TumeniNodes
IRC: tumeninodes
In-game: TumeniNodes
Location: in the dark recesses of the mind
Contact:

Re: Nore's personal TODO list

by TumeniNodes » Post

I definitely had no intentions of creating an issue. so I apologize
When I read "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."
Maybe I misunderstood.
I nowhere near claimed to be a sudden "expert". I have zero idea of what I am doing regarding shaders at all, but I am trying, and learning a little.
I will remove the post and then shortly afterward, this one as well.
My full apologies to Nore, I misunderstood and did not mean to create a problem
A Wonderful World

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Nore's personal TODO list

by sofar » Post

TumeniNodes wrote:I definitely had no intentions of creating an issue. so I apologize
When I read "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."
Maybe I misunderstood.
I nowhere near claimed to be a sudden "expert". I have zero idea of what I am doing regarding shaders at all, but I am trying, and learning a little.
I will remove the post and then shortly afterward, this one as well.
My full apologies to Nore, I misunderstood and did not mean to create a problem
ah, well, I wasn't offended and I don't think Nore would be either... I just wanted to set the tone for a constructive discussion, that's all.

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

Re: Nore's personal TODO list

by Nore » Post

sofar wrote:
TumeniNodes wrote:I definitely had no intentions of creating an issue. so I apologize
When I read "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."
Maybe I misunderstood.
I nowhere near claimed to be a sudden "expert". I have zero idea of what I am doing regarding shaders at all, but I am trying, and learning a little.
I will remove the post and then shortly afterward, this one as well.
My full apologies to Nore, I misunderstood and did not mean to create a problem
ah, well, I wasn't offended and I don't think Nore would be either... I just wanted to set the tone for a constructive discussion, that's all.
I'm indeed not offended, so no worries ;).

User avatar
TumeniNodes
Member
Posts: 2941
Joined: Fri Feb 26, 2016 19:49
GitHub: TumeniNodes
IRC: tumeninodes
In-game: TumeniNodes
Location: in the dark recesses of the mind
Contact:

Re: Nore's personal TODO list

by TumeniNodes » Post

Right then..., now I feel bad cluttering your thread up.
Alright, everyone back to work then :D

BTW:, client-side Lua, will be a very welcome feature.
A Wonderful World

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Nore's personal TODO list

by sofar » Post

TumeniNodes wrote:BTW:, client-side Lua, will be a very welcome feature.
I think too many people think this will be somehow transformative and really change the game, but it's not going to be that.

You can't have game mechanics in client-side lua, since that would allow for cheating.

So the only thing remaining is visual and audio effects, and GUI/HUD type stuff.

I doubt that client-side mob movement is even worth it, personally. It will be extremely hard to do, and just be a distraction.

Not that it isn't important, of course.

User avatar
Krock
Developer
Posts: 4649
Joined: Thu Oct 03, 2013 07:48
GitHub: SmallJoker
Location: Switzerland
Contact:

Re: Nore's personal TODO list

by Krock » Post

Well done, this list contains all often requested features. What I really would like to see, are the Voxel Area Entities because they would allow to build houses that could swim, rotate or even fly.
Still, this is a big TODO list and will give enough work for years.
Look, I programmed a bug for you. >> Mod Search Engine << - Mods by Krock - DuckDuckGo mod search bang: !mtmod <keyword here>

User avatar
TumeniNodes
Member
Posts: 2941
Joined: Fri Feb 26, 2016 19:49
GitHub: TumeniNodes
IRC: tumeninodes
In-game: TumeniNodes
Location: in the dark recesses of the mind
Contact:

Re: Nore's personal TODO list

by TumeniNodes » Post

I see your point Sofar. I tend to forget about such things as far as the "game" purpose of Minetest, as I use it solely for building.
Perhaps if there were a way to set it up so that client side Lua scripts could only tap into specfic areas of the core such as visuals/asthetics? But any other type scripts (such as for cheating) could be blocked?
Anyway, as Nore has it in the right perspective... at the back burner, as it is not an issue critical to Minetest game.
A Wonderful World

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Nore's personal TODO list

by sofar » Post

TumeniNodes wrote:I see your point Sofar. I tend to forget about such things as far as the "game" purpose of Minetest, as I use it solely for building.
Perhaps if there were a way to set it up so that client side Lua scripts could only tap into specfic areas of the core such as visuals/asthetics? But any other type scripts (such as for cheating) could be blocked?
Anyway, as Nore has it in the right perspective... at the back burner, as it is not an issue critical to Minetest game.
Any client side API will be entirely different than the server side API... it will be a whole new thing that can do things that the server lua code can't do, and vice-versa. There will almost be no overlap.

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Nore's personal TODO list

by paramat » Post

I've read that polygonal map generation article before, interesting.

User avatar
qwertymine3
Member
Posts: 202
Joined: Wed Jun 03, 2015 14:33
GitHub: Qwertymine
In-game: qwertymine3

Re: Nore's personal TODO list

by qwertymine3 » Post

Nore, have you seen the polyworld module for Terasology?
https://github.com/Terasology/PolyWorld

Also, why MC1.0? World format should be the same in MC1.1, with only minor additions.
Avatar by :devnko-ennekappao:

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

Re: Nore's personal TODO list

by Nore » Post

qwertymine3 wrote:Nore, have you seen the polyworld module for Terasology?
https://github.com/Terasology/PolyWorld
Yes, already did... I also made my own code, that is still a WIP demo in Python though, and that produces 2D maps and not Minetest ones.
Also, why MC1.0? World format should be the same in MC1.1, with only minor additions.
The world format is not the problem: the problem is to have an objective for the version of MC that should be replicated; 1.0 is already a very ambitious objective, I might try to get an earlier version working instead.

User avatar
philipbenr
Member
Posts: 1897
Joined: Fri Jun 14, 2013 01:56
GitHub: philipbenr
IRC: philipbenr
In-game: robinspi
Location: United States

Re: Nore's personal TODO list

by philipbenr » Post

Rewrite light code
YES! That is something everybody has been begging for. I don't know how much you are going to redo, but people will likely be happy no matter what.

User avatar
philipbenr
Member
Posts: 1897
Joined: Fri Jun 14, 2013 01:56
GitHub: philipbenr
IRC: philipbenr
In-game: robinspi
Location: United States

Re: Nore's personal TODO list

by philipbenr » Post

@Nore: Is there an alpha channel involved with that? I would like to see a workaround for the hiding nicknames without hiding the HUD... I was just playing a game with my brother that really would have been more fun without the nicknames.

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

Re: Nore's personal TODO list

by Nore » Post

Hm, isn't there a setting for that? (about max nametag sending distance)

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: Nore's personal TODO list

by Sokomine » Post

Nore wrote: 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 :).
That would be great! There are a lot of excellent maps and buildings out there which where constructed by MC players. Beeing able to walk through those worlds (without having to manually convert them first) would be very enjoyable. I still have some old MC classic maps saved on my disk. Admittedly it can already be done with a converter. Just...takes time. And those old maps where sourrounded by an infinite ocean...

The other topics on the list would also be highly welcome :-)
A list of my mods can be found here.

User avatar
bigfoot
Member
Posts: 203
Joined: Fri Sep 02, 2016 23:31
GitHub: bigfoot547
IRC: bigfoot547 or bigfoot
In-game: bigfoot547 or bigfoot
Location: Somewhere between polar bears and penguins.

Re: Nore's personal TODO list

by bigfoot » Post

Nore wrote:Add a world.conf file
I have actually just made a mod for this! :-D

Forum Topic

User avatar
Wuzzy
Member
Posts: 4786
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy
Contact:

Re: Nore's personal TODO list

by Wuzzy » Post

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.
How exactly do you imagine this feature?

Does this mean, for the player “stacked” realms look like completely different and separate world which can only be travelled to with teleporting? That means, the player can not enter another realm just by walking/digging alone?

That would be indeed very cool, as this would be a neat way to reimplement something like the “dimensions” from Minecraft, or to create different “worlds” like in the Myst series.
The downside with this is, the more “realms” you add, you lose height per realm. E.g. if you have 2 realms, each of them can only have half of the world height. But this seems it's just the price you have to pay.

Another thing I see with the “stacked realms” idea: I feel it is somewhat biased towards flat worls. What about the idea of horizontally limiting realms? I am not sure about this myselves, it was just a quick thought.

If I am wrong about your idea, please correct me and explain what you actually meant. :-)

Nore
Developer
Posts: 501
Joined: Wed Nov 28, 2012 11:35
GitHub: Ekdohibs

Re: Nore's personal TODO list

by Nore » Post

Yes, these are the two main problems with that idea. The best way to correct this would be to add a fourth "dimension" to the positions, but again, this would have quite a lot of compatibility problems. Thus, I need to think more about it. Maybe some kind of global value that would hold the last component of the position, to be used when a mod does not provide it could fix that problem (for most mods), but it is quite complicated anyway.

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Nore's personal TODO list

by paramat » Post

> Add some kind of way for mods to register realms boundaries,

Still a good idea.

User avatar
GreenXenith
Member
Posts: 1356
Joined: Wed Oct 28, 2015 01:26
GitHub: GreenXenith
Location: UTC-8:00
Contact:

Re: Nore's personal TODO list

by GreenXenith » Post

For a while, I was against the idea of stacked realms (I was not against realms, just the stacked kind). But having "artificial sunlight" as you call it, makes a whole lot more sense. Adding a "secondary world" of sorts beyond the boundary and skybox might actually work. Modders could make custom skyboxes, light cycles, terrain generation, etc...
As for the stacking part, I think it could work like this:
Have designated areas above the world, that are the same size of the world, that have nothing in them. They are just designated spots. Player enables realmmod1. Realmmod1 generates its realm in the first area above the over world. Player then enables realmmod2. It gets the next spot, etc... for others. Player decides to enable realmmod3 and realmmod4 at the same time. What do? What do, is simply decide which one gets the first spot (can be random). Next, player decides he doesn't want realmmod2 anymore, and disables it. Now what? Hopefully, Minetest will have kept track of which realm had which space, and clears that area. Now spot 2 is empty. Player enables realmmod5. This fills spot 2. Now player finds an update for realmmod1. What do? I don't know :P

These are just my insights on what could happen :)
Nice list btw!
YouTube | Mods | Patreon | Minetest Discord @greenxenith

You should not be able to read this message.

User avatar
TenPlus1
Member
Posts: 3715
Joined: Mon Jul 29, 2013 13:38
In-game: TenPlus1
Contact:

Re: Nore's personal TODO list

by TenPlus1 » Post

A 60,000 high world could indeed host many realms of say -500 to 500 and be under mod control, but we would need a mapgen feature to be able to generate such realms.

nrz
Developer
Posts: 131
Joined: Sat Feb 07, 2015 17:16
GitHub: nerzhul
IRC: nrzkt
In-game: nrz
Location: France
Contact:

Re: Nore's personal TODO list

by nrz » Post

The mod storage is now implemented in CSM and SSM :)

User avatar
burli
Member
Posts: 1643
Joined: Fri Apr 10, 2015 13:18

Re: Nore's personal TODO list

by burli » Post

nrz wrote:The mod storage is now implemented in CSM and SSM :)
Great. Do you have examples somewhere? The doc is a bit thin

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests