【超初心者向け】Swiftで作る横スクロールアクションゲーム
泳げおっさんっていう、横スクロールアクションゲームを作ったので、ちょっとその作り方について書きたいと思います。
ちなみに横スクロール型のゲームを作ったのは、これが初めてでした。本を見ながらやって、ポンコツながら何とか出来た次第です。一度は作ってみたかったんですよね。横スクロールアクション。
マリオの水中ステージを70倍劣化させたゲームを作りました。泳げおっさん。
— ホーリー (@gevvoihorry) 2016年7月15日
Taro Horiguchi「泳げおっさん - 水中横スクロールアクションゲーム」https://t.co/q5g4esnkZU pic.twitter.com/Td7DsW7zdI
【追記2016.11.06】
もう一個横スクロールアクションゲームを出してみました。激ムズ4段ジャンプ。
【自作アプリ第11弾】激ムズ4段ジャンプ - ホーリーのプログラミング日記
こっちの方が横スクロールゲームって感じですかね。一応マリオ風に仕上げたつもりですw
良かったらプレイしてみてください。作り方は、以下に書いてる書籍とかを参考にしながら作りました。
参考にした書籍
参考にした書籍は以下の2冊です。どちらもSwiftの本ですね。
SpriteKitではじめる2Dゲームプログラミング Swift対応 (Smart Game Developer)
- 作者: 村田知常,原知愛,近藤秀彦,山下佳隆
- 出版社/メーカー: 翔泳社
- 発売日: 2015/02/28
- メディア: 大型本
- この商品を含むブログを見る
具体的に言うと、SpriteKitで始める2Dゲームプログラミングって本の中に、「横スクロールアクションゲームを作ろう」って章があるんですよ。 基本的にはこれを元に作りました。
でもこれは、ランダムにサンゴが出てきてその間をくぐるゲームなんですよ。僕が作りたかったのはマリオ風の横スクロールアクションゲームだったので、これだけでは足りなかったわけです。
もしもマリオ風でなくて、永遠にループするような横スクロールゲームが作りたい人は、これで十分だと思います。詳しくは本を読んでみてください。
んで、マリオ風にするために参考にしたのが、iPhoneのゲームアプリを作ろうって本ですね。
前にこの本を思いっきりパクる感じで、オッサンよけろってゲームを出したんです。このときのコードを参考にしました。
【自作アプリ第五弾】オッサンよけろ - ホーリーのプログラミング日記
具体的な作り方
具体的な作り方について書いていきたいと思います。まず僕は背景と地面が永遠にスクロールするようにして、そこに敵と土管とコインを足しました。
背景と地面の永遠スクロールは、SpriteKitで始める2Dゲームプログラミングに書いてるので、それをそのまま書いた次第です。
んで、敵と土管は初期位置を決めておいて、あとは一定のスピードで左に進んで来るようにしたんです。これはiPhoneのゲームアプリを作ろうの本に書いてる、隕石スラロームゲームのそれですね。
僕はいつもiPhone6の画面サイズでゲームを作ります。これは750*1334のサイズですね。
んで例えば泳げおっさんの場合、ゴールの位置はx軸で4000の場所なんですよ。当然のように最初は画面外なんですが、そこから4pxのスピードでこっちに向かって来るようにしました。
敵や土管も同じですね。x:2000,y:750みたいな適当な場所に配置して、それを一定速度でこっちに向かわせるようにしました。x軸をマイナス方向に進んで来れば、いつか主人公のキャラと当たるってわけです。
背景と地面と土管の速度は同じにしました。これはそのほうが違和感がなかったから。んで敵の速度だけは少し上げた次第です。
えー、まあこの辺は実際にゲームをプレイしていただければ分かるかと。少々クオリティ的に恥ずかしいですけどw
最後に
僕はこんな感じで横スクロールアクションゲームを作ってみました。とりあえず背景をループさせて、あとは適当に敵を流せばそれっぽく見えますよ。多分w
今度は水中でなくて、普通にジャンプしていくような横スクロールゲームを作ろうと思います。そのときは、またそれを書きますね。