Progress/Life Update
Hello, fellow tech nerds! How have you all been? I hope you are doing great and if not, this post will cheer you up (I hope)!
Let's talk about what has been happening so far, since I haven't posted anything on Mastodon/Blog in a while as well.
And we shall begin with...
Project BloodRed
Yeah, I know a lot of people are wondering what is going on with it. Well, it's not complicated at all. Here is time-based list of what I have done on it:
- Small code update...
- Raycasts + Item text (Looking at an item will show you it's data)
- Complete rewrite of the game and Multiplayer! (Yikes)
- Complete rewrite of the procedural gen system! (That's the first one.)
That's not all, because after that...
I stopped being happy with a single island, so why not spend more than 40 hours of my life to write an infinite world generation instead?
Yes, I wrote an infinite world gen (Second rewrite of procedural gen system...), but that's not all. I also wrote custom terrain generation using lots of boring math-filled code and noises!
Now I have quite a lot of files in my workspace...

Oh, what did you just say? Why am I using VS Code? Huh, but I'm not using VS Code or VS Codium, I'm using Zed Editor now! With it's built in amazing way of configuring the editor, and all the needed extensions already there (Including my favorite color theme preinstalled!), I think I don't have to dive into Neovim rabbit hole just yet.
But, back to the topic. How can I handle an infinite world with limited resources? With chunking of course! The server renders a physics mesh, and physics objects on it's side, and the client renders the meshes, visuals and sends player input to the server. Yup, it's full server authority. Here is the image of one chunk in Project BloodRed:

On the client side it looks like this:

The shadows quality is turned down for faster development cycle:

Oh, hey, the sun is still here:

The sunset looks beautiful!

Anyway, after that I wrote quite a bit more generation code and tried to make a few models, but that's about it for now.
And I hear you say "That's not a lot!", but I disagree. It does not look like a lot, until you are rewriting the same code 8-times-over until it works like a charm, and math - is my weak side, but I had to try and use it in order to create the needed terrain. Besides life and college, I have quite a lot of other things going on, and yet I made quite a bit of progress IMO.
I am also adding grass, but raycasts are not behaving as expected for now, so that's a WIP. Multiplayer was a hell to setup, but after I got it working, it was pretty easy to add new things. The multiplayer learning curve is pretty discrete, you are adding step by step, and fixing errors one after another.
Anyway, I would love to get some help on Project BloodRed, but I am afraid to give anybody the original code, since it might get stolen/sold...
Let's move on from Project BloodRed to other news that I have.
Bevy Club (https://bevy.club)
I have decided to contribute a bit of my time to Bevy Club, an unofficial community for the Bevy Engine (The engine I use for Proect BloodRed). I helped them with styling the website, and did my first ever PR on Codeberg! I have opened issues in the past, and made commits to my repos, but a pull request? That was my first time! I'm happy with how it turned out. If you are looking for a small but growing unofficial community for Bevy Engine, visit https://bevy.club and see the Matrix room for yourself!
Rewrite of my Personal Website with Zola
I moved from Nuxt.js to Zola (A Rust static site generator), and I am... Happy and disappointed at the same time. I might create my own SSG in the future (Maybe?), with a component based system, since I like how it works in Nuxt/Vue. The RSS feed moved here, so please update your RSS readers to the new address!
Secret Project with Bevy Engine?
I am working on a somewhat secret project that I am making in Bevy Engine. It is not a game, and it is not an app (In the traditional sense). Stay tuned to find out more about it!
Moving to Codeberg
I am moving everything from GitHub over to Codeberg. I found that Codeberg is much better suited for my usecase, and I hate MS Compilot, so I don't want to contribute to it. Please subscribe to my Codeberg here, to not miss a thing!
Other things
Since I am often busy with college, I usually don't have much energy to write blog posts, but today I felt motivated to rewrite the website in Zola, and get a new blog post.
Until then...
Happy hacking!
- LupusCrystal