Zig monthly, March 2022
io_uring, physics, chess, gamedev & scripting languages
io_uring is a new-ish Linux kernel feature which allows for much more efficient network/file IO. Zig has an
IO_Uring library that is a convenient interface to the Linux API.
AsyncIOUring comes in (and why this is so cool): it’s an even more convenient interface to this API, adding an async event loop that handles submission and completion via the kernel APIs. It leverages Zig’s async functionality to suspend execution, letting you write serial/blocking code naturally while behind the scenes it actually leverages IO concurrency (even within a single thread!)
phyz 2D physics
regz: ATDF file parsing for microcontrollers
ZBA (Gameboy advance emulator) updates
Rekai is continuing to work on ZBA, a gameboy advance emulator, recently implementing normal sprites and squashing enough bugs that some titles like Kirby: Nightmare in Dream Land are playable!
Avalanche - UCI Chess Engine using Neural Networks
(Probably the first) UCI Chess Engine written in Zig :D It uses Neural Networks too.
It is written 99% in Zig, utilizing a lot of Zig’s awesome features such as packed structs.
It plays at around 2300 ELO (a.k.a. can beat most human professional players) now :) You can view its games against other engines here https://lichess.org/@/IceBurnEngine/all
@MichalZiulek is back with many more updates to zig-gamedev!
zbulletv0.1, bindings for the Bullet Physics SDK complete with 6 intro applications!
znoise- bindings for FastNoiseLite
zmesh- bindings for
par_shapes.hcomplete with a demo
zmathv0.3 - SIMD math library for game developers, now with Fast Fourier Transforms, color management functions, and better docs
Mini Pixel v0.2
Marble - an experimental metamorphic testing library
@cryptocode released Marble, a metamorphic testing library:
Metamorphic testing is a powerful technique that provides additional test coverage by applying a number of transformations to test input, and then checking if certain relations still hold between the outputs. Marble will automatically run through all possible combinations of these transformations.
Mach engine v0.1 - cross platform Zig graphics in 60 seconds
I released Mach engine v0.1 after some ~9 months of work and 1,100+ commits, giving you cross-platform graphics in 60s:
git clone https://github.com/hexops/mach cd mach/ zig build run-example
Buzz - small/lightweight typed scripting language
- Small in size and complexity (just a bit more than Lua though)
- Strict typing
- No nonsense coercion