Sweattypalms

Sweattypalms

0-day streak
https://scrapbook-into-the-redwoods.s3.amazonaws.com/87bce42e-a6e6-4c34-810e-b6628dae00c1-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/138c974a151589b252a662f07f859df883b459a645c940efef4fb2cb072af686/44a2e6ec-cf2d-4aef-b3d8-5929e2ffcaf6.png
github emoji
minecraft emoji
summer-of-making emoji
Yippeee. Finally got chunks (somewhat) working! Ahhh.. it feels so good to see progress on screen after so long. I've worked hard as hell on this server, on networking, stupid mojang protocol, database, codecs, entity component systems, and soooo much more. It's all finally coming together. All this while still using insanely low memory usage, in comparison it uses almost 75x less memory. (Mine: 20~mb, Java: 1.5GB+). For context, FerrumC is a Minecraft server implementation written from the ground up in Rust with performance in mind. Leveraging the power of the Rust programming language, it achieves high performance and low latency as well as amazing memory efficiency! You can checkout the github repository here: github.com/sweattypalms/ferrumc Would appreciate a star 😛
https://scrapbook-into-the-redwoods.s3.amazonaws.com/f51e05c8-95b2-4780-947a-ab2df7c42b18-low_mem_usage.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/726d01b3-4398-403e-9f36-b2b576ae7800-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/b4d20d84-3543-41e9-bc64-025eebee4cee-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/134bc26e-1a26-4772-9b4f-149678dc4a65-in_game.pnghttps://imgutil.s3.us-east-2.amazonaws.com/8587864bdbd6f3dbc21b9e02320546b276c98b7fa9a87f9a47e154365958bead/537fdedc-1f3d-4073-8387-19bcbc23ddb0.png
rustlang emoji
java_duke emoji
summer-of-making emoji
github emoji
minecraft emoji
Finally done with my NBT serializer/deserializer. It's very extremely fast, runs in microseconds (and even nanoseconds) even on big structures!! I'm making a minecraft server framework from scratch in rust! To be as fast, robust and extremely easy to use as possible. So far a lot of networking related things are done, as well as databases, and also an entire ECS (Entity Component System)! I was missing a NBT parser, so I decided to embark on the journey to make it myself, and oh boy I did. It's so fast and easy to use. With the addition of the NBT library, I can work on chunks, and a lot minecraft related features. I hope this server progresses a lot now! The ecs, database and a lot of really core features are done. Oh and also global state! The code is really to my likings, it's pretty clean and robust. I can easily add more features, systems etc. I've attached some image that showcases the simple use of the library. Since it's rust, I've used the derive macros feature to auto generate deserialize/serialize implementations! The first image showcases how we can create struct and add derive macros on it. The Serialize macro auto-generates the serialize method. Same with Deserialize. In the second image we instantiate a Sample object. The third image shows how easy it is to just serialize the Sample object we created into a buffer! You can simply do sample.serialize(&mut bytes)and the bytes would have the serialized data. Finally, the last image shows how easy it is to read plain bytes back into the datatype (Sample) we want. Because its possible it's not a correct type, it returns a result, which in this example we use unwrap to tell the program that trust me, it's the correct type! And if we check the result of the deserialize with the initial struct we instantiated, they both are indeed the same! You can find the github repository here: github.com/Sweattypalms/ferrumc Would appreciate a star! Thanks! ❤️
https://scrapbook-into-the-redwoods.s3.amazonaws.com/1cc8d581-889a-484f-9c09-320d2cfb7fca-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/7b0d6134-8375-4422-9227-c92f201f983f-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/f8b9849e-7bb5-4c29-9bcf-4480624d746f-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/49e7629a-3cf3-4b19-9187-b4a5a3dbccf8-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/33151f37da2795846600fa48108a3563474f2f542ec9db39bd056e345ac0b2fa/88158a9f-2a65-47f8-84d7-6b276291051c.png
Finally done with my ECS. It's super clean and works well in multi-threaded context! I'm making a minecraft server framework from scratch in rust! To be as fast and robust as possible. So far I've done packets, you can join the world (chunks aren't done) and a lot of stuff is processed ont he server. By completing the ECS, I/We can work on so much more stuff! Would appreciate a star! Thanks! <3 github.com/Sweattypalms/ferrumc/tree/feature/async_ecs
https://scrapbook-into-the-redwoods.s3.amazonaws.com/3287d2d6-717e-428b-8395-8e917aa37583-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/ad3c282a-516d-4666-bcc1-319ea98684d9-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/dde1c294-8a53-4d49-bcb2-6fa12068241e-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/94b4bb75-b2d8-48b9-a28b-751664708362-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/fd7d00887781bfacfebb94f64a0292e3cfc7fa3e9cffa620127cdf3c60465a11/a484e430-d059-4cf2-842c-71b2aea067af.png
Just reporting on the current progress. So we've got a great ecs (without parallelism for now). And we can modify component for specific entities as well as query entire component storages (which are SparseSet<T>!). Also worked a fair bit on chunks, can load, deserialize them, etc. Using SIMDnbt. Ferrumc is a Minecraft server framework developed from the scratch up using the 'Rust' programming language! github.com/sweattypalms/ferrumc Currently working on an async ecs, as well improved the NBT stuff, and chunks as well!
https://imgutil.s3.us-east-2.amazonaws.com/d0e6221eb4bd9e53f7284fa02730e06929d9c4e3174696fc4b2ada2e1076dcc6/4303b4dc-d42a-4cd4-9ae4-873ad5dd9ffc.png
rustlang emoji
summer-of-making emoji
minecraft emoji
github emoji
A lot of NBT and region loading, chunks stuff for minecraft, using rust and SIMD! It's actually pretty fast, I can't lie.
https://scrapbook-into-the-redwoods.s3.amazonaws.com/0ca2ff54-96ae-4bda-94a8-7960bee7cba1-image.png
minecraft emoji
summer-of-making emoji
rustlang emoji
https://imgutil.s3.us-east-2.amazonaws.com/73e9ae18f88b1cd0e869d8a9f48c84d426857c9987113cc2f94e764131dba4a8/93fdf59b-b0f7-4572-ae7e-97fa7d29d74a.png
summer-of-making emoji
github emoji
Absolute madness. But the ECS is done! Hopefully it plays out great long term. The code is fine, a solid 7/10. Insanely easy to add entities with components through builder pattern. Can easily query with a lot of query params, also supports mutability. Wooo~!!! An example system to add velocity into position was also added. I like it so far. But it could definitely use some improvements. I learnt a lot about sparse sets, entity component systems, and especially rust's stupid borrow checker. Also wrote some unsafe code. github.com/sweattypalms/ferrumc/tree/ecs
https://scrapbook-into-the-redwoods.s3.amazonaws.com/5df454ca-97ef-4152-b6fd-5ce9bfdd3229-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/12e89d78-b5ae-4ae0-b8f3-1cb5d4f08a45-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/d5f47a4e-b4b7-4abd-a6d6-df876cae3c3e-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/73e9ae18f88b1cd0e869d8a9f48c84d426857c9987113cc2f94e764131dba4a8/b6b1c2d9-238e-4b46-aa57-52a8630f0711.png
Got this far! It loads the MOTD and stuff from the config file and shows it in the server list. And you can also try join the server, and it shows the 'Joining world' screen! A lot of progress~~ Make sure to star it <3. github.com/Sweattypalms/ferrumc/tree/dev It's a basic server reimplementation of the minecraft server framework. Made with ❤️ in rust!
https://scrapbook-into-the-redwoods.s3.amazonaws.com/a474ac11-cf36-4222-8000-6696202096e3-image.pnghttps://scrapbook-into-the-redwoods.s3.amazonaws.com/e08fc44f-324b-44e2-8def-a9b5382073df-image.pnghttps://imgutil.s3.us-east-2.amazonaws.com/41b2c887633213267d60fa62f7ad00df57ecbe91bf71fbe06dd990411f167228/584b2a73-58f1-4cc3-b1b2-090ce4594969.png
minecraft emoji
github emoji
summer-of-making emoji
rustlang emoji
partyparrot emoji
ultrafastparrot emoji
https://imgutil.s3.us-east-2.amazonaws.com/aaa2be50cb69ca059a3bf1303f070481c9b346a283d0abc712a44667c159dd5e/347508f9-fbf6-488d-86cf-0be4a7c55005.png
github emoji
spring-of-making emoji
https://scrapbook-into-the-redwoods.s3.amazonaws.com/cc63984d-3bcd-4436-89f7-7c33eda6bd41-main_generation.pnghttps://imgutil.s3.us-east-2.amazonaws.com/20fbe3b6f7cb5da77ac58293dc08a441df382dc6c5ba26363d892294f5952f59/65b7058c-5d7c-4a6d-aa57-5387e26625c0.png
github emoji
spring-of-making emoji
Procedurally generated dungeon! (Just the 2d blueprint of it.) It's gonna be open-source soon. Hopefully!
https://scrapbook-into-the-redwoods.s3.amazonaws.com/368b4158-5191-4cd6-a86b-02393fffb90d-image.png