Contents

adaengine/ada

What is Ada?

What is Ada?

AdaEngine is a game engine written in Swift for building 2D and 3D games and user interfaces. It combines a data-oriented ECS, rendering, physics, animation, and AdaUI. Build games in Swift, or use AdaScript with Ada Studio.

Games made with AdaEngine

Skeletal Garden

Skeletal Garden is a playable 3D demo with animated characters, textured props, lighting, shadows, and a landscape to explore.

<p align="center"> <a href="https://github.com/AdaEngine/AdaExamples/tree/main/Samples/SkeletalGarden"> <img src="Assets/Screenshots/garden.png" width="800" alt="Garden: animated yellow robots in a courtyard with trees, textured props, and shadows"> </a> </p>

<details> <summary>Explore the whole garden</summary> <p align="center"> <img src="Assets/Screenshots/garden-overview.png" width="800" alt="Garden overview: wooded hills, paths, and a central courtyard"> </p> </details>

2D Demo

Medieval Arena is a pixel-art arena game with tile maps, movement, sword combat, and multiplayer gameplay written in AdaScript.

<p align="center"> <a href="https://github.com/AdaEngine/AdaExamples/tree/main/Samples/MedievalArena"> <img src="Assets/Screenshots/2d-demo.png" width="800" alt="2D Demo β€” Medieval Arena: a knight with three hearts inside a pixel-art arena"> </a> </p>

Ada Studio

Ada Studio is the companion editor for AdaEngine. Create projects, edit code and scenes, and run your games from a desktop or mobile workspace.

<table> <tr> <th>Ada Studio Desktop</th> <th>Ada Studio Mobile</th> </tr> <tr> <td align="center" width="75%"> <a href="Assets/Screenshots/studio-desktop.png"> <img src="Assets/Screenshots/studio-desktop.png" width="660" alt="Ada Studio Desktop in a MacBook frame, showing a live scene workspace, entity hierarchy, and component inspector"> </a> </td> <td align="center" width="25%"> <a href="Assets/Screenshots/studio-mobile.png"> <img src="Assets/Screenshots/studio-mobile.png" width="220" alt="Ada Studio Mobile in an iPhone frame, showing the current project library and a preview captured from Medieval Arena Play"> </a> </td> </tr> </table>

Design Goals

  • Capable: Offer a complete 2D feature set.
  • ECS: Ada is based on the data-oriented paradigm using a self-written ECS. Ada has been inspired by Apple's RealityKit framework.
  • Simple: Ada is easy to use, and our main goal is to enable a quick start and deliver quick results.

πŸ“• Docs

⭐️ Examples

Getting started

We recommend checking out the Create your first project guide for a brief introduction.

To draw a plain window with standard functionality use:

import AdaEngine

@main
struct AdaEditorApp: App {
    var body: some AppScene {
        DefaultAppWindow()
            .windowMode(.windowed)
            .windowTitle("Ada")
    }
}

πŸ‘₯ Community

If you want to discuss this library or have a question about how to use it to solve a particular problem, there are a number of places you can discuss with fellow

* For long-form discussions, we recommend the discussions tab of this repo.

πŸ‘¨β€πŸ’» Contributing to Ada

You are welcome to contribute to Ada. Currently, it is under development, and we are working towards our roadmap goals. If you find a bug or have some improvements, we would be glad to see your pull request! See CONTRIBUTING.md for details.

πŸ› οΈ How to build

See the Building guide for development and integration steps.

Quick start: open Package.swift in Xcode 26.3 or build from the command line with swift build.

Package Metadata

Repository: adaengine/ada

Default branch: main

README: README.md