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.
- Asset/resource loading system.
- Saving and loading game/scene/entity/component states via
- Support for describing scenes/entities/components in HTML/XML/JSON or a similar format.
- Networking components.
- SceneKit support in 2D scenes, and 3D components.
- Declarative SwiftUI-like syntax for describing scenes and entities. 🤫
- Custom Scene Editor & Live Previewer?
- 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