Building 2D Games with Ebitengine in Go (Golang) (Udemy.com)
Create games in Go for the desktop (Windows, macOS, Linux, and FreeBSD), web browsers, mobile devices, and even Steam.
Created by: Trevor Sawler
Last updated February 2025
What you will learn
- Learn how to build a simple 2D Game in Go
- Learn how to animate sprites in your game
- Implement a collision engine in your game
- Add audio effects to your game
- Learn how to deploy your game as an application, or as a web page using WASM
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 96 / 100
Course Description
In this hands-on course, you will learn how to create a classic 2D space shooter game, Asteroids, using the powerful and lightweight Ebitengine library in Go. Whether you’re a beginner to game development or looking to expand your skills in a new language and framework, this course will guide you through the entire process of building your own version of this iconic arcade game.
Ebitengine's easy to learn and use API allows you to develop 2D games quickly and easily. Games can be deployed across multiple platforms, including Windows, Mac, Linux, FreeBSD, the Web, iOS and Android. You can even deploy your game to Steam!
Go is fast, and so is Ebitengine. While Ebitengine's drawing API is very simple, games developed in it run very quickly with GPU power.
In this course, we'll learn how to:
Introduction to Ebitengine: Get familiar with the basics of how to set up Go and use Ebitengine for 2D game development.
Game Design Fundamentals: Understand core game mechanics like player movement, object collisions, game states, and rendering.
Creating the Game World: Learn how to design the asteroid field, ship controls, and space physics—like rotation, thrust, and inertia.
Rendering and Animation: Master how to draw and animate your ship, asteroids, bullets, and explosions using Ebitengine’s powerful drawing functions.
Game Logic: Implement the game loop, scoring system, levels, and spawn mechanics for asteroids. Learn how to create enemies and manage the player’s health.
Sound and Music: Add sound effects for shooting, explosions, and background music to enhance the player's experience.
Building a Playable Game: Integrate everything to create a fully functional, interactive game that runs in the browser or on desktop platforms.
By the end of this course, you will have developed your own playable Asteroids clone, gaining the knowledge and confidence to create more complex 2D games in Go. Whether you want to add new features or make your own game from scratch, this course will equip you with the foundational skills needed for game development in Go using Ebitengine.
Prerequisites:
A basic knowledge of the Go programming language.
Tools Used:
Go
Ebitengine (a 2D game engine for Go)
Visual Studio Code (or your favourite IDE)
Take your first step into the world of game development with Go!
Instructor Details
- 4.8 Rating
47 Reviews
Trevor Sawler
I have twenty years of experience in professional software development, and twenty years of experience as a University professor.
As an entrepreneur, I have worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. I also have extensive management and project management experience. I have led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects.
As a professor, I have taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technological fields.
I have won regional, national, and international awards for my work in the IT field, and have also won awards for my teaching and research as a University professor.
More courses by Trevor Sawler
Building Modern Web Applications with Go (Golang) (2022)
4.6 (5,848 Reviews)
Provider: Udemy
Time: 29.6h
$84.99
Working with Microservices in Go (Golang) (2024)
4.6 (3,186 Reviews)
Provider: Udemy
Time: 11.6h
$89.99
Working with Concurrency in Go (Golang) (2024)
4.7 (1,862 Reviews)
Provider: Udemy
Time: 9.7h
$79.99
Building Web Applications with Go - Intermediate Level (2025)
4.8 (597 Reviews)
Provider: Udemy
Time: 18.7h
$84.99
More Game Development Fundamentals courses
Master Lua Programming and Create Amazing Games with LÖVE! (2023)
4.9 (3,197 Reviews)
Provider: Udemy
Time: 8.5h
$94.99
The Ultimate 2D Top Down Unreal Engine Course (2026)
4.9 (1,468 Reviews)
Provider: Udemy
Time: 17.1h
$94.99
Learn to Make a 3D Platformer Game with Unity & C# (2024)
4.9 (26 Reviews)
Provider: Udemy
Time: 5.9h
$69.99
Elevate Your Tennis Game: Learn from Champion Andre Agassi (2017)
4.8 (6,234 Reviews)
Provider: Udemy
Time: 1.1h
$84.99
Jumpstart to 2D Game Development: Godot 4 for Beginners (2026)
4.8 (4,398 Reviews)
Provider: Udemy
Time: 67.6h
$89.99
Finish It! Motivation & Processes For Video Game Development (2024)
4.8 (1,309 Reviews)
Provider: Udemy
Time: 7.7h
$109.99
Reviews
By Smilegate Vietnam Co., Ltd. - Tax code: on 5/8/2026
I didn't think that I could easily develop a 2D game until I learned this course. Thank you very much for this great course!
By Adam Stern on 8/18/2025
I think a course like this really lets Trevor's teaching style shine. Overall I think he's very knowledgable on the subjects taught in this course and considering the lack of information online on ebiten this makes this course a good deal. However, he did do a small amount of mistakes in the lectures which he fixes in later lectures but I think updating the lectures instead would be a better idea. I also think he should have added more tasks for us to do on our own. Me and other learners encountered some bugs with the final version of the game. I personally took it as a challenge to fix and improve the game to prove I truly learned from the course and cover for the lack of assignments in the course, but I'm sure many wouldn't be as optimistic about it as I am. I can easily see this course getting a perfect rating if the issues mentioned above will be addressed and I would love to see other courses from Trevor taught with the same style of one long project we work on throughout the entire course. If Trevor does see this review my biggest request is that you give us the students more assignments throughout your courses.
By Yakimchuk Aleksei on 8/9/2025
I am grateful for this course; inspired by it, I wrote a clone of the 1984 game *Lode Runner*
By Norman Skinner on 7/27/2025
I find Trevor's approach to teaching to work very well. He takes time to explain the code so you are not mindlessly typing. Several times his words would inspire me to even go deeper in learning new concepts. I even bought a copy of this course for my son who is now coding his own video games.
By Marcos Issler on 7/25/2025
Super funny to learn that ebiten.
By Clover Unicorn on 5/1/2025
I've really enjoyed the simplicity of the Go language. Ebitengine seems like a versatile tool. The instructor is both easy to understand and the explanations are easy to follow also.
By Matthias Grandis on 4/8/2025
This is a fantastic no-fluff course that goes straight to the point without wasting any of the students' time. I learned so much in such a relatively short time, and it was great fun following along. I have one some minor niggles: code is often covered by VS Code's code hints or the teacher's cursor. It's not bad, but it is sometimes a little distracting. But that's surely the worst I can say about this course. Highly recommended, and a fantastic proof that, yes, Go is a viable language for (some types of) games.
By James McBean on 3/28/2025
Really enjoyed this course! Haven't done much game programming so this was a good introduction. I hope Trevor does more courses like this.
By Doug Folland on 2/26/2025
Yes this has been good. I don't make games, but enjoy golang and enjoying seeing how games work!
By Gregorio Martinez on 2/26/2025
Just finished this course. Trevor is definitely the best Golang instructor I have encountered on this platform. Even if you are not a game developer this course hammers home Golang fundamentals, and the feedback of the code you are writing and watching the game come to life is very satisfying.












