Linkblog/2025/02/25
Odin `using`, WebGPU Text, Skin Deep Demo on Linux, Build browser engine, Atlas for Odin games, Solar Storm Rendeirng, Firefox TOS.
“using” in Odin lang simplifies my entity system
Karl discusses Odin’s using
feature in the context of structs.
Entity :: struct {
...
}
PlayerCat :: struct {
...
}
EntityInst :: struct($T: typeid) {
using entity: ^Entity,
using var: ^T,
}
update_player_cat :: proc(p: EntityInst(PlayerCat)) {
...
}
The gist of it is the above code, is that instead of update_player_cat being handed a Entity
, which it would have to do some finagling with to ensure its a PlayerCat
that has the same properties as Entity
, it can instead expect to be passed a EntityInst
, something that is ensured to have all of the properties of both Entity
, and PlayerCat
, without even needing to do p.entity
, or p.player_cat
, _all the attributes on that struct will be accessible as your are programming simply from p
.
Very cool.
Tomasz Czajęcki - Drawing Text in WebGPU Using Just the Font File
More text drawing from Tomasz, this time using WebGPU.
Done the proper way based on the work Valve did in 2007.
DanielGibson/SkinDeep - Unofficial Linux port of the SkinDeep Demo source code
Since Skin Deep is based on dhewm3, which itself is based on the original Doom 3 Source code, which is GPL licensed, the changes the game has made to the engine have been released in the demo for it (which I have played and is very fun).
I cloned the repo and did a dive into it to see if there was anything fun…
And then I ran into neo/d3xp/bc_banana.h
, which contains the amazing field, hasBecomePeel

Thank god for //don't make it turn into a banana peel right on spawn
.
Matt Brubeck - Let’s build a browser engine!
Multi-part tutorial on building your own HTML rendering engine.
I’ll be a Ladybird competitor in no time!
karl-zylinski/the-legend-of-tuna
Karl’s game jam game made during 48 hours, of which you can see him making it live here.
Using his Odin + Raylib hot reloading template
Good project, and honestly, fun game!
karl-zylinski/atlas-builder - Atlas builder for Odin games with aseprite file format support
This is a program that can generate a texture based on a bunch of other textures. This bigger texture is called an atlas. Using an atlas can make your game’s rendering code faster since the number of draw calls can be reduced.
Need to get texture atlases into my Odin game, this will probably be the play.
Another Karl banger.

Jakub breaks down the rendering stages for his Odin Sokol game.
@mttaggart@infosec.exchange - Firefox now has Terms of Use! This’ll go over like a lead balloon.
You give Mozilla all rights necessary to operate Firefox, including processing data as we describe in the Firefox Privacy Notice, as well as acting on your behalf to help you navigate the internet. When you upload or input information through Firefox, you hereby grant us a nonexclusive, royalty-free, worldwide license to use that information to help you navigate, experience, and interact with online content as you indicate with your use of Firefox.
…
Nice.