// the find
g3n/engine
Go 3D Game Engine (http://g3n.rocks)
G3N is a 3D game engine written in Go, built on top of OpenGL and OpenAL. It targets developers who want to build 3D applications or games in Go without dropping into C++ or reaching for Unity. Not just a renderer — it ships a scene graph, GUI widgets, model loaders, and spatial audio.
PBR pipeline (Fresnel, geometric occlusion, microfacet distribution) is a meaningful inclusion for a Go-native engine — most would stop at Phong. glTF support makes it interoperable with the standard 3D toolchain, not just toy OBJ files. The scene graph API is clean and idiomatic Go: adding nodes to scenes, subscribing to events, and attaching materials follows patterns that feel natural to the language. Spatial audio via OpenAL is genuinely integrated, not bolted on — the listener and player abstractions are first-class.
Development has slowed significantly — last push was March 2026 but the commit history thins out well before that, and the physics engine is explicitly flagged as experimental and incomplete. WebAssembly support is described as '90% complete', which in practice means untested and unsupported. The dependency on cgo (OpenGL, OpenAL, Vorbis) makes cross-compilation painful and breaks pure-Go toolchains — this is a harder problem than the README suggests, especially on Windows where you need a specific MinGW build. Documentation is thin: the Getting Started guide is marked WIP, and most learning goes through the demo source code, which is not a substitute for a real manual.