invadingoctopus / octopuskit Goto Github PK
View Code? Open in Web Editor NEW2D ECS game engine in 100% Swift + SwiftUI for iOS, macOS, tvOS
License: Apache License 2.0
2D ECS game engine in 100% Swift + SwiftUI for iOS, macOS, tvOS
License: Apache License 2.0
First, let me say this is one hell of a useful library, and thank you for the hard work! I've ported most of my app (which used a homegrown ECS) to OctopusKit and everything is so much cleaner, and will probably be more performant when all is said and done.
The only thing I'm stuck on is getting contact events. Are PhysicsEventComponent
and PhysicsContactHandlerComponent
supposed to be added to the scene's entity or to the individual "monster" entities?
Thanks for any info!
Rob
Hi,
Reading over the documentation and I would like some help on the ContainerView, GameCoordinator, and the ViewController.
From the QuickStart Guide, I can see and understand how to use the project that is entirely SwiftUI.
I created a sample SwiftUI project that follows your Universal code.
I also have a project that is entirely UIKit and UIViewControllers (not using the storyboard, mostly generating buttons and labels in code).
I want to combine these two projects together. I cannot change the UIViewController project, however, I can change the SwiftUI OctopusKit project.
In your opinion, what is the best way to integrate these two projects together?
Thank you.
Category: 'Compilation'
Describe the bug
When I try to archive my iOS App, just after including this repo as a swift package dependency I get this error several time:
error: error reading dependency file '/Users/alberto/Library/Developer/Xcode/DerivedData/OctopusKitPoC-efudzfgceuckifblpxhfvqbvjsuy/Build/Intermediates.noindex/ArchiveIntermediates/OctopusKitPoC/IntermediateBuildFilesPath/OctopusKit.build/Release-iphoneos/OctopusKit.build/Objects-normal/arm64/OctopusKit-master.d': unexpected character in prerequisites at position 14049458 (in target 'OctopusKit' from project 'OctopusKit')
Then the archive generated is under the "other items" category inside the Organizer.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Have a valid archive to distribute under the "iOS Apps" category in the Organizer.
Screenshots
Build Environment (what you're developing on)
- OctopusKit Version: '4.0.0.beta3 - development branch'
- macOS Version: '10.15.6 (19G2021)'
- Xcode Version: '12.0 (12A7209)'
- Swift Version: '5'
Target Device (what you're compiling for)
- Device: 'iPhone, iPad'
- Target OS Version: 'iOS14.0'
Category: 'Behavior'
Describe the bug
I wouldn't categorize this as a bug, but I cannot for the life of me figure out how to set the focus (first responder) to the main window containing the OKScene
without clicking inside it first. The result is that key commands are not being picked up until you click anywhere in the scene. I'm sure it's something simple I'm missing.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
OKScene should be first responder when the scene is shown (I think)
Build Environment (what you're developing on)
- OctopusKit Version: '3.2.0'
- macOS Version: '10.15.7 (build)'
- Xcode Version: '12.0.1 (12A7300)'
- Swift Version: 'Apple Swift version 5.2.4'
Target Device (what you're compiling for)
- Device: 'macOS app'
- Target OS Version: 'macOS 10.15'
Additional context
Loving this framework... hope you like my app which builds heavily on OK!
Category: 'Behavior'
Describe the bug
The package causes some bugs when loaded in Swift Playgrounds for iPad. I believe it's because some files need !targetEnvironment(macCatalyst)
added alongside the #if canImport(AppKit)
.
Hi, is this framework still being maintained and updated?
Hello,
I find this project very interesting,. I checked the TODO and it said you were planning to work on Gamepad as Inputs. Is this something you are already working on. If not, I would be happy to contribute. But would like some discussion to make sure I do it the proper way as per the conventions set out for other input sources. Can we catch-up on gitter https://gitter.im/ or elsewhere?
Category: 'Import Failure'
Describe the bug
When following the instructions in the QuickStart README here -> https://github.com/InvadingOctopus/octopuskit/blob/master/QuickStart/README%20QuickStart.md the 2nd step fails when adding a dependency to the develop branch
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Proceed to add OctopusKit dependency to project.
Build Environment (what you're developing on)
- OctopusKit Version: 'develop'
- macOS Version: '10.15.6'
- Xcode Version: 'Xcode-12 beta 6 (12A8189n)'
- Swift Version: '5.3'
Target Device (what you're compiling for)
- Device: 'AppleTV Simulator'
- Target OS Version: 'tvOS'
Additional context
The issue appears to be the deprecated MacOS flag in the manifest now that BigSur has been released.
Describe the bug
Hi, your template file no longer works with the latest version. It is no longer applicable. For example, OKGameState needs to be changed to OctopusGameState now.
Expected behavior
Hopefully the template files are updated to the latest version
Thank you for all your hard work. ๐
Category: 'Behavior'
Describe the bug
didBegin and didEnd of PhysicsContactComponent not getting called.
To Reproduce
Steps to reproduce the behavior:
final class BunnyContactComponent: PhysicsContactComponent {
func didBegin(_ contact: SKPhysicsContact) {
print("hungry bunny")
}
override func didEnd(_ contact: SKPhysicsContact, entityBody: SKPhysicsBody, opposingBody: SKPhysicsBody, scene: OKScene?) {
print("hungry bunny")
}
}
Expected behavior
didBegin/didEnd Contact event in BunnyContactComponent should be called
Build Environment (what you're developing on)
Target Device (what you're compiling for)
Additional context
The scene has the following setup in createContents
self.entity?.addComponents([sharedMouseOrTouchEventComponent, sharedPointerEventComponent, PhysicsWorldComponent(), PhysicsComponent(physicsBody: SKPhysicsBody(edgeLoopFrom: self.frame))])
self.componentSystems.createSystem(forClass: BunnyContactComponent.self)
I'm excited about OK v4.0 and just wondering if there will be a migration guide... my project is fairly big. I will poke around now on a new branch and see if I can figure it out, but a guide would be super awesome! BTW, I am now supporting you on Patreon โ Code Collaborator level. Hoping to make great things with you, ShinryakuTako, if that is your real name ;)
Category: 'Package Import'
Describe the bug
Trying to import my favorite library :) into a new project and getting this error:
package at 'https://github.com/invadingoctopus/octopuskit' @ 4115ff2 is using Swift tools version 5.3.0 but the installed version is 5.2.0
I've updated to Xcode Version 11.6... do I need to upgrade to Swift 5.3 outside of Xcode's normal install?
Thanks for any help!
Rob
To Reproduce
Steps to reproduce the behavior:
package at 'https://github.com/invadingoctopus/octopuskit' @ 4115ff2a63b0df684eca20367d59ffc22906faae is using Swift tools version 5.3.0 but the installed version is 5.2.0
Expected behavior
The package should import without error.
Screenshots
Build Environment (what you're developing on)
- OctopusKit Version: 'develop'
- macOS Version: '10.15.15'
- Xcode Version: '11.6 (11E708)'
- Swift Version:
Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)
Target: x86_64-apple-darwin19.5.0
Target Device (what you're compiling for)
- Device: 'macOS app'
- Target OS Version: 'e.g. macOS 10.x'
Additional context
Add any other context about the problem here.
Describe the bug
After trying to run the Quick Start guide steps I'm presented with a build error of 'KeyboardEventComponent' is unavailable in iOS
- This seems to be in the source of the package rather than in the Quick Start files.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Build to complete without errors
Desktop (please complete the following information):
Smartphone (please complete the following information):
Hi,
I followed the instructions for adding this project to mine, however, I don't see a way to turn off the debug statements to the console.
Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.