ホーリーのプログラミング日記

ホーリーのプログラミング日記

エキセントリック・スーパーアプリクリエイター / アプリ総DL数 約180万 / 全然分からない 俺は雰囲気でアプリを作ってる / iOS : apple.co/3m3HxSm / Android : bit.ly/3ma0liZ

Swiftで横スクロールゲームを作り始めました。しかしこれムズいな

 

iPhoneのゲームアプリをつくろうって本を読み終えて、今はSpriteKitではじめる2Dゲームプログラミングって本を読んでます。

それでこのSpriteKitではじめるって本の最初のほうに、横スクロールゲームを作るやつがあるんですよ。揚げ↑揚げ↑エビフリャーっていうファンキーなゲームが。

これを見て自分なりに横スクロールゲームを作ろうとしてるんですが、思った以上に大変で、苦戦してる次第です。

 

【追記 2016.07.15】

なんとか完成しました。しかしステージを考えるのに苦労しましたよ。僕には10ステージが限界でした。。一応、作ったゲームについてと、その作り方のリンクを貼っておきます。

【自作アプリ第8弾】泳げおっさん - ホーリーのプログラミング日記

【超初心者向け】Swiftで作る横スクロールアクションゲーム - ホーリーのプログラミング日記

 

泳げおっさん

仮のタイトルは「泳げおっさん」にしました。あくまでも仮なんですが、十中八九これで決まる気がしてます。これ以上考えるのも面倒なんでw

んで、ゲームの概要なんですが、これは水中を泳ぎながらステージをクリアしていくゲームです。

 

f:id:gevvoihorry:20160624080145j:plain

 

今は教科書の素材を借りて、とりあえずプログラムから作ってるんですが、まあこんな感じですね。エビフライくんが泳いでて、そこに敵やサンゴが出てくると。んで敵に当たったら死亡です。

途中でスターコイン(仮名称)が出てくるんですが、これを取ると、そのステージを完全クリアしたことになります。もちろん取らなくてもクリアはクリアです。普通のクリア。

 

f:id:gevvoihorry:20160624080445j:plain

 

操作方法

画面が自動的に横にスクロールしていくので、自分はタップするだけです。

タップするたびに上昇して、何も押さないと下降するっていう、ただそれだけですね。

QBK物理エンジンの基本を学んでたんで、この辺のコードは問題なく実装出来ました。

 

ステージを考えるのがめっちゃムズい

教科書だと、ただランダムにサンゴが発生して、その間を通って行くゲームなんですよ。こんな感じの。

 

f:id:gevvoihorry:20160624081115j:plain

 

サンゴとサンゴの間を通って行くってことですね。それで上下のサンゴの伸び幅が毎回変わるんで、ようは通り道の場所が変わるんです。

確かにこの仕様なら簡単なんですけど、僕はマリオみたいにしたかったんですよ。敵キャラがいてコインを取ってみたいな。

だからそういう風に作ろうと思ったんですけど、これが大変。敵キャラの位置とかサンゴ(本番では土管になる予定)の位置を、全部自分で決めなきゃいけないですからね。

全部で10ステージ作ろうと思ってるんですけど、早くも3ステージ目でつまづいてますw

 

各ステージのテストがめっちゃ大変

ステージを考えるのも大変なんですが、そのテストをするのも大変なんですよね。

敵の位置がちょっと違うな、もう100px右だなとか。スターコインが簡単に取れちゃうな。もうちょっと手前にサンゴをを追加して、敵も走らせようとか。まあこういうことで消耗しています。

ステージごとに動きであったり難易度の調整をしながらテストするので、それがやっぱ大変ですね。

 

最後に

初めて手を出した横スクロールアクションなんですが、思いのほか難しくて、苦戦しています。まあコードではなくてステージの構想ですね。そういうところが難しいです。

とりあえず10ステージ出来たら、今のエビフライの絵を溺れそうなおっさんに変えたりして、それでリリースしようと思います。

 

【関連記事】