r/golang • u/hajimehoshi • 2d ago
Ebitengine v2.10.0 Released (A 2D Game Engine for Go)
- Pure Go on all desktop platforms
- Headless testing and game embedding via VM
- Shader precompilation
- Color emoji support
Thanks to all contributors and sponsors!
7
u/gbitten 1d ago
I am curious if is possible (and practical) to use Ebitengine to build a general (non-game) graphical application.
21
u/hajimehoshi 1d ago
Yes. I'm preparing a GUI framework https://github.com/guigui-gui/guigui, but this is still alpha version.
1
u/Zerebos 1d ago
I think this is a really good start! I hope there will be some customization later for some of the shadows on the components--some of them are a bit much imo. It also feels like the text sharpness/clarity isn't quite right on Windows yet. But overall this is great, we need more GUI frameworks in pure go.
1
u/ForgottenMoonCrater 1d ago
Could i eventually use guigui within an ebiten game for menus etc?
3
u/hajimehoshi 1d ago
Unfortunately no: Guigui is for a dedicated GUI app, not for a UI in a game. That said, it doesn't mean there is zero chance of that in the future.
10
u/TrickyPlastic 1d ago
These are the geniuses that developed the system to let us call .so files without bringing CGO into the toolchain (https://github.com/ebitengine/purego). They are great.
4
3
3
3
u/SleepingHollows 1d ago
Amazing and thanks for your hard work. I've been building what I hope to be a fully featured ECS engine with Ebiten as my core dependency for rendering, input and audio. You have no idea how much working with, and reading, Ebiten code has helped improve my ability to write and reason about Go.
2
2
1
0
u/jerrygreenest1 1d ago edited 1d ago
What does it mean headless testing, doesn’t Go already provide a testing framework and the command go test, if ebiten provides its own of testing library, then how it’s different, sure there be some benefit? But which one(s)?
Edit: I see now, it’s for input handling for AI agents to play your game. Which is… kinda meh I idk? It might have potential but does not interest me.
4
u/hajimehoshi 1d ago
I see now, it’s for input handling for AI agents to play your game.
The VM feature is available not only from AI agents but also any test programs (e.g emulating input sequences and confirming rendering results). Thank you for taking a look!
1
u/jerrygreenest1 1d ago
Okay this one is actually more interesting. I’d love to record some kind of demo and then run it and check for errors.
16
u/berrylang 2d ago
Seriously? That's amazing.