Odin release highlights #
Odin has gained an experimental inline asm template system, supporting amd64, arm64, and riscv64.
``` and
"""strings to declare multi-line string literals that normalize indentation up to the closing quotation marks.
For the rest of the many compiler changes, read the monthly release notes.
macOS AMD64 deprecation #
As announced by them earlier, homebrew is deprecating support for macOS on AMD64 as of this month, following Apple dropping support for it in macOS 27, and Github dropping it from their CI runners from 2027 as well.
Consequently, while we will keep -target:darwin_amd64 in the compiler, we will reluctantly no include it in our CI tests, nor upcoming nightly and monthly binary builds.
Between macOS ARM64 and AMD64 platforms like Windows and Linux, darwin_amd64 should still have decent coverage of the direct OS and architecture related surface, but we’ll likely not proactively catch problems on this platform going forward, and will rely on people still using this platform to report bugs to us.
Interview with stone codes, the author of Fish Lab (as featured in the last newsletter) #
An interview with stone codes, the author of the Fish Lab game.
Q: Can you tell us how you discovered Odin, and what initially appealed to you about it?
I honestly do not remember. Years ago I messed with around with Zig, Jai and Odin, so I’ve just know about it for a while. I’m always on the lookout for new languages or ways to code.
===
Q: Was Fish Lab your first big project in Odin, or what else have you made? (And in which language?)
Yup Fish Lab is the first entire project I’ve made in Odin. I’ve worked as a programmer for over 20 years, last 10 years mostly on web games professionally like krunker.io.
===
Q: Thanks for letting me playtest Fish Lab. What inspired you to make this game?
A: I got laid off and had a prototype of some cool gpu physics code laying around. I already had code where you can zoom in and out and collect alot of stuff, and I’ve never seen a incremental work where you visually show collecting more and more things. It’s always just stats, or red box is worth 2x the blue box, etc.
===
Q: It’ll launch soon, and I hope it does well. Is there a new project you’re willing to lift the veil on publicly?
A: Yea I’m working on a game called too many machines, The Steam page hopefully will be out when you read this. The premise is you are defending against 100k spider bots.
===
Q: What’s your favorite thing about Odin, and what do you think could use some love? This could be the language semantics, the packages that come with it, the community, anything.
A: I never really think about Odin, I’m just writing code. That’s the best thing. The Go style no-imports comes to mind as an example, shared global state within one folder.
===
Q: Any closing remarks about your projects and/or Odin?
A: Fish Lab out September 14th!
Interview with Rockwell Studios, the author of Daisy Trains (as featured in the last newsletter) #
An interview with Rockers Games, the author of the Daisy Trains game.
Q: Can you tell us how you discovered Odin, and what initially appealed to you about it?
A: I was learning game development with Unity for a couple of years and was trying to absorb as much information as possible about gamedev, coding and general CS. After a while I ended up seeing videos from Jon Blow, Casey Muratori and The Cherno - which seemed on a completely different level to what I had been learning.
The introduction to C(CPP) prologue for Handmade Hero was really interesting - but I thought there’s no way I’m ever going to need to write anything at that level. Still, I was fascinated by this huge void between writing something from scratch and then an engine like Unity or Unreal.
So as an excersise I tried to write some basic c++ like pong, or breakout - but it seemed very archaic and difficult to get into! Then I stumbled upon Jakub Tomšů talking about Odin and sokol - then Karl Zylinski’s videos on Odin and raylib. And the way they described Odin sounded like a more approachable way to get into lower level programming. I think raylib also really helped make things more accessible - you’re not at the level of a game engine, but you’re also not in an empty project wondering how to make something happen.
===
Q: You mentioned on a recent livestream that you worked in the effects industry. Can you tell us a bit about your background in general, and how you came to learn programming?
A: I don’t really have any programming or cs background, but I was lucky enough to grow up through the late 80s and 90s with a computer in the house so have always been into games and computing in general.
When I got older I ran a little one-man indie recording studio as a sound engineer while working on music projects. I would also make music videos for people and ended up getting really interested in visual effects. Eventually the studio began focusing on video work almost exclusively and I became heavily involved in editing, sound mix and visual effects.
The idea of making games seemed like a dream but I struggled over many years to grasp the basics of programming (or scripting). I had gotten into deeper VFX work using Houdini and Blender and compositing - but always thought coding was something I didn’t have the capacity for.
Then when COVID hit I spent the extra time we had to lock in and make something happen. Finally I ended up getting some traction with gamemaker language and then moved to Unity with c#.
===
Q: I watched your dev log series and noticed you originally developed Daisy Trains in C++. What made you decide to switch?
A: I actually started with Odin on this low level game journey, but I was so new to it that I didn’t understand what made it a great alternative to c or c++. So I started to learn c++ (to really understand the pain!). And used raylib to make a couple of projects, eventually entering Ray’s raylib game jam in 2024. We made Daisy Trains 2d in 7 days and took second place.
I decided to attempt to make Daisy Trains in 3d as a proper release, starting with C and raylib, eventually removing raylib and converting to c++ and OpenGL - mainly so I could more easily use dearimgui, some json libs and really just for operator overloading. Doing array math in C was kind of a bummer.
Things went ok for a while, but eventually the c++ pain was starting to become clear. I hadn’t bothered to learn any build systems so I was kind of locked into visual studio and managing the project (header files, dependencies) was sometimes harder than writing the code. For me it wasn’t an ergonomic experience when I was already way over my head trying to make a 3d game and engine.
I was ready to give up on the project and maybe try something easier or use Godot. But before I quit I spent a couple of days experimenting with Odin, writing some windowing stuff, core clock, imgui etc.. And realized that the experience was MUCH better - also it helped that I had already written everything once, Odin was giving me the opportunity to do it again, but better. And now I had a bit more experience with programming games and rendering etc.
Also a sad-but-true note - around the end of 2025 the llms started to understand Odin code and become more helpful tutors. (Not to mention the Odin book by Karl Zylinski) As a rule I don’t use agents for programming but treat llms as more of an encyclopedia - the goal still remains to write, read and understand everything that is happening in the codebase.
===
Q: Daisy Trains looks like it’s coming together nicely. Any ideas yet on what’s next?
A: The engine for the project is pretty basic and is mainly tailored to Daisy Trains, but we have made some other small things with the it. If things go well with Daisy Trains it would be cool to extend the engine and continue to make games this way.
I did a lot of things backwards and didn’t make a 2d renderer until recently, but now I’m going through a rectangle and ui phase - perhaps something 2d might be nice for a change (3d is hard!).
===
Q: What’s your favorite thing about Odin, and what do you think could use some love? This could be the language semantics, the packages that come with it, the community, anything.
A: My favourite thing about Odin is that it seems to be designed to help me do what I’m trying to do. Actual everyday things get easier but I don’t forfeit control.
I love that the core packages are useful and readable - I can actually learn from them. Odin seems to have everything I need for the job at hand.
As someone who is still relatively new to systems programming, I guess more example code is always helpful for certain more complex features.
===
Q: Any closing remarks about your projects and/or Odin?
A: Just a big thanks to the Odin team and community, it’s a language I really enjoy and feel like it’s helping me every day to keep pushing the project forward and enjoy the process.
Also we are working toward a first round of playtesting for Daisy Trains so please drop by the Discord if you’re interested in trying out the first playable version of the game!