A WIP toy engine based on https://github.com/gheshu/pim.
Go to file
2023-05-04 09:01:59 +00:00
etc hello world! (window) 2022-06-29 23:04:08 -07:00
src defer 2022-07-27 03:10:22 -07:00
.gitignore gitignore update 2022-06-30 10:56:03 -07:00
.ignore so many compiler errors, oof 2022-07-11 01:17:47 -07:00
build.zig add uuid lib 2022-07-23 02:59:28 -07:00
gyro.lock add uuid lib 2022-07-23 02:59:28 -07:00
gyro.zzz add uuid lib 2022-07-23 02:59:28 -07:00
LICENSE add GPL-3 2022-07-18 19:55:13 -07:00
notes.txt add Queue, Table and RefTable containers! 2022-07-26 02:28:30 -07:00
README.md Small README fixes 2023-04-12 09:39:07 +00:00


Efemra is a WIP toy game engine. It is currently essentially an early, in-progress Zig rewrite of the pim engine, which is described by its creator Kara as "a little 'zen garden'".

Efemra is absolutely WIP and does not work at all! Feel free to watch as I stumble my way through Zig, Vulkan and graphics programming. I hope to have more to show for myself soon.

In the meantime, please check out pim, because that engine actually works and is super cool!


Currently I am only targeting Linux and testing on Gentoo. Probably will investigate Windows once things get further. You'll need:

  • Zig 0.10 (this is the prerelease version)
  • Vulkan: headers, layers, and loader (these will depend on your package manager).
  • glfw 3 headers
  • Possibly some other stuff that you likely already have? TODO: experiment with building on a popular distro to see what's needed.
  • Currently efemra isn't at the point of loading Quake levels, but that probably will eventually be a thing.


It might not build yet... but in theory:

  • Install gyro Zig package manager.
  • Execute gyro fetch to fetch dependencies.
  • Execute gyro build run to build and (someday) run!