初心者でもiOS 9/tvOS向け2Dゲームが作れる標準フレームワークSpriteKitの基礎知識とチュートリアル:iOS SDKとSwiftで始めるゲーム作成入門(1)(1/3 ページ)
iPhoneゲームをSwift言語で作成してみたいという初心者向けにiOSのゲームフレームワークを使った作り方を一から解説する入門連載。初回は、SpriteKitの概要とサンプルゲームの動かし方、主要なクラスやメソッドなどを紹介する。GameplayKitなど他のゲームフレームワークの概要も。
ゲーム作成向けのAPIも充実したiOS 9公開、――tvOSも発表
2015年9月16日(米国時間)にiOS 9が公開されました。iOS 9では、さまざまな機能追加がありましたが、SDKではさらにゲーム作成向けのAPI/フレームワークが充実し、アップルのゲームコンテンツに対する力の入れようがうかがえます。
アップルが標準で用意している、iOS 9までのゲーム開発向けAPI/フレームワークをまとめると下記のようになります。
- GameKit(アップルのゲーム向けSNSである「Game Center」やBluetoothを使ったPtoP通信の機能などをゲームに組み込む)
- SceneKit(3Dゲーム作成用)
- MetalKit(GPUアクセラレーションでより高度なグラフィック)
- SpriteKit(2Dゲーム作成用。後述)
- GameplayKit(ルート探索や状態管理といったAIの作成機能などを強化。iOS 9で追加。後述)
- ReplayKit(ゲームのプレー動画の録画、編集、シェアを可能に。iOS 9で追加)
- Model I/O(3Dモデリングデータの扱いを強化。iOS 9で追加)
また、9月9日(米国時間)のアップルの発表会ではiOS 9をベースしたApple TV向けの「tvOS」が発表されました(参考:新Apple TV、新リモコン+App Storeで登場 Siriにも対応 10月発売 - ITmedia ニュース)。
ショッピングアプリと共にゲームアプリ「Cross Road」のデモが行われ、「Siri Remote」という新しいコントローラーも発表されました。tvOSやアプリの操作はもちろん、Wiiリモコンのようにゲームのコントローラーとしても使えます。さらにサードパーティのゲームコントローラーデバイスも使えるようになります。
大画面による動画コンテンツの提供という狙いはもちろん、Wiiのようにテレビで遊べるコンソールゲーム市場へ進出する狙いがあるように思われます。
iPhoneゲームを作ろう――SpriteKitとGameplayKitで作るタワーディフェンス
本連載では数回に分けて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とGameplayKitの特徴について説明していきます。
SpriteKitとは
SpriteKitとはiOS 7から登場したフレームワークです。2Dゲームを作るためのフレームワークで、当たり判定・物理演算などゲーム作成に必要な機能を一通り備えています。
iOS 7登場時はシンプルだったのですが、だんだんと機能も追加されて今では非常に多くのことができるようになっています。
SpriteKitの長所
SpriteKitの最大の長所はハードルの低さだと思います。
iPhoneの2Dゲーム作成にはSpriteKit以外に、UnityやCocos2dxなどの選択肢があります。UnityやCocos2dxはマルチプラットフォーム対応なので一度コードを書くだけでさまざまなプラットフォーム向けのアプリが作れる点が大きな長所です。SpriteKitはiPhone向けにしか出せないものの、アップル純正という安定性や実装の簡単さによるハードルの低さが長所です。
SpriteKitは通常のiPhoneアプリと同様にXcodeとSwift(もしくはObjective-C)を使って開発します。そのため、ネット上にある多くの情報を活用できたりiPhoneアプリ用フレームワークを使ったりすることができます。
Xcodeを使うことで外部フレームワーク(広告やアクセス解析)導入などのハマりやすい箇所をスムーズにできる点も大きなメリットです。ゲーム作りに慣れていない場合は、まずはSpriteKitから始めてみるといいでしょう。
GameplayKitとは
本連載では、SpriteKitだけではなくGameplayKitというフレームワークも使っていきます。GameplayKitはiOS 9から使えるようになったフレームワークです。
GameplayKitはSpriteKitの拡張をするようなフレームワークで、いくつかの機能から構成されます。機能としてはルート探索や状態管理といったAIの作成を強化してくれるものが中心で、利用することでより高度なゲームを作ることができます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 開発者向けiOS 9、WatchOS 2、Swift 2、Xcode 7の新機能と新しいApple Developer Programの参考情報まとめ
iOS 9、WatchOS 2、Swift 2、Xcode 7の新機能や、Apple Developer Programについて、その概要とアップルが公開している参考情報をまとめて紹介します。 - Apple WatchやiPhoneのアプリを作ろう! Playgroundで学ぶSwiftの基礎―変数、定数、型、演算
本連載では、これからプログラミングやiPhoneアプリ開発を始めてみたい方を対象に、開発に必要な知識を基礎から解説していきます。今回は、Swiftの変数、定数、型、演算などについてサンプルプログラムを交えて解説します。 - iOSアプリ開発でObjective-CからSwiftに移行するための手順、注意点まとめ〜言語仕様の違いは? 連携時の呼び出し方は?
開発生産性や品質を向上させたいiOSアプリ開発者のためにObjective-CからSwiftへ移行するメリットや手順、注意点など勘所をまとめて紹介します。 - いまなら無料! Unityで始めるiPhoneゲーム作成“超”入門
3Dコンテンツ開発ツール「Unity」を使った、簡単な3Dミニゲーム制作の流れを一から解説していきます