A tutorial for building a 2D game engine with Go and OpenGL
This is a tutorial on how to build a 2D game engine with Go and OpenGL. The tutorial is based on the work I did for my own hobby game engine and I am writing it as a way to improve my code and understanding of the material (firm believer in the Feynman Technique). There are currently three tutorials and the plan is to release one every other week. Appreciate any feedback.
A tutorial for building a 2D game engine with Go and OpenGL launched on July 6, 2023 with 17 votes, #1,512 of 4,347 launches that month and more than 75% of that year's launches. The site was still online in September 2026, 3 years on.
In plain words
This tutorial series teaches developers how to build a 2D game engine using Go and OpenGL. Based on the creator's personal hobby project, it covers foundational concepts through hands-on instruction. The series currently includes three tutorials with new installments planned biweekly. It targets programmers interested in game development and graphics programming who want to understand engine architecture from the ground up.
written from the facts on this page · September 2026
From the sources
This tutorial series aim to do two things. First, it’s a guide on how to build a 2D game engine with Go and OpenGL. It covers low-level concepts like drawing sprites using shaders and high-level concepts like game object hierarchies and component systems. Common game algorithms like collision detection, pathfinding, procedural generation and AI are also explored. Second, this guide is meant to document the AGL game engine . AGL is hobby 2D game engine built with Go and OpenGL. AGL started as an attempt to write a GPU accelerated text editor and slowly evolved into a sprite renderer and finally into a game engine (yay for feature creep!). Most of this tutorial series is based on the work…from nik-os.com
Does a similar job
all alternatives →
I wrote my own RTS game engine in C2021 · github.com · ▲1,102An OpenGL RTS game engine written in C. Contribute to eduard-permyakov/permafrost-engine development by creating an account on GitHub.
Generative Art in Go2021 · p5v.gumroad.com · ▲115Learn the basics of algorithmic art with the Go language
2D Game engine and editor for Windows and Linux2022 · github.com · ▲121Hello HN, Just wanted to show this little 2D game engine that I've been working on for some time (around 2 years on the editor part, longer on some of the components). It's quite full featured but obviously this a project of such magnitude already that the work never really ends. That being said it's definitely already at a point where games can made and published. The editor runs natively on Windows and Linux using Qt5. The games can run on both Win and Linux as well as on WASM with WebGL. Feature wise there's a bunch of the stuff you'd expect. Audio, graphics, scripting,…
A 2D game engine in under 1000 lines of C2020 · github.com · ▲98A top-down 2d game engine, written from scratch in under 1000 lines of C. Development of the game based on this engine is streamed on Twitch: https://www.twitch.tv/ryanpcmcquen - ryanpcmcquen/basque
Homegames. An open-source game platform I've been making for 8 yearsJul 2026 · homegames.io · ▲229I'm making a platform for simple open source games you can play anywhere. Games are all just JavaScript classes and you can read the source of every game on the platform. I started working on initial "games" (mostly rendering tests) in 2018 and eventually built all of the platform stuff around it to make it easy to share games. There's also an in-browser editor available for you to make and publish games all from the browser. Would love some feedback on the games and studio features as well as the platform overall. All of the code is available at https://github.com/homegamesio
- ICI co-wrote a book on training Deep Learning models in Go2019 · ▲45
A friend and I wrote a book on how to build and train Deep Learning models in Go. We wanted it to be a useful reference for deep learning basics for Go programmers. Deep Learning is slowly seeping into everything we use every day and we thought it would be great if more people could do it in Go. The book is available here and on Amazon as well. https://www.packtpub.com/big-data-and-business-intelligence/hands-deep-learning-go We would appreciate any feedback and we're always looking to improve.
More dev tools this month
the category →

open-source IDE for thoughtful software design. Contribute to devdotfast/whiteboard development by creating an account on GitHub.
Dev tools · 28d ago · github.com

Contribute to reladraw/reladraw development by creating an account on GitHub.
Dev tools · 26d ago · github.com
OpenBot▲362Grok Bot alternative: free, local, open-source, multiplayer
Dev tools · 24d ago · openbot.run
Talanoa▲346Hi HN, I’m a fullstack developer, and honestly, I’ve lost count of how many side projects I’ve worked on over the years. But one idea kept coming back to me: a different kind of email client. It first came to me in 2014: “What if we could handle emails more like conversations?” Every year, I’d revisit this concept in my “Build Notes.” Ten years later, no one had built exactly what I had in mind — so I finally decided to do it myself. That’s how Talanoa was born. I wanted something focused on people, not timelines. I was tired of marking messages as unread just to remember to reply later, or…
Dev tools · 21d ago · talanoa.email

Contribute to oosexgang/hackios-xnu-kernel development by creating an account on GitHub.
Dev tools · 12h ago · github.com
Source: Show HN post ↗
Launched alongside, July 2023
the whole month →

Hey everyone, I here is a small open-source project I've been working on lately. I'd love to hear your thoughts and improvement ideas :) GitHub: [github.com/Vincenius/workout-lol](https://github.com/Vincenius/workout-lol)
Dev tools · 2023 · workout.lol
- HN
I saw this [0] pretty cool thread by user revskill, and wanted a quicker way to search through it, but also to keep them all in one place so I can read them at my leisure whenever I get time. Right now is like 60 lines of Ruby using Nokogiri, but I will certainly look into it further down the line and improve the list. There's a cronjob checking the thread every 12 hours but I will eventually shut that down and it will become static after that. There are some really awesome blogs in there. I really recommend going through the list, it made my day. [0] "Could you share your personal blog…
Life & fun · 2023 · dm.hn


Anytype is built on the open-source AnySync protocol: a local-first protocol based on CRDTs. Users of Anytype can create spaces - graph-based databases with modular UI. Each space has unique access rights. Today, Anytype's beta is in single-player mode. Multiplayer mode, which will support local-first collaboration between multiple users, will be launched in the first half of 2024. Anytype fulfils the seven ideals of local first software from here - https://www.inkandswitch.com/local-first/ , our team felt these things are important to all of us: • No spinners: your work…
Commerce · 2023 · anytype.io
