Skip to content

Commit 8d8f9f8

Browse files
[N24] The Process and godot_egui (#727)
Co-authored-by: Setzer22 <[email protected]> Co-authored-by: Joe Clay <[email protected]>
1 parent 698b978 commit 8d8f9f8

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed

content/news/024/godot_egui.gif

281 KB
Loading

content/news/024/index.md

+55
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,37 @@ and story a bit more.
141141
[@nikl_me]: https://twitter.com/nikl_me
142142
[wicked_potions_repo]: https://github.com/NiklasEi/wicked_potions
143143

144+
### [The Process]
145+
146+
![Showcase image for the new inventory UI in The Process](the_process.gif)
147+
_The godot_egui backend powering a new inventory UI for The Process_
148+
149+
[The Process] by @setzer22 is an upcoming game about factory building,
150+
process management, and carrot production,
151+
built with Rust using the Godot game engine!
152+
153+
Continuing with last month's migration of old GDScript code to ECS in Rust, this
154+
month's main focus has been on porting the GUI code. This has resulted in
155+
the birth of a Godot integration for [egui](https://docs.rs/egui/) that now
156+
powers the game's interface.
157+
158+
This month has seen the following changes and improvements:
159+
160+
- Finished migration of character controller code to ECS style. Now with [300%
161+
more jumps!](https://twitter.com/PlayTheProcess/status/1413081233396011012)
162+
- Implemented [better ambient
163+
lighting](https://twitter.com/PlayTheProcess/status/1413943539160031246) and
164+
enable using different skies for radiance and display. This required a [forked
165+
godot version](https://github.com/setzer22/godot/tree/feature/cosmetic_sky).
166+
- Implement a [new inventory and
167+
toolbar](https://twitter.com/PlayTheProcess/status/1417774452012724226)
168+
interface using egui.
169+
- Integrated the [puffin
170+
profiler](https://twitter.com/PlayTheProcess/status/1420277428199559174) into
171+
the game using the godot_egui integration.
172+
173+
[The Process]: https://twitter.com/PlayTheProcess
174+
144175
### [Robo Instructus: 2 Years Old][robo-year]
145176

146177
![game logo + OS logos](robo-os.jpg)
@@ -223,6 +254,30 @@ web [playground].
223254
[Throne]: https://github.com/t-mw/throne
224255
[playground]: https://t-mw.github.io/throne-playground/
225256

257+
### [godot_egui]
258+
259+
![godot_egui](godot_egui.gif)
260+
261+
[godot_egui] is an integration of the [egui](https://github.com/emilk/egui)
262+
crate for the Godot engine using Rust, enabling highly dynamic and performant
263+
user interfaces in an immediate-mode style in Godot.
264+
265+
Godot has a great GUI system, so why use `godot_egui` instead? A more in-depth
266+
rationale can be found in the crate's README, but the main reason is to provide
267+
a GUI system for godot-rust games that is closer to Rust's data driven
268+
philosophy.
269+
270+
Unlike other egui integrations, `godot_egui` has the special feature of being
271+
embedded as a custom Godot scene tree node. This effectively allows combining
272+
Godot's retained mode UI and container-based placement with the simplicity of
273+
immediate-mode style GUI code of `egui`, getting the best of both worlds.
274+
275+
The [github repository](https://github.com/setzer22/godot-egui) has an example
276+
project and usage instructions to get you started with immediate-mode GUI
277+
programming with Godot and Rust!
278+
279+
[godot_egui]: https://docs.rs/godot_egui/
280+
226281
## Popular Workgroup Issues in Github
227282

228283
<!-- Up to 10 links to interesting issues -->

content/news/024/the_process.gif

1.03 MB
Loading

0 commit comments

Comments
 (0)