Parallel-by-default game framework written in Zig
Go to file
kayomn 6ec24c765c
continuous-integration/drone/push Build is failing Details
Convert project into Zig package and add demos (#55)
2024-07-24 00:25:18 +01:00
.vscode Convert project into Zig package and add demos (#55) 2024-07-24 00:25:18 +01:00
demos Convert project into Zig package and add demos (#55) 2024-07-24 00:25:18 +01:00
ext Initial replacement of Sokol shdc with a runtime compilation system 2024-07-02 23:08:25 +01:00
src Convert project into Zig package and add demos (#55) 2024-07-24 00:25:18 +01:00
.drone.yml Merge build and test stages of new CI 2024-07-07 01:44:26 +02:00
.gitattributes Convert project into Zig package and add demos (#55) 2024-07-24 00:25:18 +01:00
.gitignore Convert project into Zig package and add demos (#55) 2024-07-24 00:25:18 +01:00
.gitmodules Initial replacement of Sokol shdc with a runtime compilation system 2024-07-02 23:08:25 +01:00
build.zig Convert project into Zig package and add demos (#55) 2024-07-24 00:25:18 +01:00
build.zig.zon Convert project into Zig package and add demos (#55) 2024-07-24 00:25:18 +01:00
readme.md Update dependencies in readme 2024-07-20 15:23:47 +01:00

readme.md

Ona

Table of Contents

  1. Overview
  2. Goals
  3. Technical Details
    1. Requirements
    2. Building

Overview

Ona is a straightforward game engine with the aim of staying reasonably lightweight through a modular architecture.

Ona is also the Catalan word for "wave".

Goals

  • Fully-featured two-dimensional raster and vector rendering capabilities.

  • Support major computer gaming ecosystems; Namely Microsoft Windows, SteamOS, Unix-like systems, and the web.

  • Minimize external dependencies.

  • Provide utilities for handling rendering but otherwise leave the higher-level game logic and data structuring to the programmer.

  • Enforce an architecture that makes non-interdependent logic trivially parallelizable.

Technical Details

Requirements

Ona currently depends the following third-party tools to build it:

  • Platform support for SDL2 at version 2.0.20 or above.
  • SPIR-V shader compilation system utilities, namely glslangValidator.
  • Zig compiler toolchain.

As the project evolves, dependencies on libraries external to the project codebase will be minimized or removed outright to meet the goals of the project as closely as possible.

Building

Once all third-party tools and system-wide dependencies are satisfied, navigate to the root project folder and run zig build to build everything.