Palico Engine: Metal-Based Game Engine in Swift πŸ‘

Overview

Palico Engine: Metal-Based Game Engine in Swift πŸ‘

macOS license

platform-compatibility swift-version-compatibility

Implement a game engine on macOS using Metal API. Still in development. Currently I am working on a more capable ECS :)

Palico Engine Screenshot

Name Selection:

  • Palico - It is a cat-like combat companion in Monster Hunter!
  • Moth in MothECS - It refers to new players in Sky. Explanation is here!

Palico Engine Sprint Board on Jira (need permission request). Currently there are 54 issues in total!

πŸ”§ Install & Usage

# Clone
git clone https://github.com/forkercat/PalicoEngine.git
cd PalicoEngine

# Compile
swift build

# Run
swift run Editor

🍻 Dependencies

dependencies: [
    .package(url: "https://github.com/forkercat/OhMyLog.git", .branch("main")),
    .package(url: "https://github.com/forkercat/MathLib.git", .branch("main")),
    .package(url: "https://github.com/forkercat/SwiftImGui.git", .branch("update-1.86-docking")),  // by @ctreffs
],

Thanks to SwiftImGui by @ctreffs I am able to use ImGui in this application.

I forked the repository and wrapped ImGui v1.86 and added new OSX backend file. Related PRs:

⭐ Features

To be added!

πŸ₯Ί Future Development

Rendering:

  • Add skybox
  • Add shadow
  • Support PBR
  • Support deferred rendering (render pass has already been setup)

Model:

  • Load 3D models
  • Load textures in models
  • Load animation

Other:

  • Improve MothECS
  • Integrate ImGuizmo
  • Property/Inspector panel
  • Game object selection
  • Scene loading (yaml)
  • Content browser (Asset Panel)

πŸ™ Reference

Started by following game engine turotial series by TheCherno and wrote implementation in C++. Also check out Hazel Engine repository. It is a great learning resource!

You might also like...
Glide is a SpriteKit and GameplayKit based engine for building 2d games easily
Glide is a SpriteKit and GameplayKit based engine for building 2d games easily

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.

XCode and Swift game based on the generation of random cards and some functions related to the comparison of the results.
XCode and Swift game based on the generation of random cards and some functions related to the comparison of the results.

war-card-game-V1 XCode and Swift game based on the generation of random cards and some functions related to the comparison of the results. Once a card

iOS association game chatbot. AI based on neural word embedding language model. Image recognition with convolutional neural net.
iOS association game chatbot. AI based on neural word embedding language model. Image recognition with convolutional neural net.

AssociationBot ##iOS association game chatbot. UI based on JSQMessagesDemo. Association database created with the help of Word2Vec neural word embeddi

A physics-based cocos2d iOS game

CastleHassle License Copyright (c) 2010-2014 Castle Hassle Permission is hereby granted, free of charge, to any person obtaining a copy of this softwa

Open Source Real Time Strategy game based on Warfare Incorporated

About Hostile Takeover is the open source release of the wildly popular mobile Real Time Strategy game Warfare Incorporated. Warfare Incorporated's de

PokΓ©Mon like game on iOS with Location Based Service.

iPokeMon (iOS Client: Master) Description About Project iPokeMon is a project that try to implement the PokΓ©Mon game on iOS with Location Based Servic

RTS game based on the famous warcraft serie
RTS game based on the famous warcraft serie

RTS RTS game based on the famous warcraft serie Copyright (C) 2021 Vinwcent Introduction This game is the alpha of a small RTS which works with Gamece

This is a word scramble game where you get points based on what words you can spell out of a root word.
This is a word scramble game where you get points based on what words you can spell out of a root word.

WordScramble This is a word scramble game where you get points based on what words you can spell out of a root word. This app was part of my SwiftUI c

A snake engine written in SpriteKit for all Apple devices.
A snake engine written in SpriteKit for all Apple devices.

A snake engine written in SpriteKit for all Apple devices. ⭐ Features Fully tested engine functionality. Framework based, super easy to integrate in d

Owner
Junhao Wang
Protect the light in heart.
Junhao Wang
Imagine Engine - a fast, high performance Swift 2D game engine for Apple's platforms

Welcome to Imagine Engine, an ongoing project that aims to create a fast, high performance Swift 2D game engine for Apple's platforms that is also a j

John Sundell 1.8k Jan 3, 2023
A little arcade game that uses SwiftUI as a game engine.

SwiftUI Game A little arcade game that uses SwiftUI as a game engine :) Just copy the code into the Blank playgroundbook in Swift Playgrounds app on i

Roman Gaditskiy 10 Sep 30, 2022
CardGameEngine - Prototyping a game engine for the Bang card game

CardGameEngine Prototyping a game engine for the Bang card game. Features Engine is open source Powerful scripting language using JSON Card design is

stephtelolahy 5 Nov 22, 2022
A game engine built with SDL and Swift.

Lark A game engine made with Swift and SDL. This is a pre-alpha work-in-progress. Don't try to use this unless you really know what you're doing. I ba

June Bash 41 Mar 11, 2022
2D ECS game engine in 100% Swift + SwiftUI for iOS, macOS, tvOS

OctopusKit A 2D game engine based on ECS and written in 100% Swift for iOS, macOS and tvOS. If you've tried making a game in Swift while sticking to t

null 335 Dec 12, 2022
The one and only open source 4X MMO mid-core strategy game for iOS. Similar to Game of War and Mobile Strike

4X MMO Strategy Game for iOS I have spent 4 years of my life and a significant amount of money into completing this game and I hope you enjoy it. For

shankqr 69 Nov 16, 2022
Switshot is a game media manager helps you transfer your game media from Nintendo Switch to your phone, and manage your media just few taps.

Switshot is a game media manager helps you transfer your game media from Nintendo Switch to your phone, and manage your media just few taps.

Astrian Zheng 55 Jun 28, 2022
Gravity Switch - A dynamic game that integrates swiping and tapping to create a fun interactive game

GravitySwitch Gravity Switch is a dynamic game that integrates swiping and tappi

null 3 Nov 19, 2022
IOS Spin Game - A simple spin game using SwiftUI

IOS_Spin_Game A simple spin game using Swift UI.

Md. Masum Musfique 4 Mar 23, 2022
FlagGuess-Game - A game to collect points by guessing flags

Flag Guess Game A game to collect points by guessing flags! Wrong Choice

Ahmet Onur Sahin 3 Apr 18, 2022