How I made a game launcher for my Voxel RPG Game
HTML-код
- Опубликовано: 10 сен 2024
- My Voxel RPG game needs to be easier to download so...
I made a game launcher, using the rust programming language.
I needed to build 3 seperate softwares, here's a list including the Rust libraries I used:
Game launcher Client - Iced (GUI), serde (serialization), reqwest(networking)
Game launcher Backend - rocket (web-backend), serde (serialization)
Game launcher publishing utility tools - reqwest(networking), clap (args parsing)´
Want to support me?
Patreon: / tantandev
My super secret play testing discord group:
/ discord
♫ Music credits ♫
Noah James: • Can I Make Music in th...
I use a lot of his music, check him out!
#gamedev #rustlang #devlog
This Tantan Guy is Crazy and thats why I love him.
"Should I make a game launcher launcher?"
Yes, yes you should-that's how Minecraft does it, which is why I did the same :P
Rust, backend server, and GUI? That's a sexy episode right there
hahah yeaah , I love Rust man!
I had a really nice time with EGui. It just came out. Strongly recommend it. Macroquad is also still approachable, as you probably know from your recent experience.
Thanks for the tip! Yeah macroquad might've been a bit easier
Updating the launcher can be done. When the launcher downloads its next version and unzips, you can spawn a new install process and terminate the existing launcher process. Should be doable in rust.
Great video, as always!
oooh, you always come with great tips man!
Spawning a new process might not even be necessary, since the old launcher is already in memory, overwriting its files with the new one shouldn't be a problem. Though yes this is more safer.
@@VivekYadav-ds8oz on Linux a handle is created by the process upon run, which acts add the anchor that all future processing uses. Windows doesn't have that feature, so it locks the exe when you run it. You can test this by making a simple win app, running it and then make a change and try rebuilding. The build will fail because the app is running. This happens lot accidentally in window dev!
Nice work. I know second-hand through Songtronix, developer of the Veloren launcher, that launcher development is often subtly difficult and comes with a tonne of edge-cases to handle!
Nice to see more use of Rust. Did you use the new 0.5 version of Rocket?
Btw, Veloren also used Iced for their downloader. :)
I'm using rocket version 0.4.6.
Yeah a short moment after jumping into creating the launcher, I saw that Veloren also uses Iced, It's even open source :O
game versioning is so scary. I can't imagine a bug with the versioning and just corrupting all my ppl's game files LOL.
I think the solution for the 'Game launcher launcher' is to just have the launcher check for self updates. Like steam for example, when you open steam, it checks for steam updates and it updates itself, or like discord. Good luck!
When you waiting for some awesome game updates and all you get is a game launcher 😑
But it seems to be super usefull :D
Wow nice! Looks like it will definitely be handy. Great work putting it together!!!
Awesome! Please, continue doing this awesome game!
informative, never seen a video talking about creating a launcher!
That might be because most people aren't crazy enough to try to make a mmorpg XD
Yeay, rust!
Yeeees I love RUUUUST!
You should make a more in depth video on Iced. It certainly has big learning curve , but the GUI's you can make with it are pretty killer not to mention really snappy and responsive. There are good examples and some docss on Iced but in general it's slim pickings. Also not as user friendly,but a rust TUI would've been neat too.
Very cool!
Heeeeeeeeeeey Tantan I missed you :p Hope you're doing well :) Your videos inspired me to learn how to code x3, now I'm trying to make my own text rpg coded in python xD
I hope we'll get to learn about your secret side project ;)
Awesome to hear!
Hope your programming journey goes smoothly :D
I knew that making a launcher is difficult but I never really knew how difficult. Congrats on making a game launcher! Meanwhile, I don't even know how to label my versions properly XD
Heard a lot about Rust, hope the game launchers works as intended.
mah BOY is BACK!
If you were on Linux, you'd can use gtk1-4 library with Rust for graphical applications, really featured greater library for do thinks, i don't know if you can compile It for Windows but Is really greate.
I recommend you research about gtk4 features
Dude rocket coding sounds sick xD
best name!
A game launcher is a great idea! I hate having to tell people to unzip my game to play it.
Haha yeah! It was getting annoying having to do that :)
epic
I think this can be done with git a lot easier. And no need for backend. And this should be able to upgrade game launcher
by any chance are you able to make a custom game launcher for a project i am developing?
How to update the "game launcher" itself?
nice^^
Does the game versioning download a completely new version? It'd be an interesting challenge to try to only download what's changed to save bandwidth
Making a game launcher launcher?
Wait! That's illegal!
Looks like veloren
how can I join your Discord server? the link doesn't seem to be working?
That's odd, I checked out the discord settings, and the link is correct.
Maybe it works now? discord.gg/9P8QSYf
Bruh am I actually seeing a prototype of Veloren?
nice stuff, I tried rust for a while, but the compile times and linking are just horrendous even for little prototyping...
When was the last time you tried it out? The first build will be pretty rough if you're using big libraries but after that it should be alright
Yeah compile times can indeed be slow. But It's a compromise I'm willing to take because the tooling around Rust is good AND I just love Rust Enums haha.
I recently tested a game framework library called macroquad (I'm making an atari game clone).
I've had really fast compile times, so prototyping games with that specifically, seems good.
@@protowalker I actually still use it with game frameworks like amethyst and ggez but just changing a line in the main function recompiles like 15-30 seconds on my moderately "old" machine. Rust needs something like c compilers where you can have EXTREMELY fast compilers for prototyping and gcc for optimized stuff.
Cargo and rustc is pretty slow even if you don't use the release features. Or maybe I didn't figure out all the flags yet.
@@Tantandevthanks for the recommandation. just tried macroquad, it is really nice:)
@@94Quang try bevy. It can get 1-2 second compile times (even lower with dylib enabled but that feels a little like cheating lol)
Should of used github to upload the file (same name for update every version)
the invitation is not valid =(
Steam exists?