-
Notifications
You must be signed in to change notification settings - Fork 5
Consider basing on steven (or stevenarella) #22
Comments
Is this speeds up development, I think this is a good idea. It was supposed to be ready by Christmas. |
It's a very good project and it's quite interesting, but I think that it has some shortcomings, like doing many things in a single thread, using unsafe in some places, and using OpenGL by hand. |
Hey thanks for your interest in my project. Just some thoughts chiming in here, I think our projects (Stevenarella and Litecraft) have a lot of similar goals, certainly could benefit from some sort of collaboration. On the other hand, it is true Steven has a lot of legacy baggage accumulated from over the years as Rust has evolved, and some things are implemented in a manner which wouldn't make as much sense as if it was written from scratch today. So writing a new client wouldn't necessarily be duplicated/redundant work. @KernelFreeze is Litecraft still under development? I actually would be very interested in your approach. A major downside, as you point out, of Steven/Stevenarella is its graphics backend, or lack thereof: steven_gl wrapping raw OpenGL calls using gl_generator and khronos_api. Something I have been wanting to improve for a while now, but was stuck because the current state of 3D graphics libraries in Rust — copious details at iceiix/stevenarella#34, and some recent discussion at https://www.reddit.com/r/rust/comments/bjnxd3/a_guide_to_rust_graphics_libraries_as_of_2019/. Amethyst does appear very promising though, especially since they recently received a Mozilla grant (https://amethyst.rs/blog/moss-grant-announce/) so it's only going to get better over time. Curious how well Amethyst would work with voxel-based rendering (optimized meshing), how much control it gives to allow for sufficient performance. If it can abstract away low-level details, providing cross-platform compatibility on various platforms (Windows, Linux, Mac, and hopefully HTML5 with WebAssembly) that would be great, but at least from my understanding the official Minecraft client in Java uses only a thin graphics layer (https://en.wikipedia.org/wiki/Lightweight_Java_Game_Library) to maximize power and performance, at the expense of complexity. Many possible different approaches and tradeoffs. But one thing is for sure, Stevenarella's current usage of raw unsafe OpenGL calls |
@iceiix I have not had much time to work on the project, but I see very promising Amethyst for rendering Voxels, due to its extreme multithreading. I am willing to contribute to any Open Source Minecraft client because I see it as an unexploited idea, I see a collaboration possible if it seems right to you. |
Are there any updates here? Have you guys talked about this a bit more? |
Hi guys, just wondering what the current status is for this project? |
Not a bug sorry, but I won't join a proprietary messaging platform like Discord.
The idea of this project is definitely cool, however it is not the first to do so. An attempt has been made before with Steven. It got as far as actually joining a server, rendering everything and being able to move around. Sadly development had died, but someone else has forked it to add 1.13.2 protocol support with Stevenarella.
It seems the goals of the project are the same, with just this project being a bit more serious (not just "for fun" as the Steven project describes it). So instead of doing it from scratch, could basing of Steven be considered? Maybe you could even work together with iceiix (the current dev of Stevenarella)?
The text was updated successfully, but these errors were encountered: