sparky-game/sparky

Add GUI launcher

Closed this issue · 0 comments

Describe the feature

Add a new CLI option to Sparky, -g, --gui, to open up a GUI launcher to start offline, online to a specific server IP, or start the server. All logging messages must appear in a section in the GUI.

I think a very interesting candidate to do so is the egui crate for the Rust programming language. So, the GUI launcher must be a Rust crate that builds a static library, which needs to be linked to the final executable with the rest of the game by the Makefile.

Why should it be implemented? (optional)

It gives the user the option to launch the game in a visual way, without the need of opening up a terminal to play.

Do you think there is any alternative? (optional)

Sure. But I think doing it in Rust is a good oportunity of learning the language in a practical way. Also, it's nice to mix multiple languages in a project (Rust integrates very well with C code, so it's the perfect candidate).
Also, I did not want to do anything appart from the game itself in Raylib, so egui looks interesting enough.

Additional context (optional)

The Minecraft Launcher is one of the most classic pieces of software of this kind (until the complete rewrite in 2017 that made it horrible 😃). These are the legacy versions, to serve as inspiration.

First option:

Image

Second option:

Image

Third option:

Image

Fourth option:

Image