Skip to content
@StoryTreeGames

StoryTree

A fully open source game engine written in Zig. The idea is to create libraries in pure Zig that can create windows, render with "native" APIs, access system resources, etc...

Goals

  • Cross Platform: Windows, Linux, Macos, Web, Android, IOS
  • Use zig libraries that already exist that fit all following goals
  • Minimal C dependencies
  • Well maintained
  • Uses Zig's potential

The minimal C dependencies goal is to push the game engine away from the current popular C paradigms. Zig is compatible with C, but it can do so much better. If most of the engine and libraries where wrappers around C libraries why not just write the engine in the latest versions of C++? The engine may use some light wrappers around libraries like Dawn to get WebGPU functionality working, using zgpu. However, if a pure Zig implementation exists and the only C dependencies are with the Vulkan, DirectX, and Metal APIs then that will be used instead. If no project or library exists that fit the minimal C requirement then a new project/library will be created to fit this.

Minimal C Exceptions:

  • Operating System APIs
  • Implmentation APIs that are in C and are too complex to convert to Zig

Note

  • This project is currently just a bunch of brainstorming and is only maintained by a single developer.
  • The core developer is not an expert in Zig and is using this project as a learning tool
  • Contributions and ideas are more than welcome. See the discussions section for what is needed, areas that need work, and how to contribute.

Libraries

  • Windowing: All functionality around cross platform windows, window events, and anything related to windows/apps
  • Audio: A cross platform library for playing and manipulating audio
  • Font: A cross platform api for reading font data
  • ECS: Entity component system
  • Render: Rendering api using WebGPU standards that can be used accross Windows, Macos, Linux, Web, Android, and IOS
  • Engine: Combination of all libraries to make a simple and easy to use API to load and manage resources, render entities, and handle events
  • more ...

Inspiration

Pinned Loading

  1. zinit zinit Public

    Cross platform window creation and management library made in pure zig

    Zig 7

  2. notify notify Public

    Pure zig cross platform system notification library

    Zig

  3. dialog dialog Public

    Pure zig cross platform dialog windows

    Zig

Repositories

Showing 10 of 10 repositories

Top languages

Loading…

Most used topics

Loading…