gx
awesome-ebitengine
gx | awesome-ebitengine | |
---|---|---|
6 | 7 | |
88 | 522 | |
- | - | |
4.8 | 6.5 | |
24 days ago | 23 days ago | |
Go | ||
- | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gx
-
Making Games in Go for Absolute Beginners
Nice! Ebiten is a super nice API for Go. Lots there to be inspired by in API design. Another API I like a lot is Love for Lua (which also actually can be used from C++).
Re: the comments on here about the GC etc. -- I've posted about this a couple times before but I've been using a custom Go -> C++ compiler for hobby gamedev, which helps with perf, gives access to C/C++ APIs (I've been using Raylib and physics engines etc.) and also especially has good perf in WebAssembly. Another nice thing is you can add in some reflection / metaprogramming stuff for eg. serializing structs or inspector UI for game entity properties. I was briefly experimenting with generating GLSL from Go code too so you can write shaders in Go and pass data to them with shared structs etc.
The compiler: https://github.com/nikki93/gx
- Gx: Go to C++ Compiler
-
Cppfront, Herb Sutter's proposal for a new C++ syntax
I've been using my own little Go (subset / my own extensions) -> C++ compiler -- https://github.com/nikki93/gx -- and found it to be a fun way to add some guardrails and nicer syntax over C++ usage. You get Go's package system and the syntax analyzers / syntax highlighters etc. just work.
-
Build Pong in Your Terminal with Go for Some Reason
Re: perf for hobby gamedev, I basically agree for native builds, but lately I've felt like Wasm support seems key for hobby gamedev (so you can have more people play your game / without downloading it / it works directly on mobile too without dealing with app or play store). And Go perf in Wasm unfortunately is not so good (I was hitting big GC pauses when trying to make a game with Ebiten and large images).
I ended up writing a Go -> C++ compiler. The games I've done with it don't use the GC at all but also don't manually manage memory -- they use an ECS api which helps. https://github.com/nikki93/gx -- the README links to development workflow video and complete example game code.
-
GoGCTuner brought CPU utilisation down ~50%
I've written my own Go (subset + extensions) -> C++ transpiler and using it on a game project: https://www.youtube.com/watch?v=8He97Sl9iy0 -- No GC, it does have slices and has access to an entity/component API and with that I think you're basically set and don't need GC for games.
Example transpiler input / output: https://github.com/nikki93/gx/blob/master/example/main.gx.go... becomes https://gist.github.com/nikki93/97ff376abb6718427387bb9cca2f...
-
I wrote a simple Go->C++ compiler for gameplay programming (gives module system, simple definition-checked generics, static reflection). Here's a demo from my game project. Generated C++ visible at end of video. Compiler source is ~1500 lines, link in description. Will do a public release soon!
Hey thanks! The source code for the compiler itself is here: https://github.com/nikki93/gx along with a test / example under the 'example/' directory. This is the C++ output when compiling 'example/': https://gist.github.com/nikki93/b650c551ccb67490d8607980a582c468
awesome-ebitengine
-
Hello, world – A technical overview of the software powering bgammon.org
Hey, author here. I am glad to answer any questions.
Ebitengine is a blast to use as a game developer, and if you are at all considering trying it out, please do. The awesome-ebitengine repository links out to a lot of helpful developer resources:
https://github.com/sedyh/awesome-ebitengine
-
Making Games in Go for Absolute Beginners
I have been a happy user of Ebitengine for several years. If you are interested in seeing the source of some games created with it, check out the awesome-ebitengine list.
https://github.com/sedyh/awesome-ebitengine
All of the games listed on my itch.io profile were created using Ebitengine, and they are all open source.
https://rocketnine.itch.io
-
Ask HN: Released games built on FOSS engines?
This is a list of released, open source games created in Go using the Ebitengine game engine:
https://github.com/sedyh/awesome-ebitengine#games
-
Game Dev in Golang
Also here is a list of gamedev libs for Golang. Most are engine agnostic: https://github.com/sedyh/awesome-ebitengine
-
how mature is ebiten?
Awesome Ebitengine
-
gomobile?
There’s a graphics library https://github.com/hajimehoshi/ebiten that is fairly popular. Someone has a list of projects using it https://github.com/sedyh/awesome-ebiten
-
Ebiten in 2021 (Go game engine)
Awesome Ebiten, an index of useful resources for anyone interested in Ebiten.
What are some alternatives?
printf - Tiny, fast(ish), self-contained, fully loaded printf, sprinf etc. implementation; particularly useful in embedded systems.
awesome-playdate - A list of awesome resources for Playdate (https://play.date) game development and the Playdate SDK (https://play.date/dev/)
cppfront - A personal experimental C++ Syntax 2 -> Syntax 1 compiler
ebitengine-rock-paper-scissors - Rock Paper Scissors Wars
rotaterm
tetra3d - Tetra3D is a 3D hybrid software/hardware renderer made for games written in Go with Ebitengine.
flapioca - A Flappy Bird-inspired terminal game written in Go.
awesome-gamemaker - A curated list of awesome libraries, snippets, guides, and projects for GameMaker.
go - The Go programming language
Ebiten - Ebitengine - A dead simple 2D game engine for Go
Vrmac - Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.
halley - A lightweight game engine written in modern C++