Making Hytale Multiplayer
Making Hytale Multiplayer
As it is to expect, many of the decisions I took when developing hytalemultiplayer.io were directly influenced by previous projects. Mainly using Rust for the backend and React Router and vanilla Javascript for the user interfaces.
Using Rust
I really like Rust. I used to think it was a stupid language years ago because of how many people talked about it. In the back of my mind I always thought about doing something with it and several times tried following along the book but never had a real, serious use for it, so I kept putting it aside. Until the middle of 2024, when I started Microblogs as a portifolio project.
This was when I really sat down and put legitimate effort into learning how to use actix-web to make the backend. By this point I had already developed backends for several other projects in Python using FastAPI. I was slightly bothered by the performance and ergonomy of how Python works, so this was probably one of biggest reasons for me top start learning Rust.
After completing the MVP for this project I was considerably confident I could start using Rust on serious commisioned work. So thats what I did since then. Nowadays, only a really small percentage of projects or tools I make use Python. This mostly happens when I’m being lazy or I really can not find an updated crate for what I need to do.
React Router
I also did not like the framework mode of React Router in the beginning. I used to think it was too convoluted, but after making Microblogs SSR, I haven’t used anything else. Also because the alternative to React Router I know of is Next, and I don’t feel like learning an entire framework would be productive. Specially when RR already does everything I need. Maybe one day.
All the way back when I only used RR in data mode (using <RouterProvider> and <Route> trees), I already used the loader and action feature. I used to think being able to return Responses from Javascript was a weird choice. Later I realized it’s because RR is made around the concept of SSR, and that really made it make sense.
Nowadays I really like React Router.