Parallel-by-default game framework written in Zig
Go to file
kayomn 306e085d1b
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
Add leak detection to Ona heap allocator
2023-06-04 01:16:52 +00:00
.vscode Update readme 2023-05-28 12:52:16 +00:00
debug Simplify debug test case 2023-05-23 23:22:29 +00:00
source Add leak detection to Ona heap allocator 2023-06-04 01:16:52 +00:00
.drone.yml Update Drone CI to use latest Zig testing framework API 2023-05-28 03:29:04 +02:00
.gitignore General fixes 2023-05-06 01:47:52 +00:00
build.zig Fix CI test stage 2023-05-28 01:26:41 +00:00
readme.md Update table of contents in readme 2023-05-28 12:53:08 +00: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.

  • Balance accessibility, maintainability, and execution speed.

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

  • Provide a simple scripting interface for people who want to do something quick and a powerful plug-in API for engine-level extensions and speed-critical application logic.

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.
  • 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.