2023-02-18 04:34:40 +01:00
# Ona
## Table of Contents
1. [Overview ](#overview )
1. [Goals ](#goals )
1. [Technical Details ](#technical-details )
1. [Requirements ](#requirements )
1. [Building ](#building )
## Overview
2023-02-20 14:41:33 +01:00
Ona is a straightforward game engine with the aim of staying reasonably lightweight through a modular architecture.
2023-02-18 04:34:40 +01:00
Ona is also the Catalan word for "wave".
## Goals
2023-04-19 01:34:06 +02:00
* Fully-featured two-dimensional raster and vector rendering capabilities.
2023-02-18 04:34:40 +01:00
2023-05-28 14:52:16 +02:00
* Support major computer gaming ecosystems; Namely Microsoft Windows, SteamOS, Unix-like systems, and the web.
2023-02-18 04:34:40 +01:00
2023-04-19 01:34:06 +02:00
* Minimize external dependencies.
2023-02-18 04:34:40 +01:00
2023-05-28 14:52:16 +02:00
* Balance accessibility, maintainability, and execution speed.
2023-02-18 04:34:40 +01:00
2023-05-28 14:52:16 +02:00
* Provide utilities for handling rendering but otherwise leave the higher-level game logic and data structuring to the programmer.
2023-02-18 04:34:40 +01:00
## Technical Details
### Requirements
Ona currently depends the following third-party tools to build it:
2023-05-28 14:52:16 +02:00
* Platform support for SDL2 at version 2.0.20 or above.
2023-04-19 01:34:06 +02:00
* Zig compiler toolchain.
2023-02-18 04:34:40 +01:00
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
2023-05-28 14:52:16 +02:00
Once all third-party tools and system-wide dependencies are satisfied, navigate to the root project folder and run `zig build` to build everything.