Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

egui implementation #19

Open
MeoMix opened this issue Sep 25, 2023 · 1 comment
Open

egui implementation #19

MeoMix opened this issue Sep 25, 2023 · 1 comment
Labels
UI Relates to visual interface

Comments

@MeoMix
Copy link
Owner

MeoMix commented Sep 25, 2023

Creating a robust and compelling user interface in Rust/Bevy is non-trivial. Bevy provides an in-house UI implementation, but it's too barebones and exceptionally verbose. There is no plug-and-play component framework natively provided by Bevy at this time.

Originally, I ignored my concerns and attempted to implement a UI using Bevy's tooling. This proved exceptionally time consuming and the cost/benefit trade-off was abysmal. It was several hundred lines of code to create the most trivially styled dialog.

In response to this, I abandoned Bevy's UI implementation and searched for alternatives. The most immediately promising solution was to use egui + bevy_egui to integrate the two frameworks. egui is currently responsible for creating the menus seen within the app.

Numerous high-level questions still linger, though:

  • egui does not scale with zoom in/out of the world map. Should it?
  • egui UI appears too small on mobile devices. How to elegantly resolve?
  • what does a "good" ui look like for Underground View? when will that be created?
  • how to create a mobile/responsive UI using egui? how high should this be prioritized?
  • is it worth considering alternatives such as Belly or Kayak? Why?

Additionally, there are low-level implementation questions:

  • How to completely reset an egui window position on game restart?
@MeoMix MeoMix added the UI Relates to visual interface label Sep 25, 2023
@porkcharsui
Copy link

Just a though ... Mini-map seems vital to the UX since it's currently unclear how much of the world is currently visible from the current camera.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI Relates to visual interface
Projects
None yet
Development

No branches or pull requests

2 participants