夏までにiPhone アプリつくってみっか!

趣味でiPhone/Androidアプリを開発し、日々勉強した事を書いています。オープンワールド系レースゲームをUnityで開発中です。

スペースハリアー

セガ、iOS版スペースハリアーIIのAppStoreでの配信を終了?

ショッキングな事に、iOS版スペースハリアーIIがAppStoreから消えてしまったようです。「スペースハリアー」で検索しても何も出てきません。 セガの基準に満たないアプリを数週間中にAppStoreやGooglePlayから削除すると5月8日にアナウンスがあったとのこと…

【TravelShooting JP】スペハリ風移動アルゴリズムを試すも不採用に

セガ3D復刻アーカイブス - 3DSを買って以来スペハリをやりまくっていますが、ハリアーの移動に若干の違和感を感じました。 円を描くように操作しているつもりなのですが、ハリアーは菱形に移動してしまいます。 試しにプレステ3版を起動して試しましたが、結…

【TravelShooting JP】原点はここにあり。スペースハリアー

TravelShooting JPで遊んで下さっている皆様、ありがとうございます。最近はちゃんとした3Dのゲームが山ほどあるので、若い方だとTravelShooting JPのような擬似3Dのゲームは逆に新鮮かもしれませんね。ポリゴンによる3D表現が一般化する前は擬似3D表現を使…

【TravelShooting JP】PV公開!

予約トップ10で予約して頂いた皆様、ツイッターなどでつぶやいて下さった皆様、どうもありがとうございます。おかげさまで、スペハリ系シューティングTravelShooting JPの予約数はじわじわと伸び、現在66予約の38位で接戦を繰り広げていたゴッドタンの飲みカ…

【cocos2d】Core Motionを使ってcocos2dゲームをモーションセンサーで操作

前回、 【偽スペースハリアー】自家製スペハリfor iPhone完成!これからが本番 - 夏までにiPhone アプリつくってみっか! で一応完成した偽スペハリですが、まだまだプロトタイプとして実験に使って行きます。今回は、CoreMotionフレームワークを導入し、加…

【偽スペースハリアー】自家製スペハリfor iPhone完成!これからが本番

iPhone用のスペハリ的な擬似3Dシューティングゲームを作ろうと思い立ってから約2ヶ月間、なぜか本物のスペハリをそのまま移植してきました。理由としましては:1. プロトタイプ用の絵や音楽を作るのが面倒くさい 2. 擬似3Dゲームの様々なノウハウを吸収した…

【Objective-C, cocos2d】BGMの切り替えを並列処理して画面のコマ落ちを防ぐ方法

前回、 【cocos2d】テクスチャーをキャッシュに先読みしてゲーム中に画面が一瞬止まるのを防ぐ方法 - 夏までにiPhone アプリつくってみっか! で画面のコマ落ちを防ぐためにテクスチャーの先読みを行いました。 これで完璧か!とテストをしてみると、改善は…

【cocos2d】テクスチャーをキャッシュに先読みしてゲーム中に画面が一瞬止まるのを防ぐ方法

ゲームで使うテクスチャーが多くなってくると1枚のスプライトシートに収まらなくなり、複数のスプライトシートの分ける必要が出てきます。 iPhone4の最大テクスチャーサイズは2048x2048らしいのでこれをリミットとすると、私の偽スペハリの場合はボスのテク…

【Objective-C】.plistファイルを経由せず直接.csvファイルからデータを読み込む方法

これまで敵生成データ、敵の動きのデータ、敵の攻撃などのアクションのデータは.plistファイルから読み込んでいました。 .plistファイルからNSArrayへの読み込みは1行で書けるので便利なのですが、これらのデータをいきなり.plistファイルとして書くのは困難…

【偽スペースハリアー】スペハリの敵の弾は地平線の動きに左右(いや、上下か?)されない

スペハリの中のオブジェクトは基本的に地平線の動きに合わせて上下に動きます。 正確には地平線の動きではなく、オブジェクトがいる位置の地面の位置に連動して動くので、遠くにいる敵は大きく上下に動き、近くに来るにつれて動きは小さくなります。 そして…

【cocos2d】あえて同時発声を制限してキレのいいSEを鳴らす

昔のゲーム機やパソコンのハードウェアのスペック表には同時発声数: FM音源8音、PSG3音などと必ず記載されていました。 いつしかPCM音源が標準になり、ソフト的に何音でも重ねられようになり、好きなだけジャンジャン音を鳴らせるようになりました。しかし、…

【偽スペースハリアー】CCRenderTextureで影の重なりが濃くなるのを防ぐ

偽スペハリでドラゴンの影同士が重なり合うとその部分が濃くなるという問題がありましたので少し強引な方法で修正しました。 たぶんここに書いてある方法は他の条件だと上手く行かない場合があると思います。まず、問題となっている現象はこれです。 影が重…

【偽スペースハリアー】サイン・コサインでドラゴンの動きを完コピ?

雑魚キャラのモーション作成の目処もついたので、いよいよボスキャラをどう実装するか検討してみたいと思います。スペースハリアーの多くのボスキャラはやられない限り永遠に画面に居続けるため、雑魚キャラのようにあらかじめ動きの軌跡をデータとして持っ…

【偽スペースハリアー】3D座標を簡単に見つけるためのツールを作成

前回、 【偽スペースハリアー】ベジェ曲線で滑らかに敵を動かしてみた - 夏までにiPhone アプリつくってみっか! ではベジェ曲線に沿って敵キャラクターを動かしてみました。ベジェ曲線はいくつかの3D座標からなる直線データを元に生成しているのですが、実…

【偽スペースハリアー】ベジェ曲線で滑らかに敵を動かしてみた

