• Stars
    star
    492
  • Rank 89,476 (Top 2 %)
  • Language
    Swift
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Game engine for making 2d games on iOS, macOS and tvOS, with practical examples and tutorials

glide

Glide Engine

Glide is a SpriteKit and GameplayKit based engine for building 2d games easily, with a focus on side scrollers. Glide is developed with Swift and works on iOS, macOS and tvOS.

glide devices

  • Download the macOS demo app here to give it a try.
  • or watch a video of the features here.
  • Documentation

A glimpse of the Glide's features

Package Build status

iOS 14.0 / macOS 11.0 / tvOS 14.0

  • Make a simple 2d platformer in half an hour, tutorial on YouTube:

Starter Tutorial

  • Tutorial 2: Touch buttons and introduction to input management, watch on YouTube:

Tutorial 2

  • More tutorials are on the way! Stay tuned for updates in a couple of weeks. (Updated 3rd June 2019) Follow on YouTube

What is in Glide?

1. Entity component system

Glide is developed with Entity-Component-System architecture. In short, this makes it easy to manage the code of your game, which might quickly get messy as you add more stuff. In addition to that, loads of building components common to 2d platformers that will get you quickly started is also included in the engine.

See all the components here. 👾

2. Tight collisions and contacts

Glide has its own collision and contact algorithms which is more suitable for precise platformer mechanics compared to using SpriteKit's physicsBody.

3. Input 🎮⌨️🖱🔲

Support for Bluetooth and USB game controllers, keyboard, mouse, and touch controls comes out of the box with Glide and it is pretty intuitive to use them. Learn more about supported input methods here.

4. Native game menus

You can't imagine a game without menus in most cases. A UIKit / AppKit based user interface library for making game menus is included in Glide, so you don't have to give up from native Apple components in your games. Of course, those menus are controllable via game controllers on iOS, macOS and tvOS 🎮💃

Inspiration

Glide naturally draws inspiration from the approaches of other popular and smaller game engines on different platforms. Those inspirations are also rooted in the usage of certain architectural patterns like entity-component-system. On top of that, Glide has a bunch of tailored solutions towards making it easier to create more professional platformers and 2d games in general on Apple platforms.

Get your hands on Glide

Demo scenes

Glide comes with a fully fledged demo project. Download this repository and run it in your favorite platform. Running on release configuration with a real device is recommended for experiencing the actual performance.

Quick start guide

Create your first scene with your first entity here.

Update loops

Here are the update loop charts of Glide that you might need as a handy reference.

Scene update loop Entity update loop Component update loop
alt text alt text alt text

Game genres

Supporting other types of 2d games(e.g. top down) with Glide is totally possible. However, that is not tested with enough demos yet, and side scrollers are the initial focus for the engine. Please feel free to contribute with your own demos and changes to Glide for supporting other genres.

🐞🐜

Bugs are expected since Glide is in its early days and this is currently a solo developer project. Please report the bugs you find and give some patience 🙏

Credits:

More Repositories

1

AIFlatSwitch

Nicely animated flat design switch alternative to UISwitch
Swift
981
star
2

AICustomViewControllerTransition

Easy and tidy way for creating custom UIViewController transitions for iOS
Swift
139
star
3

AIMapViewWrapper

use Google maps zoom level with MKMapView, animated route tracking with overlay views, and some other handy MKMapView functionality
Objective-C
30
star
4

CombineOperators

Interactive tutorial/cheat sheet app that lets you play with Combine framework publishers
Swift
28
star
5

StyledMarkdown

Generate SwiftUI Text or AttributedString from markdown strings with custom style names.
Swift
22
star
6

XMLText

Generate styled SwiftUI Text from strings with XML tags.
Swift
20
star
7

AISegmentedControl

a modular and fully customizable segmented control for iOS
Objective-C
3
star
8

AINavigationItemTitleLayoutView

an abstract class for correctly doing layout of UINavigationItem titleView subviews in iOS projects
Objective-C
2
star
9

AIReleaseToRefreshWrapper

a wrapper class for adding and managing release to refresh functionality to any scroll view in iOS
Objective-C
2
star
10

earthbound-narrative

A narrative flowchart from Earthbound(1994) game
JavaScript
2
star
11

glideTutorial-characterPlatform

glide engine tutorial where you can create a walking and jumping character on a platform 📺
Swift
2
star
12

cocoatoucher.github.io

1
star
13

AIPickerViewWrapper

1
star
14

glideTutorial-2-inputIntro

glide engine tutorial where you can learn how to make touch control buttons and know more about input management in general 📺
Swift
1
star