iPhoneゲームをSwift言語で作成してみたいという初心者向けにiOSのゲームフレームワークを使った作り方を一から解説する入門連載。初回は、SpriteKitの概要とサンプルゲームの動かし方、主要なクラスやメソッドなどを紹介する。GameplayKitなど他のゲームフレームワークの概要も。
2015年9月16日(米国時間)にiOS 9が公開されました。iOS 9では、さまざまな機能追加がありましたが、SDKではさらにゲーム作成向けのAPI/フレームワークが充実し、アップルのゲームコンテンツに対する力の入れようがうかがえます。
アップルが標準で用意している、iOS 9までのゲーム開発向けAPI/フレームワークをまとめると下記のようになります。
また、9月9日(米国時間)のアップルの発表会ではiOS 9をベースしたApple TV向けの「tvOS」が発表されました(参考:新Apple TV、新リモコン+App Storeで登場 Siriにも対応 10月発売 - ITmedia ニュース)。
ショッピングアプリと共にゲームアプリ「Cross Road」のデモが行われ、「Siri Remote」という新しいコントローラーも発表されました。tvOSやアプリの操作はもちろん、Wiiリモコンのようにゲームのコントローラーとしても使えます。さらにサードパーティのゲームコントローラーデバイスも使えるようになります。
大画面による動画コンテンツの提供という狙いはもちろん、Wiiのようにテレビで遊べるコンソールゲーム市場へ進出する狙いがあるように思われます。
本連載では数回に分けてiOS向けのゲームを作っていきます。iPhoneをターゲットにしたゲームを作りますが、この連載で得たゲーム開発の知識は、前述のApple TVやiPadなどでも生かせるはずです。ゲームを作成したことがない初心者の方にも極力分かりやすくなるように解説しますので、この記事がゲーム作成のきっかけになりましたら非常にうれしく思います。
開発環境は、6月にバージョン2.0が発表されたSwiftとXcode 7を使っていきます。Swiftについて知りたい方は、連載「初心者のためのSwiftで始めるプログラミング入門」を参照しておいてください。またXcodeは、最新の7にアップデートをしておいてください。
ゲーム開発用のフレームワークはSpriteKitとGameplayKitを利用します。なお、この二つは前述のtvOSでも使えます(参考:Documentation - tvOS - Apple Developer)。
連載では、タワーディフェンス型のゲームを作っていきますが、初回はサンプルアプリを基にゲーム作りの基本的な部分を解説します。
まずは本連載で主に利用するSpriteKitとGameplayKitの特徴について説明していきます。
SpriteKitとはiOS 7から登場したフレームワークです。2Dゲームを作るためのフレームワークで、当たり判定・物理演算などゲーム作成に必要な機能を一通り備えています。
iOS 7登場時はシンプルだったのですが、だんだんと機能も追加されて今では非常に多くのことができるようになっています。
SpriteKitの最大の長所はハードルの低さだと思います。
iPhoneの2Dゲーム作成にはSpriteKit以外に、UnityやCocos2dxなどの選択肢があります。UnityやCocos2dxはマルチプラットフォーム対応なので一度コードを書くだけでさまざまなプラットフォーム向けのアプリが作れる点が大きな長所です。SpriteKitはiPhone向けにしか出せないものの、アップル純正という安定性や実装の簡単さによるハードルの低さが長所です。
SpriteKitは通常のiPhoneアプリと同様にXcodeとSwift(もしくはObjective-C)を使って開発します。そのため、ネット上にある多くの情報を活用できたりiPhoneアプリ用フレームワークを使ったりすることができます。
Xcodeを使うことで外部フレームワーク(広告やアクセス解析)導入などのハマりやすい箇所をスムーズにできる点も大きなメリットです。ゲーム作りに慣れていない場合は、まずはSpriteKitから始めてみるといいでしょう。
本連載では、SpriteKitだけではなくGameplayKitというフレームワークも使っていきます。GameplayKitはiOS 9から使えるようになったフレームワークです。
GameplayKitはSpriteKitの拡張をするようなフレームワークで、いくつかの機能から構成されます。機能としてはルート探索や状態管理といったAIの作成を強化してくれるものが中心で、利用することでより高度なゲームを作ることができます。
Copyright © ITmedia, Inc. All Rights Reserved.