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​ #rust​lang #devlog

Комментарии • 54

  • @algs5483
    @algs5483 3 года назад +8

    This Tantan Guy is Crazy and thats why I love him.

  • @tomweiland
    @tomweiland 3 года назад +17

    "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

  • @LightTheMars
    @LightTheMars 3 года назад +8

    Rust, backend server, and GUI? That's a sexy episode right there

    • @Tantandev
      @Tantandev  3 года назад +2

      hahah yeaah , I love Rust man!

  • @JosephCatrambone
    @JosephCatrambone 3 года назад +9

    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.

    • @Tantandev
      @Tantandev  3 года назад +2

      Thanks for the tip! Yeah macroquad might've been a bit easier

  • @RobLang
    @RobLang 3 года назад +4

    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!

    • @Tantandev
      @Tantandev  3 года назад +3

      oooh, you always come with great tips man!

    • @VivekYadav-ds8oz
      @VivekYadav-ds8oz 2 года назад +1

      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.

    • @RobLang
      @RobLang 2 года назад +1

      @@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!

  • @jsbarretto
    @jsbarretto 3 года назад +5

    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!

  • @WorstDeveloper
    @WorstDeveloper 3 года назад +14

    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. :)

    • @Tantandev
      @Tantandev  3 года назад +2

      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

  • @ktmochiii
    @ktmochiii 3 года назад +4

    game versioning is so scary. I can't imagine a bug with the versioning and just corrupting all my ppl's game files LOL.

  • @breakingreality940
    @breakingreality940 3 года назад +1

    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!

  • @YannickGames
    @YannickGames 3 года назад +3

    When you waiting for some awesome game updates and all you get is a game launcher 😑
    But it seems to be super usefull :D

  • @WannibeManisha
    @WannibeManisha 3 года назад

    Wow nice! Looks like it will definitely be handy. Great work putting it together!!!

  • @gasegamer260
    @gasegamer260 3 года назад

    Awesome! Please, continue doing this awesome game!

  • @PenguinMaths
    @PenguinMaths 3 года назад

    informative, never seen a video talking about creating a launcher!

    • @Tantandev
      @Tantandev  3 года назад

      That might be because most people aren't crazy enough to try to make a mmorpg XD

  • @jeanjacquesstrydom
    @jeanjacquesstrydom 3 года назад +1

    Yeay, rust!

    • @Tantandev
      @Tantandev  3 года назад +1

      Yeeees I love RUUUUST!

  • @dantes.4845
    @dantes.4845 3 года назад

    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.

  • @tutmo
    @tutmo 3 года назад

    Very cool!

  • @ThunderYorn
    @ThunderYorn 3 года назад +1

    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 ;)

    • @Tantandev
      @Tantandev  3 года назад

      Awesome to hear!
      Hope your programming journey goes smoothly :D

  • @GrizzliusMaximus
    @GrizzliusMaximus 3 года назад

    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

  • @tauheedgamedev2388
    @tauheedgamedev2388 3 года назад

    Heard a lot about Rust, hope the game launchers works as intended.

  • @SmoothieBuns
    @SmoothieBuns 3 года назад

    mah BOY is BACK!

  • @vertecedocittreavsorpening3924
    @vertecedocittreavsorpening3924 3 года назад

    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

  • @TonsOfHunStudios
    @TonsOfHunStudios 3 года назад +2

    Dude rocket coding sounds sick xD

  • @Skeffles
    @Skeffles 3 года назад

    A game launcher is a great idea! I hate having to tell people to unzip my game to play it.

    • @Tantandev
      @Tantandev  3 года назад +1

      Haha yeah! It was getting annoying having to do that :)

  • @srqubit9480
    @srqubit9480 3 года назад

    epic

  • @Shenepoy
    @Shenepoy 3 года назад

    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

  • @brianbonifassi4686
    @brianbonifassi4686 2 года назад

    by any chance are you able to make a custom game launcher for a project i am developing?

  • @GokdenizCetin
    @GokdenizCetin Год назад

    How to update the "game launcher" itself?

  • @FlashBreakerOfficial
    @FlashBreakerOfficial 3 года назад

    nice^^

  • @falxie_
    @falxie_ 3 года назад

    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

  • @ZooHair
    @ZooHair 3 года назад

    Making a game launcher launcher?
    Wait! That's illegal!

  • @fren648
    @fren648 Год назад

    Looks like veloren

  • @mushogenshin
    @mushogenshin 3 года назад

    how can I join your Discord server? the link doesn't seem to be working?

    • @Tantandev
      @Tantandev  3 года назад

      That's odd, I checked out the discord settings, and the link is correct.
      Maybe it works now? discord.gg/9P8QSYf

  • @thechoripankiller
    @thechoripankiller Год назад

    Bruh am I actually seeing a prototype of Veloren?

  • @94Quang
    @94Quang 3 года назад

    nice stuff, I tried rust for a while, but the compile times and linking are just horrendous even for little prototyping...

    • @protowalker
      @protowalker 3 года назад

      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

    • @Tantandev
      @Tantandev  3 года назад +1

      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.

    • @94Quang
      @94Quang 3 года назад +1

      @@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.

    • @94Quang
      @94Quang 3 года назад +1

      @@Tantandevthanks for the recommandation. just tried macroquad, it is really nice:)

    • @protowalker
      @protowalker 3 года назад +1

      @@94Quang try bevy. It can get 1-2 second compile times (even lower with dylib enabled but that feels a little like cheating lol)

  • @hypocritical7379
    @hypocritical7379 3 года назад

    Should of used github to upload the file (same name for update every version)

  • @IgorKorobeinikov
    @IgorKorobeinikov 3 года назад

    the invitation is not valid =(

  • @arsenbabaev1022
    @arsenbabaev1022 3 года назад

    Steam exists?