Uploaded September 2022 | Updated September 2026, 1 week ago
I was curious how the performance of Golang is impacted by using libraries through CGO. Specifically I wanted to see how the performance drops when I use OpenGL in Golang instead of C++. So I wrote a benchmark similar to bunnymark in Go and C++ to compare average frame times.
Full Video: youtu.be/ZuVyxnpMZO4
Don't mind me. Just testing out YouTube shorts.
#shorts
I was curious how the performance of Golang is impacted by using libraries through CGO. Specifically I wanted to see how the performance drops when I use OpenGL in Golang instead of C++. So I wrote a benchmark similar to bunnymark in Go and C++ to compare average frame times.
Full Video: youtu.be/ZuVyxnpMZO4
Don't mind me. Just testing out YouTube shorts.
#shorts


![[Making an MMO] Episode 5 - Tilemaps and render batching
⁍ Wishlist: https://store.steampowered.com/app/3475620/Mythfall/
Todays episode is about generating, storing, and drawing tilemap data. After adding our tilemap, we lose some performance, so we explore a technique called render batching to regain our lost performance.
This tutorial series is about creating an MMO from (almost) scratch. We will be coding in Golang and we will use libraries where possible/appropriate. I will stay at a fairly high level for most things, but let me know if you want a more intensive study on any individual topic and Ill try to make an episode where possible.
Thanks for watching!
// Repository: https://github.com/unitoftime/mmo
// Play: https://mythfall.com [Making an MMO] Episode 5 - Tilemaps and render batching](https://i.ytimg.com/vi/Oty3dwF-Xpw/mqdefault.jpg)


![Sharing systems between client and server [Making an MMO - E11]
⁍ Wishlist: https://store.steampowered.com/app/3475620/Mythfall/
Today we reorganize some more! The last reorganization (for now) is to add all of our client specific logic into shared packages so that both the client and server can share code when building their physics simulation. That said, input handling and rendering will still remain client specific. Finally, we built a common struct which will represent our system. This way we can dynamically build arrays of systems and execute them as needed in our game loop.
⁍ Series: https://bit.ly/MakingAnMMOPlaylist
⁍ VOD: https://youtu.be/ Rt3IEZYL4
This tutorial series is about creating an MMO from (almost) scratch. We will be coding in Golang and we will use libraries where appropriate. I will stay at a fairly high level for most things, but let me know if you want a more intensive study on any individual topic and Ill try to make an episode where possible.
Thanks for watching! Happy to answer any questions!
// Repository: https://github.com/unitoftime/mmo
// Play: https://mythfall.com Sharing systems between client and server [Making an MMO - E11]](https://i.ytimg.com/vi/Pqk1ocuNiYI/mqdefault.jpg)




![[Making an MMO] Episode 2 - Spritesheets, Spritesheets, and JSON decoding
⁍ Wishlist: https://store.steampowered.com/app/3475620/Mythfall/
Hi all, and welcome to episode 2 - Today we are going to introduce the concept of a spritesheet (also known as a texture atlas), which is a way to combine multiple sprites into a single image. This provides benefits in organization and render batching (which we will deal with later). We will also create an engine package which will hold generalized game engine-type packages.
One thing I forgot to mention - For this line:
//go:generate packer input images stats
the //go:generate directive can be used to do work before your build (In this case, go run .). This is typical for things like code generation (or in our case, spritepacking). In the terminal, running go generate executes all of the //go:generate directives located in your source files.
Credit to asciiquarium for the introduction ASCII aquarium.
// Repository: https://github.com/unitoftime/mmo
// Play: https://mythfall.com [Making an MMO] Episode 2 - Spritesheets, Spritesheets, and JSON decoding](https://i.ytimg.com/vi/QSj26yo3Phs/mqdefault.jpg)