これまでは岩とか木とか動かない敵ばかりでしたが、いよいよまともに動く敵の登場です。 3D空間を動かすとなると残念ながらx, y座標限定のcocos2dのCCActionは役に立ちません。 3D空間を動かす方法はいろいろ考えられますが、スペハリのほとんどの雑魚キャラ…

【偽スペースハリアー】.plistに従い敵キャラを生成

これまではランダムな位置に敵キャラを生成していましたが、今回からあらかじめ決めた位置・タイミングで敵を生成するようにしました。敵キャラは「名前」、「x座標」、「インターバル」をキーとした.plistに記述し、そこから読み込むようにしました。.plist…

【偽スペースハリアー】ロックオンしない通常弾はダミーターゲットを追尾

今回は敵をロックオンしない状態で発射される通常弾を実装しました。 ロックオン弾より簡単に思えますが、実はこっちの方が難しいので後回しにしていました。 「まっすぐ飛ばせばいいんじゃないの?」と思うかもしれませんが、3D座標上でまっすぐ前方に飛ば…

【偽スペースハリアー】CCActionとupdate:の併用で敵の爆発を演出

前回、 【偽スペースハリアー】超能力ホーミングミサイル発射! - 夏までにiPhone アプリつくってみっか! ではホーミングミサイルを発射して敵をやっつける機能を追加しましたが、爆発させる処理を入れていなかったのでただ消えるだけの物足りない状態でし…

【偽スペースハリアー】超能力ホーミングミサイル発射!

今までは敵キャラを避けるだけだったハリアー君ですが、今回ようやく攻撃能力を身につけました。本物のスペースハリアーと同様に、弾はロックオンした敵に向かって飛んで行きますので、敵をやっつけるのは比較的簡単です。 弾は一定間隔で自動的に発射されま…

【偽スペースハリアー】CCActionを駆使してやられシーンを演出

今回はコリジョン検出を実装し、ハリアーが地上物や空中物に当ったときにやられたりバランスを崩したりするシーンを再現してみました。本物のスペハリを改めてじっくり観察してみると結構複雑で、久々にcocos2dのCCActionをたくさん使いました。 また、せっ…

【偽スペースハリアー】銃を持った超能力戦士が登場。

いよいよ今回は主人公キャラクターが登場します。ところで、今作っているこのプロジェクトはセガのスペースハリアーのようなゲームになる予定ですが、スペースハリアーそのものを移植しているわけではありません。 現在はプロトタイプとしてとりあえずYouTub…

【偽スペースハリアー】迫力を出すため3Dの計算にインチキを投入

前回地上物を表示させた偽スペハリですが、本家スペハリのような迫力がありませんでした。どうやら普通に3Dの計算をするとダメなようなので少し計算にインチキを加えてやりました。 ついでに背の高い木と空中を浮遊する岩を追加しています。 岩の下の地面に…

【偽スペースハリアー】地上物を追加。だが違う。何かが違う!

偽スペースハリアープロジェクトにようやく敵キャラクター的なオブジェクトを追加します。 今回は地上のスクロールとシンクロして動く茂みを表示してみました。こんな感じです。しかし、本家のスペハリと比較するとかなりの違和感を感じます。 本物はもっと…

【偽スペースハリアー】なんと美しい!日本の空、山、森を再現。

前回チェック模様の地面の表示まで進んだ偽スペースハリアープロジェクト。 今回は地面の奥に表示される空、山、森を表示してみました。グラデーションが美しい空は地平線に合わせて上下させているだけで左右にはスクロールしていません。 奥の山と手前の森…

【偽スペースハリアー】地面のチェッカー模様を完全再現

前回はスプライトでスペースハリアー風の地面の横縞を作りました。 しかしながらスプライトに動く縞模様をつけるのは無理っぽいことに気がつきました。 そこで、逆転の発想で地面全体から横縞以外の部分を抜く事にしました。 その後ろに別の色の地面を重ね合…

【偽スペースハリアー】地面の横縞をとりあえず表示。まだ真っ白だけど。

偽スペースハリアープロジェクトを引き続き進めています。 今回は手前にスクロールする横縞を表示します。 まだ地面のチェッカー模様は実現できていませんが、縦方向へのスクロールが完成しました。横縞はスプライトで表示しますが、CCSpriteのpositionやsca…

【Sprite Kit vs cocos2d】パフォーマンス対決(最終戦) どっちを使うか決めました!

さて、前回の対戦(前編、後編)ではほぼ引き分けとなりましたSprite Kitとcocos2dのパフォーマンス対決、いよいよ今回が最終戦となります。 この対戦の勝者が私の(エセ)スペースハリアープロジェクトのゲームエンジンに採用されることになります。今回は、…

【スペースハリアー】UIImageをカメラロールに保存してみた

前回「【スペースハリアー】Core Graphicsでシマシマの地面を描いてみた - 夏までにiPhone アプリつくってみっか!」では画面に縞模様の地面を表示しました。 今回は、これをゲーム内のデータとして使用できるようにカメラロールに.pngファイルとしてセーブ…

【スペースハリアー】Core Graphicsでシマシマの地面を描いてみた

スペースハリアーに欠かせないのがチェッカー模様の地面。 これを再現するのが一番難しそうなので最初にクリアしたいと思います。 スプライトをSprite KitのEffectNodeで台形に変換して奥行きをつけてみたりしましたが、スペハリのような広大な地面を作るに…

【iPhoneアプリ】Get Ready! 春までにスペースハリアー(もどき)つくってみっか!

1985年にアーケードゲームとしてリリースされたスペースハリアー。 今まで自分がプレイした中で一番好きなゲームです。 スムーズな動きと敵を撃ち落とす壮快さが絶妙です。様々な家庭用ゲーム機やパソコン(まだPCとは呼ばれていなかった時代)に移植されて…