mach
SDL.zig


mach | SDL.zig | |
---|---|---|
38 | 6 | |
3,707 | 383 | |
6.6% | 2.1% | |
9.7 | 8.2 | |
10 days ago | 6 months ago | |
Zig | C | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mach
-
Show HN: Lyceum – An MMO game built with Zig and Erlang
Did you happen to tinker with https://machengine.org/ it's a Zig game engine & graphics toolkit?
-
Leveraging Zig's Allocators
We're working on a game engine in Zig[0]
If you're looking for interesting Zig codebases to read, you might be interested in our low-level audio input/output library[1] or our module system[2] codebase - the latter includes an entity component system and uses Zig's comptime to a great degree to enable some interesting flexibility (dependency injection, global view of the world, etc.) while maintaining a great amount of type safety in an otherwise dynamic system.
[0] https://machengine.org/
[1] https://github.com/hexops/mach/tree/main/src/sysaudio
[2] https://github.com/hexops/mach/tree/main/src/module
-
Zig Software Foundation 2024 Financial Report and Fundraiser
Myself and many others are betting on Zig in major ways, I truly think it has a bright future ahead.
In spare time, myself and a few others are working on a game engine in Zig[0], and the Zig core team has been very receptive to addressing issues our project faces and supporting us.
Others are working on pixel art editors[1], open source 2D RPG games[2], there's a group of independent folks working on a 3D massive immersive sim game[3], a group working on making Zig an amazing language for micro-controllers[4], etc.
Please consider donating $5-10 a month to the ZSF! They are a great group of people, and it has so many knock-on effects for others in the FOSS community. :)
[0] https://machengine.org/
[1] https://github.com/foxnne/pixi
[2] https://github.com/foxnne/aftersun
[3] https://github.com/Srekel/tides-of-revival
[4] https://github.com/ZigEmbeddedGroup
-
DevDocs
I don't know if there's anything better than a zip. For our website[0] which includes a bunch of docs for our game engine, Zig packages, etc. we just offer a link "offline version of this site" in the footer which is an ~80MB zip file.
I think the challenge with zip files is.. do you want all the images? do you want all versions of the docs, or just a specific version of the docs? It's hard to tailor the zip to the user's desire. But zip still seems to be the best.
[0] https://machengine.org/
- Not only Unity...
- Mach - Zig game engine & graphics toolkit
- New Béziers from Math
-
0.11.0 Release Notes
A game engine https://machengine.org is being written in zig, there's also https://microzig.tech as zig is well suited to embedded development.
-
Significant examples of Zig software (June 2023)?
https://github.com/hexops/mach (shameless plug)
-
Learn WebGPU
Zig fits pretty naturally here too. We've got ~19 WebGPU examples[1] which use Dawn natively (no browser support yet), and we build it using Zig's build system so it 'just works' out of the box with zero fuss as long as you grab a recent Zig version[2]. No messing with cmake/ninja/depot_tools/etc.
WASM support in Zig, Rust, and C++ is also not equal. C++ prefers Emscripten which reimplements parts of popular libraries like SDL, for me personally that feels a bit weird as I don't want my compiler implementing my libraries / changing how they behave. Rust I believe generally avoids emscripten(?), but Zig for sure lets me target WASM natively and compile C/C++ code to it using the LLVM backend and soon the custom Zig compiler backend.
[1] https://github.com/hexops/mach-examples
[2] https://github.com/hexops/mach#supported-zig-version
SDL.zig
- SDL.zig: A shallow wrapper around SDL for Zig
-
Zig for gamedev?
SDL Bindings: https://github.com/MasterQ32/SDL.zig
- Is there a way to build Zig libraries to be used by Zig instead of as C libraries?
- Cross-platform build with 3rd-party libraries?
- Convert between 2 opaque pointers?
-
Resources on how to organize projects?
What you can do is stick to popular packages, e.g. these Zig bindings for SDL2 have decent instructions on how to install the system dependencies on popular OS's.
What are some alternatives?
quickjs-emscripten - Safely execute untrusted Javascript in your Javascript, and execute synchronous code that uses async functions
termux-sdl - termux sdl plugin
arocc - A modern fully featured C compiler.
zig-opengl - OpenGL binding generator based on the opengl registry
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
zig-wayland - Zig wayland scanner and libwayland bindings
glibc_version_header - Build portable Linux binaries without using an ancient distro
mecha - A parser combinator library for Zig
ComLightInterop - Cross-platform COM interop library for .NET Core 2.1 or newer
zig-bgfx-sdl2 - Minimal zig project to get bgfx running with sdl2
mach-glfw-vulkan-example - mach-glfw Vulkan example
zig-error-abi - Library that allows zig errors to be returned from external functions

