Octopuskit Versions Save

2D ECS game engine in 100% Swift + SwiftUI for iOS, macOS, tvOS

4.0.0-beta.5

9 months ago

Incomplete notes; Compare with previous release or latest development branch

❗️ Older projects may not compile. Many things have been renamed/modified/removed!

Requires Xcode 15, macOS 14 Sonoma and iOS 17

See the release notes for 4.0.0 Beta 4

⚠️ This is just a stopgap release before a major overhaul, which will separate the non-game-related functionality into a new repository called OctopusCore, and introduce a complete restructuring for first-class integration with the latest SwiftUI features and patterns.

4.0.0-beta.4

3 years ago

Incomplete notes; Compare with previous release or latest development branch

❗️ Older projects will not compile. Many things have been renamed/modified/removed!

Requires Xcode 12, iOS 14 and macOS 11 Big Sur

⭐️ Major New Stuff:

  • Swift 5.3 and SwiftUI 2.0
  • Support for Turn-Based games!
  • Tile Maps and Tile-Based components!
  • Device-independent "directional" input components (keyboard for now, gamepad next)
  • Lots of other new components!

⚡️ Massive Improvements:

  • Renamed the Octopus prefix to OK, finally adopting the prevailing convention :)
  • Improved shader support
  • Improved ECS core functionality and convenience
  • SwiftUI-like "Modifiers" for SpriteKit types
  • Improvements and overhaul for many components
  • Improved Logging
  • Lots of helper extensions, utilities, operators and aliases

✨ Fixed & Polished:

  • Improved macOS support
  • Randomization
  • Xcode Templates
  • Warnings and tips for gotchas and pitfalls
  • Various bugs

🍱 Miscellaneous:

  • Improved Documentation
  • Better file organization and code formatting

3.2.0

4 years ago

Compare with previous release or latest development branch

❤️🎄💚 𝗦𝗨𝗣𝗘𝗥 𝗫𝗠𝗔𝗦 𝗩𝗔𝗟𝗘𝗡𝗧𝗜𝗡𝗘𝗦* 𝗘𝗗𝗜𝗧𝗜𝗢𝗡 💚🎄❤️

🖥 Major New Stuff:

  • Fixed and improved macOS and tvOS support! \(^▽^)/
  • OS-agnostic pointer input components that can be used with both touch and mouse!
  • Keyboard support!
  • Single QuickStart template for iOS, macOS and tvOS!
  • Easier to share a ton of code between all 3 platforms!

⚡️ Massive Improvements:

  • Sexier and smoother ECS core!
  • Time-dependent components now have options for per-frame or per-second time-steps.
  • Physics and movement-based components now have consistent support for acceleration.
  • More components!
  • Tests, finally!
  • Better, more-documenty documentation!
  • Logging

✨ Fixed and Polished:

  • Performance: @inlinable all the things!
  • Give into the more common convention of two-letter prefixes instead of Octopus by adding type aliases that begin with OK.
  • New logo inspired by the Sinclair ZX Spectrum ❤
  • Bug squishes
  • OCD indentation and other code formatting
Notes

* This release was ready 2 months ago but I forgot to publish the draft.. 😖

Jump from 3.0.0 to 3.2.0 because it ended up including better tvOS support as well. ^—^

3.0.0

4 years ago

Woo! A release so awesome it skips a version number! (See footnotes for explanation.)

Compare with previous release or latest development branch

Requires Xcode 11, iOS 13 and macOS 10.15 Catalina.

⭐️ Major New Stuff:

  • Super Sexy SwiftUI!
  • OK is now a proper Swift Package Manager package
  • Swift 5.1

⚡️ Massive Improvements:

  • Engine initialization and setup
  • Streamlined frame cycle updates
  • Subclass override/customization points
  • More sensible object hierarchy and roles
  • Eliminate boilerplate
  • Awesome QuickStart template

Thanks to new Swift features (+ an increase in my INT), OK's core objects can now be initialized with much fewer lines of code which make a lot more sense, while still allowing advanced customization.

✨ Fixed and Polished:

  • Documentation (now with animated gifs! so hip!)
  • Xcode Templates
  • Logging

🍱 Miscellaneous:

  • @OctopusUserDefault property wrapper to easily save and read user settings
  • Various convenience extensions to Apple APIs
Notes

This is actually the first "proper" public release, as a full framework that can be "import"ed and used with Xcode project templates without hacks, so it should actually be tagged 1.0, but since OctopusKit has gone through 3 incarnations – first as a simple SpriteKit helper library, then GameplayKit ECS, and now SwiftUI and Swift Package – so the public version might as well reflect that. ^—^

There are still a lot of commonly needed components (like game controller input) yet to be added. Onward to 3.1! \(^▽^)/

1.1.0-beta.1

4 years ago
  • Updated for Swift 4.2 and iOS 12 (albeit both are still in beta.)
  • Quickstart project recreated in Xcode 10 (also in beta.)
  • API improvements.
  • Bugfixes.
  • Code cleanup.
  • Documentation improvements.

I'm not good at writing proper change logs yet, sorry! 😓 But you can compare between tags.

1.0.0

4 years ago

The first public release!

There are still a lot of rough edges to smooth and a lot of holes to cover, but it is usable enough to build full games with.

Targets iOS 11.4, Swift 4.1 and Xcode 9.4.