Coder Social home page Coder Social logo

gateengine's Introduction

Gate Engine

A cross platform game engine for Swift that allows you to build 2D and 3D games.
Gate Engine includes intuitive APIs for loading resources, handling user inputs, and rendering content.

Platform Support:

Platform CI Render Sound Keyboard Mouse Touch Gamepad
Windows¹ ✔︎ ✔︎ ✔︎ ✔︎
macOS ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎
Linux ✔︎ ✔︎ ✔︎ ✔︎
iOS/tvOS ✔︎ ✔︎ ✔︎ ✔︎iPad ✔︎ ✔︎
Android
HTML5 ✔︎ ✔︎ ✔︎ ✔︎ ✔︎ ✔︎

Complete: ✔︎ | Incomplete: ⛌ | Partial: ◑
All platforms require a functioning Swift toolchain. Click a platform above for setup information.
¹Windows support for Swift and Swift Package Manager is in development. Latest Swift toolchain recommended.

Getting Started

On most platforms, Gate Engine is a self contained Swift Package with no external dependencies.
Add the package to your project like any other package and you're done.

.package(url: "https://github.com/STREGAsGate/GateEngine.git", .upToNextMajor(from: "0.0.1"))

Examples

A suite of example projects is available at Gate Engine Demos.

Community & Followables

Discord Twitter YouTube Reddit

Support Gate Engine!

If you appreciate this project, and want it to continue, then please consider putting some dollars into it.
Every little bit helps! Support With: GitHub, Ko-fi, or Patreon.

History

Gate Engine started it's life in 2016 as a "for fun" project that used the typical strategy, for hobby game engine projects, of high performance and small footprint. It used a basic scene graph and only worked on Apple devices.

After years of frustration over the amount of time spent building games using "efficient" code, I decided to try making an engine that focused on making the process of building a game more fun. This lead to a custom math library that uses spoken language APIs instead like position.move(units, toward: direction). Then I added a high level renderer which allows loading content with a single initializer Geometry(path: "model.obj"), and a drawing API that uses primitives in a layer style to easily reason about the outcome.

After several years of slowly adding and replacing more and more APIs with approachable and fun ones, GateEngine was born. This repository is a fresh project and I'm slowly moving over features from my private engine, while fixing things that are less polished along the way.

This project was a massive undertaking, and was created to be enjoyed. So go make something awesome!

gateengine's People

Contributors

strega avatar

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.