Consider targetting feature complete on specific version
PureTryOut opened this issue · 9 comments
There is of course lots and lots to be done to make Stevenarella in anyway usable or playable, and Mojang keeps releasing new versions with new features that have to be re-implemented. In my opinion it would be good to focus on feature compatibility with a single specific version, rather than adding support for features over different versions but never have a single version be feature complete.
In my opinion Cuberite already suffers from this, and seeing the amount of protocols Stevenarella supports I'm afraid the same will happen here.
Maybe it would be good to focus on a specific version, say 1.12.2 (seems to be popular for mods still), and get everything for that working. I'm just not sure how useful it is to be able to join 1.7.10 through 1.16.5 servers if you can do nothing but fly around.
I think it would be useful to support a range of versions, but I agree that feature completion is also important. One of the main benefits of having multi version compat. is that it makes stevenrella superior to default mc in some way, which is a very important thing in order to attract users in the future. What this project lacks is active development in any capacity, the owner of this repo made no notable changes since months and mojang keeps going, while we are falling behind the original more and more.
I'm not saying support multiple versions should be dropped, I agree it's an awesome feature to have. I'm saying it's good to focus on feature completion with a particular version before starting to implement newer updates, just so you get an actual playable game.
What this project lacks is active development in any capacity
Exactly, so focusing one version and making that, at least close to, feature complete is a smaller effort than following along on all the updates. And having an actual playable game is important to attract users like you said, and every user is a potential future dev 😉
I agree, that's exactly why I started implementing important game features in my version of this project, but as this project lacks development in any way shape and form and as I removed some (incomplete and/or buggy) features I decided to make it private and publish it once it is in a playable state.
Waiting to push your changes I understand, but keeping it private till you think it's ready I don't 🤔 Why not just publish everything you make? You don't need to make PR's for everything immediately, that can come later (or not at all if you decide to hard-fork, which would be a shame).
In other issues I saw you mentioning you most notably dropped web support to move to the Volcano renderer, and I saw @iceiix mentioning they understood the approach and agreed with it. Maybe they are willing to let this "main" project also go in that direction? Anything to prevent splitting of efforts, it's better to work as a team!
But I don't see anybody else who is actively committing to the efforts of this "team"
Hey, a team needs to start somewhere 😉 It's not like nothing is happening here, just not much atm. People have lifes, daily schedules, and often limited time to work on things. But the effort that is there is better combined and organized. I'm sure we can get more people to join in if we yell about this project at various places (social media: Reddit, Mastodon, etc).
And as said, more users (and thus more developers too) will be interested once it gets to a more playable state. Focusing efforts on a specific version makes that feasible.
Sure, it's totally understandable that there isn't one commit a day or so, but the last actual commit (asides rust updates and dependency bumps) was 25 Mar
I get your point, but again, you need to start somewhere. Splitting efforts isn't going to help much.
I'd say if you make PR's and they are never getting merged and the maintainer isn't responding whatsoever, that's the point where you start forking. If however the PR's do still get merged or at least get feedback, then keep upstream upstream.
This is all however getting offtopic for this issue, shall we move this to Github discussions? #601
@PureTryOut For the original request - I agree with the premise. My personal goal is to support enough functionality to play on modded 1.7.10, since that is the version I use in my world.
Admittedly I haven't made too much progress towards this ultimate goal in my 3 years of working on this project. Most of the actual gameplay functionality implementation is from Thinkofname, from his original Steven project, I just maintained it, keeping versions updated, Rust, dependencies, protocol, small bugfixes, etc.
I'd absolutely love to see all the gameplay features implemented, to where it is possible to practically play the game on survival mode (started tracking some gameplay feature issues, but there's many more), but the skillset required to achieve this is a bit beyond my reach..
We do have a few other collaborators although they are not too active either. I'm fairly liberal about giving commit access @terrarier2111 if you want it. https://github.com/terrarier2111/Leafish also looks promising, very cool to see progress on item rendering HUD.
I'm totally fine with forks, after all Stevenarella was forked from Steven, and even if they proceed along separate evolutionary lines, there's still the possibility of merging changes back and forth between them, maybe I'll take a closer look at Leafish, and of course I'd always welcome pull requests (even if I'm not the fastest at responding to them they are always appreciated), or maybe if it is closer at fulfilling the goals I'm trying to achieve too I could contribute to Leafish instead, as a natural successor of Stevenarella. But having commit access to this repo is also an option too if you are interested.
I think our goals are not too different. My main reason for working on web support (#446 🕸️ Web support #) is there is a friend I'd like to show my modded 1.7.10 world, but they don't have a compatible PC (something about OpenGL), so having a web-based client would let them. This may be more of a pipe dream, though I did think I made some decent progress on it (compiling and rendering). It may be better supported through a different rendering backend however (WebGPU? saw your https://github.com/terrarier2111/Leafish/issues/20)