iOS 8 SceneKit: Explained
Games are the single biggest category of products available for download in the App Store, so it's fitting that iOS 8 sees changes designed to help game developers. One of those changes is the addition of SceneKit, a technology first introduced for OS X developers in Mountain Lion in 2012. SceneKit helps developers to more quickly render game scenes in 3D. It's not aimed at developers working on sophisticated console-quality games; instead, SceneKit is aimed at makers of more casual fare.
What SceneKit does
SceneKit offers an array of advanced technology designed to make it easier to produce 3D games: A physics engine is included, to help govern how objects move. A particle generator is included, to help make explosions more realistic. SceneKit also lets developers script the actions of 3D objects in their games.
The net result is that game makers can create 3D animated scenes and effects in games more easily than they could before. Gravity simulations, collisions between objects, more realistic motion. What's more, it's now easier to animate scenes using SceneKit.
Integration with SpriteKit
SceneKit has been integrated with another technology called SpriteKit. Sprites, in game parlance, are graphics that can be moved. In simplest terms, your game character can be a sprite; the bad guys can be sprites; the bullets and bombs they lob at you and you lob at them can be sprites.
SpriteKit made its debut with iOS 7 in 2013. The software is used to create assets used in 2D games on iOS. Apple's evolving SpriteKit in iOS 8 to help in-game characters move more naturally. What's more, developers will have an easier time managing things like collision detection — that is, when the game needs to know when your character gets hit by a bullet or runs off the end of a platform. New lighting effects have also been included.
The integration of SceneKit with SpriteKit promises to make it easier for iOS game developers to include assets they've created using SpriteKit in their 3D games.
Apple's adding on to SpriteKit, too. New this year is support for light sources, field forces, per-pixel physics that enable objects to automatically interact with accurate physics based on their drawn shapes, and inverse kinematics — a technique for creating realistic joint motion in characters and objects.
Why SceneKit is important
Game developers often rely on middleware — code that makes it easier for them to generate complex special effects and interactions in games. Middleware can be a time saver, but it can also impose performance issues and restrictions in how code can be written. Having SceneKit available to any Xcode developer reduces the likelihood that casual game developers will have to rely on middleware to produce compelling visual effects and 3D interactions in their games.
iOS 7 is already a very mature operating system with a rich development environment, but it behooves Apple to continue to make it easier for developers to create compelling apps as easily as possible.
By providing tools like SceneKit, Apple's making sure that developers can feed iOS device users' insatiable desire for fresh diversions, producing higher quality games with less effort.
Are you a casual game developer for iOS? Interested in using SceneKit in your upcoming projects? Why's SceneKit matter to you? Or does it? I want to hear from you — share your thoughts in the comments.