-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Roadmap brainstorm (5.8+) #12746
Comments
My two cents: UI ImprovementAlthough PRs like #12480 are heading in the right direction, I think a lot of work shall be done still when it comes down to chat and main menu (see #10372 for the former and #6733 for the latter). A bad UI/UX means a bad first impression, which means that people will be skeptical and more hard to convince Different dimensions (#4428)I can't stress enough how much of a game-changer this is. Right now people can't instantiate disposable worlds (e.g. dungeons, mini-games, events) and, for anyone who wants to create the illusion of different dimensions, they must stack them one on top of the other. Which I find very unpractical Prioritise bugfixesRight now there are 305 confirmed bugs. I know it's more thrilling to implement a new feature rather than to fix a bug, but I think that a clean desk makes working easier than a messy one. In these last months we've started gaining control of PRs (we used to have 150+ PRs, now we have 80) and issues (1100+, now less than 1000): if we can gain control of bugs too, I'm prone to think implementing new features will be a lot easier than it is now. And people will be in general less stressed, which is always a good thing ❤️ In short: crap first, then fun |
Entity Performance ImprovementsEntities are required for most interesting things in the game. Unfortunately, Minetest can only handle very few entities very well. Networking should be optimized to only send changes (for properties for example); the API should be optimized to allow getting/setting single properties efficiently. Spatial indexing should be used to speed up range- and raycast queries. Rendering should batch entities of the same visuals to reduce drawcalls. Network EncryptionThe conflict with performance is not really there, and encryption is a basic thing for (1) privacy and (2) security as admins might want to interface with the server without risking others hijacking their sessions. (SS?)CSMThis carries over from the old roadmap. Modders need to be able to control client code to some extent. CSM capabilities must be vastly extended for this to be useful. A low-level 2d & 3d rendering access would be great; only then will we slowly approach being a game engine. |
minetest game engine could be used for Education. Good design, technical enhancement and user(ui) experience are very important. Data Privacy (GDPR) and Users Login Agreement are also very important. |
|
Just a reminder that bugs are not subject to the roadmap, bug fixes are already prioritised and any related suggestions should be discussed elsewhere Policies on breaking changes is also a process thing not a roadmap thing |
@Wuzzy2 I believe the purpose of this issue is to determine which feature requests to prioritize for 5.8. |
Err, Zughy also mentioned prioritizing bug fixes, but now that I read rubenwardy's post, fair enough complaining. |
Sorry, my comment may be a little high level which caused the confusion. |
Optimize RAM Use More Beginner Friendly Children Friendly Features |
This sounds like (1) memory leaks in mods and/or (2) the LuaJIT 1GB memory limitation, both of which aren't really issues Minetest can fix (well, the latter can be fixed by using PUC Lua 5.1 or applying a certain patch to LuaJIT, both at the cost of performance)... |
i rather live with limited mods than device got piping hot |
SSCSMWe really need this. Both as modder and game developer.
Would improve server's performances and global user experience. Should be really prioritized IMO. CSMCSM have only few use-cases at the moment. You can definitely make great things, but it is still much less powerful than it should. CSM would need exactly the same permissions SSM currently have on the host machine: access to insecure env, http API, filesystem, etc What could be done by just giving CSM as many permissions as SSM:
Main MenuCurrent main menu is really really ugly. Recently, a big (+1M) french youtuber made a video about minetest, and his first reaction when starting the game was "Its ugly". Main menu have a BIG impact on how users see Minetest, its in fact the part of minetest you see the most often in your minetest journey. It is kinda weird to see how beautiful the i3 mod is compared to the actual main menu... |
Server-Sent-Client-Side-Modding (SSCSM)We need this, e.g. for more dynamic visuals/audio and responsive game mechanics. General ImprovementsChanges that make minetest work significantly better than before in some regard. In other words, changes that resolve a problem that is not necessarily a bug, without creating new real problems by design.
Internal RefactoringThis includes things such as dropping non-SDL drivers, getting rid of the BS factor, reducing the use of owning raw ptrs, and other things that do not affect gameplay. |
DehardcodingThis describes taking an - often client-side graphical - feature that is fixed into the code and adding an API for it so it can be controlled from Lua, a simple example is #2139. Others would be the upcoming camera API, wieldhand animations, object death response and lots of subtle things that are currently client-side settings. Performance and general improvementsThis applies especially to graphics where often a "simple" shader-first rewrite could raise the performance from 'terribly bad' to 'blazing fast' (e.g. particles) but also applies to other parts of the code (e.g. SAO collision detection). <free spot>dunno |
I like dehardcoding a lot, the more is left up to mods, the better. Maybe even add a new label to mark issues/PRs about dehardcoding. I could help with adding the label to issues (once the label exists, I don't think I'm allowed to create labels). And there is already a list of hardcoded features, you can find it at https://dev.minetest.net/List_of_hardcoded_features. |
I don't have much of a roadmap myself, but I think increasing performance is a good goal, especially as someone without a powerful computer. For my part, there are several places in the backend where easy performance gains are possible. There is also rendering etc. which I haven't worked on but which I hear is ripe for performance improvement. |
Graphics: Use spherical harmonics for shadingThis shading method is described in the An Efficient Representation for Irradiance Environment Maps paper.
Graphics and mapgen: Support stochastic texture sampling for tiles and mapgen noiseA simple and efficient algorithm is described in the High-Performance By-Example Noise using a Histogram-Preserving Blending Operator paper and some additional details in a technical chapter.
Again
|
i'm going to put a single suggestion here, as a request from a large number of players on the your-land server. improve support for touch-screen (mobile) users. computers w/ keyboards are becoming less common, and more and more people can only play the game on their phones or tablets. if we want the playerbase for this game to continue to grow, this is something that we cannot afford to ignore. i (unfortunately?) don't own such a device that can play this game, so i have to speak from anecdotes, but it seems that the touch/mobile experience is lacking in a lot of respects. players complain that GUI scaling is terrible. scrolling various things is terrible. using modifier keys is terrible. here's some existing bug reports that i've just dug up, w/out fully understanding them:
as a mod writer, i wish i had a mechanism to even detect a player's display size and input capabilities, and react to that, but instead i just have to use formspec and pray that it'll be visible. as i dislike writing any UI that isn't a programmatic API, this is not an issue i want to deal w/ myself. however, i feel it is incredibly important for the future of the game. EDIT: if i'm going to list 2 other important features that the game needs, it'd be SSCSM (for anyone mentioning UX, responsiveness is one dimension this game can be horrible about, and the only real solution to that is some sort of SSCSM. of course it needs to be secured), and then optimization of client-side handling of entities (i.e. having a few hundred signs in a single area shouldn't cause FPS to crater, particularly if the player can't actually see any of them). |
i'd personally like to see SSCSM entirely replace formspecs, and for the latter to be deprecated (possibly reimplemented as a wrapper around the notional new lua UI kit to avoid maintaining multiple GUI subsystems indefinitely). i recall seeing discussion/preliminary work being done on this a year or so ago but i don't know what became of that. formspec programming is just miserable, among the worst experiences i've ever had building interactive GUIs. storing cached formspecs as strings in node metadata is a particularly unpleasant pattern i would like to see the end of. (ive designed & implemented a handful of UI toolkits before so i have some suggestions on this topic, and would be happy to do some of the design & coding if others agree with me on this.) but, i'd be happy just to see some level of SSCSM in 5.8. my UI suggestion might end up being a better fit for a later version, depending |
As much as burning formspecs to the ground is a noble goal, this is not that simple. Tons of games and mods depend on this, so a complete removal means breaking almost all games and mods ever made. Nothing short of a hard fork will get you there. A full removal of formspecs is not going to happen. |
@Wuzzy2 which is why i never suggested such a thing. "deprecate" does not mean "excise" |
Since I can't vote for bugfixes, I'd say Android improvements as well, I 100% agree with @fluxionary . Anyway, this is the summay for now (I've not counted @Desour second point, because it's actually more points: please pick one)
I invite the other core devs to express their points as well: @rubenwardy @celeron55 @v-rob @lhofhansl @x2048 @SmallJoker |
My 50 cents, i put it in touch like every roadmap
|
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
These are the three things I would like to see for 5.8:
|
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
My first Suggestion is the Revamped UI for Minetest. |
Third Suggestion is Support for larger structures being spawned. That way, we can make something larger than a small building. |
that can already be done via schematics. how large were you thinking? you can manipulate dozens of mapblocks w/ worldedit w/out much issue, and hundreds if you're willing to wait a bit. or were you thinking large procedurally generated structures? that's also quite possible already, though i don't think anyone's made a framework for generating such things easily. there's existing opensource code for minecraft that someone could use for inspiration if they want to design such a mod. edit: fair warning, you might also have problems w/ #9357 depending on exactly how you try to load/generate things |
|
An api for drawing to the screen like the love2d api Would be enough, then a formspec compatible implementation can be build ontop of this. The priorities I'd like for my gamemode to work better are mainly stuff that has been talked about above.
(also different dimensions would be awesome to implement, I'd definetely make use of them. but you asked for three items so :) |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
+1 on entity improvement:
Entities (especially attachment) are so bad it's almost comical. Also
|
Hear ye, hear ye! After having talked about the roadmap in a couple of meetings, we've basically agreed to keep the roadmap as-is:
About the point with more votes (SSCSM, 9 votes), there seems to be the will to work on it (#13046 (comment)), but at the moment it's not considered as urgent as the rest. Thank you everyone for your feedback and see you in a couple of releases! |
It's been ca. 2 years since the first roadmap came into play. Considering that priorities could be different compared to two years ago, please list 3 things that you think should be prioritised in the medium-long term.
These are typically higher-level goals rather than individual features. The new roadmap will come into play with MT 5.8.
The text was updated successfully, but these errors were encountered: