Game Development and Graphics

raylib-zig / raylib via build.zig.zon (raylib's own repo supports building with Zig):

Mach (game engine and graphics toolkit), zig-gamedev (zglfw, zgpu (WebGPU), zmath (SIMD math), zphysics (Jolt), zaudio, zgui (Dear ImGui), zflecs (ECS)), sokol-zig, SDL3 bindings, zig-vulkan (vulkan-zig binding generator), OpenGL loaders (zigglgen).

Shaders: compile GLSL/HLSL via build steps, or write SPIR-V-targeted Zig (experimental spirv64 target).

Data-oriented design (Module 47) fits game engines naturally.

const rl = @import("raylib");
pub fn main() !void {
    rl.initWindow(800, 450, "Zig + raylib");
    defer rl.closeWindow();
    rl.setTargetFPS(60);
    while (!rl.windowShouldClose()) {
        rl.beginDrawing();
        defer rl.endDrawing();
        rl.clearBackground(.ray_white);
        rl.drawText("Hello from Zig!", 190, 200, 20, .dark_gray);
    }
}