Making Games in Go for Absolute Beginners

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. aaaaxy

    A nonlinear 2D puzzle platformer taking place in impossible spaces.

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. rust-playground

    The Rust Playground

  4. go

    The Go programming language

  5. goloader

    load and run golang code at runtime. (by pkujhd)

  6. wazero

    wazero: the zero dependency WebAssembly runtime for Go developers

    > Go actually has one of the best WASM runtimes https://github.com/tetratelabs/wazero

  7. tengo

    A fast script language for Go

    > It also has a bunch of libraries for embedding scripting languages https://awesome-go.com/embeddable-scripting-languages, with Tengo _probably_ being the quickest https://github.com/d5/tengo

    Yes, I noticed those packages recently. The problem is that there is little data about how reliable and maintainable goloader is going to be on the long term.

    As I care about performance and security, I don't want a scripting language, but WASM seems to be a very promising possibility. I have made benchmarks with 2~3 WASM engines in Go, and so far I am not completely convinced about the quality and performance of the available APIs. Also, when compiling Golang to WASM, the native compiler is still abysmally bad and does not have full support for imports, so Tinygo is a must-have.

    Anyway, modding is still a long term idea at this point, so hopefully the ecosystem will get more mature within a couple of years.

  8. g3n

    Go 3D Game Engine (http://g3n.rocks) (by g3n)

    I've been working on a game over the past year in Go using https://github.com/g3n/engine. I picked Go because I like the language and wanted to learn it. I picked g3n-engine because I wanted to work in 3d after making a few 2d games in the past.

    Making games is so much more challenging and rewarding than almost all of the work I've done for pay. There's always so much more to learn that doesn't feel like just relearning how to do the same thing except with a different framework of the week.

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. gx

    A Go->C++transpiler meant for data-oriented gameplay and application programming especially for WebAssembly. Using this mostly in the context of specific personal projects and heavily focusing the feature set on those. Used in my Raylib gamejam project: https://github.com/nikki93/raylib-5k -- also being used to develop a private longer term game project and a note-taking app. (by nikki93)

    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

  11. raylib-5k

    A game made with it for raylib game jam along with the raylib bindings and other engine stuff: https://github.com/nikki93/raylib-5k

  12. awesome-ebitengine

    A curated list of awesome Ebitengine frameworks, libraries and software

    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

  13. Ebiten

    Ebitengine - A dead simple 2D game engine for Go

    I love Go, yet I've never thought of it as a language with usable game engines. I'm extremely happy to find I was very wrong about that!

    I'm woefully behind the curve on compiling to WASM, though, and I've yet to experiment much with tinygo so I have no idea how far I would get in creating a game people could enjoy in a browser without having to download a big bundle of assets. It's reassuring to see WASM mentioned explicitly as a compilation target [1] by Ebitengine though.

    [1] https://github.com/hajimehoshi/ebiten

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • What 2D Go Game Framework Do You Use, and What are Its Pros and Cons?

    5 projects | /r/golang | 12 Aug 2022
  • gomobile?

    2 projects | /r/golang | 18 Jun 2022
  • Green Tea Garbage Collector

    1 project | news.ycombinator.com | 13 Jun 2025
  • Too Many Open Files

    1 project | news.ycombinator.com | 6 Jun 2025
  • sync.Cond in Go: Efficient Goroutine Signaling Without Channels

    1 project | dev.to | 4 Jun 2025

Did you know that Go is
the 4th most popular programming language
based on number of references?