If you’d like to help with the development of the OK project, these are some of the areas that need to be implemented.
- Major Missing Features
- To Do
- To Decide
Major Missing Features
More-or-less in order of priority/necessity:
- Full tvOS support (currently in a preliminary state as of 2019-11-14.)
- Components for gamepad/joystick and Siri Remote input.
- Options for per-frame and per-second for every time-based component.
- Asset/resource loading system.
- Saving and loading game/scene/entity/component graphs via
- Networking components.
- SceneKit support.
- Declarative syntax like SwiftUI for describing scenes and entities. 🤫
- Custom Scene Editor & Live Previews?
- Swift Logging API
- More Tests. Too lazy.
- Decide upon a coding style and conventions.
- Write tutorials for common tasks.
superchaining where applicable – when an overridden method in a subclass needs to call the superclass method for the functionality to work correctly – and enforce it when it becomes possible through language support in a future version of Swift, similar to
- Eliminate the possibility of a
SKNode.physicsBodybeing added to a scene more than once.
- Implement configurable Xcode templates (single files with multiple variations based on options during file creation, e.g. single-state scenes vs. multi-state scenes.)
Codablesupport for components and their
init?(coder aDecoder: NSCoder)where applicable.
- GitHub Wiki?
Outstanding Bugs & Known Issues
Nodes added via an
SKReferenceNodethat is loaded from a scene created in the Xcode Scene Editor, start with their
trueuntil Xcode pauses and resumes the program execution.
UITouch.previousLocation(in:)are sometimes not updated for many frames, causing a node to “jump” many pixels after 10 or so frames. Same issue with
UITouch.preciseLocation(in:)for a touch “wobbles” when a 2nd touch moves near it, even if the tracked touch is stationary. Seems to be a problem since iOS 11.3 on all devices, in all apps, including system apps like Photos. RADAR: 39997859.
- Use variadic parameters (
...) instead of arrays in certain places, like
- Write standalone documentation for every API unit? (Currently, source comments are the primary API documentation.)
- Write documentation and tutorials for absolute beginners? i.e. people who have no experience with Xcode or Swift?
- Rework pausing/subscene system?
OctopusKit © 2019 Invading Octopus • Apache License 2.0