Zig monthly, October 2021

Games, gamedev, Elixir, tools & more

Wow! So much has happened over the last month in Zig that it’s been downright overwhelming, let’s dive right in!

Digital Scavenger (game)

Felix “xq” Queißner - you may recall his Android support in the last zigmonthly. He’s back, and this time sharing an early gameplay video of his Digital Scavenger game prototype:

As he writes on Twitter:

Full feature showcase of my current gamedev project. Most of the stuff started to come into reality in the last week and everything is still just a prototype.

It’s built with Zig, OpenGL ES 2.0 and a lot of love, also uses Box2D.

I highly encourage checking out his other work.

Cross-platform Elixir applications using Zig

Quinn Wilton shared Burrito, a project by @doawoo which uses Zig to enable building cross-platform Elixir applications

I’m thrilled to open source work we’ve done to support building cross-platform Elixir applications!

We’re using this code in production to distribute command-line applications to on-premise customer environments, without an installed Erlang runtime.

It is accompanied by an excellent talk at ElixirConf 2021 which you can watch here.

EDIT: Updated to clarify the project is by @doawoo (Quinn: “I just want to make sure to credit @doawoo for Burrito. I was involved, but it’s really their project.")

zig-gamedev project

@michal-z, independent graphics programmer & ex-AMD/Frostbite/EA DICE/Intel engineer shares the zig-gamedev project:

He recently left a highly paid position at AMD to work on his own indie game written in Zig. As a first step to build a full game he has created an open-source project called zig-gamedev. This project contains growing collection of sample applications, libraries and other tools for game developers using Zig. The goal of the project is to build necessary technology, share knowledge, help others and promote the language. He works on it full-time, so please consider supporting Michal on GitHub.

I build game development stuff in Zig full-time. If you like my work and my mission to promote the language, please consider supporting me. I will create more sample applications, libraries and complete mini-games. I have game development knowledge and experience and I want to share it with others by writing open-source software in Zig.

Fuzz testing

Ryan Liptak shared an excellent article on improving fuzz testing using the AFL fuzzer with Zig allocators.

Zig snapshots debugger

@kubkon, the Zig core team member working on the Zig linker, announced zig-snapshots - an interactive debugging tool allowing you to preview snapshots of Zig’s incremental linker progression between subsequent incremental updates:

Zig self-hosted compiler progress

Andrew Kelley is sharing regular progress updates on the Zig self-hosted compiler, which is a major milestone for Zig:

Zig self-hosted compiler progress report:

  • 140,331 lines of code
  • Behavior Test Suite:
    • LLVM backend: 365/1057 (35%) passing
    • C backend: 42/1057 (4%) passing
    • arm and x86 backends: work in progress towards the first passing test case

Zig self-hosted https://twitter.com/andy_kelley/status/1448869273431011330

GLFW bindings

This one from yours truly. I’ve announced mach-glfw: Ziggified GLFW bindings with 100% API coverage, zero-fuss installation, cross compilation, and more as well as a Vulkan example to go along with it. This one small step towards my vision for Mach engine.

Learn more: Perfecting GLFW for Zig, and finding lurking undefined behavior that went unnoticed for 6+ years

Using Zig and translate-c to understand weird C code

Over on zig.news, Sobeston has published a very interesting article walking through how they use Zig’s translate-c functionality (which converts C code to Zig code) to understand what a strange C code snippet is doing. Very much worth the read.

Andrew Kelley on the Sourcegraph podcast

Recently I got the opportunity to join Andrew Kelley on the Sourcegraph podcast through my dayjob (I work at Sourcegraph), it’s a high-level chat around why Andrew built Zig, the challenges in doing so, how programmers can get funding for their side projects and hobbies, the differences between Zig and C, and why and how Zig can be faster than both C and Rust. Check it out on YouTube below or read it here.

Sat November 6th: Zig SHOWTIME!

We’re just a few days away from the next Zig SHOWTIME episode. Join live by going to https://zig.show for more info, or subscribe to the Zig SHOWTIME calendar (iCal) to have all episodes automatically added to your calendar.

Nov 11-12th: Handmade Seattle conference!

Whether you join remotely or in-person, Handmade Seattle, the Independent Systems Programming Conference is here!

Several members of the Zig community are joining both online, and in person (myself included). The conference will also feature talks by Andrew Kelley,

Andrew Kelley and others in the Zig community will also be giving talks and demos, so you won’t want to miss it!


Zigmonthly recently surpassed 300+ subscribers and 7k+ viewers, and this is just the third article! Thanks so much for reading and being a part of this!

If you like my work, you can sponsor me on GitHub

Subscribe

Enter your email to get one Zig newsletter per month (or use this RSS feed):