Giter VIP home page Giter VIP logo

AdaEngine

AdaEngine is a game engine fully written in Swift. The main idea is to encourage Swift developers to use this game engine to create fast and impressive games and user interfaces using Swift as their main language. We hope that AdaEngine can become as popular in the GameDev community as Rust and C# are.

Screenshot from test game SpaceInvaders

Features

  1. AdaEngine is based on the data-oriented paradigm using a self-written ECS. The AdaEngine ECS has been inspired by Apple's RealityKit framework. ECS provides a fast way to work with the game world because it is more friendly to CPU caches.
  2. AdaEngine is easy to use, and our main goal is to enable a quick start and deliver quick results.

Roadmap for AdaEngine v0.1.0

In the first release, we have the following milestones:

  1. Full 2D support with basic models and materials
  2. Support for iOS, macOS, and tvOS devices
  3. Metal render backend (for now)
  4. 2D Physics using Box2D
  5. Standard support for inputs from the keyboard/mouse and touch
  6. Event System
  7. Audio System
  8. Embeddable views (you can insert AdaEngine into your own projects that use UIKit/AppKit/SwiftUI)
  9. Asset management, loading assets from files and executing them
  10. Documentation and tutorials

Roadmap for AdaEngine v0.2.0

  1. UI interface for games and apps
  2. Vulkan and GLSL support
  3. 3D capabilities
  4. 3D Physics
  5. More documentation and tutorials

Contributing to AdaEngine

You are welcome to contribute to AdaEngine. 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!

How to build

Currently we use Bazel and Swift Package Manager as build tools.

  • Bazel

Bazel is major build system for project, SPM maybe will be removed in future versions. To build project for development download Bazelisk. To generate xcproject, use make xcproj command in terminal.

  • Swift Package Manager

Use Xcode 15 or Visual Studio Code with the Swift VSCode Extension and then open Package.swift file from the root directory.

Ada Engine's Projects

adaengine icon adaengine

AdaEngine - Multi-platform 2D and 3D game engine written on Swift

glslang icon glslang

Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.

miniaudio icon miniaudio

Audio playback and capture library written in C, in a single source file.

publish icon publish

A static site generator for Swift developers

shaderc icon shaderc

A collection of tools, libraries, and tests for Vulkan shader compilation.

spirv-cross icon spirv-cross

SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.