banner
Xiao4-800K

Xiao4-800K

技术分享、闲聊、玩闹

復刻エア人

十字路口の選択#

そのカード交換時代に、私が一番怖かったのはこのゲームのカートリッジがあることです。通常、これがあれば他のゲームは必ず「スーパーマリオ」や「ロケットカー」のようなゲームです。FC 時代を経験したことがあるなら、このカートリッジは小さなゲームで、すぐに飽きてしまいます。
時は流れ、私の心にはこれらの小さなゲームが深く刻まれています。だから、今回の復刻はこのクラシックな「DigDug」、または充気人、打気犬と呼ばれるゲームです。

思考の整理#

最も重要なステップは... クラシックを再び楽しむことです。オウホウ〜やっぱり私は相変わらず下手です。数ステージで命が尽きてしまいます〜でもそれは重要ではありません、基本的なゲームプレイを理解すれば、作業を開始できます。

私は充気人を 2 つプレイしました。1 つ目は土を押し出して充気するもので、2 つ目は土地を切り取って充気するものです。私が復刻するのは 2 つ目のバージョンです。

DD2.gif

ゲーム要素#

1.攻撃方法:怪物を海に落とすために土地を切り取る、怪物に空気を入れるためにポンプを使用する
2.怪物の行動:追いかける、攻撃する、巡回する、海に飛び込む(オリジナルでは怪物が海に飛び込むのはとても面白いので、特別に一匹の怪物を見てみることにします)
3.怪物の種類:私の観察によると、赤い爆弾と緑の小さな恐竜がいます。私は下手なので、後のステージに他の種類の怪物がいるかどうかはわかりません。
4.マップの特徴:これらのマップはおそらく慎重に設計されています。当時、私たちの仲間は誰がより大きな土地を切り取るか、またはより効果的に敵を倒すかを競い合っていました。

上記は今回の復刻の重要な部分です。

技術選択#

エンジン:他のプロジェクトでgodot4.xを使ってAndroidにエクスポートするのは面倒だとわかったので、今回はgodot3.5を使用します。予期しない問題がなければ、後続のバージョンでも3.5をデフォルトのバージョンとして使用します。
リソース:ピクセルアートにはAsepriteを使用しましたが、完全にオリジナルをコピーするのではなく、記憶の中の姿を描きました。
音楽:純粋な8ビット音楽を聴きすぎると、少し煩わしく感じるので...音楽は追加しません。後で他の電子音楽と8ビットを混ぜてみることも考えています。

ヤン・ファンの航海#

リソース、アイデア、準備#

ゲーム内のモンスターやキャラクターのアクションがあまりにも硬直していると感じたくないので、2D ボーン技術を使用してアクションをよりスムーズにし、同時にリソースの数を減らすことができます。つまり、1 つのアクションごとにたくさんの画像を描く必要はありません。だから私が描いたモンスターはこのようなものになりましたが、アニメーションをバインドして調整すると、まだ効果はあります。

テスト

また、ゲームプレイに関するいくつかのアイデアもあります。プレイヤーとモンスターは同じサイズですが、モンスターにぶつかるとすぐに終了してしまうのはなぜですか、これは... 非常に不合理です。攻撃でなければ、何の影響もないはずですが、モンスターを弱体化させることになります。だから、モンスターには突進攻撃の方法を追加しましょう。小さな恐竜も人間のような生物なので、彼らも話すことができるはずですし、考えることもできるはずです...

オリジナルの UI はシンプルで見栄えも良いので、それをできるだけ再現することができるはずです。

UI の構築#

まず、使用する可能性のあるすべての画面を整理して開発し、基本的なレイアウトとシーンの分類を含めます。
レイアウトはできるだけオリジナルに近づけ、シーンはロゴ、選択画面、スコア画面、ゲームメイン画面のいくつかに分けることができます。これらを繰り返し使用することで、ゲームのロジックを完了させることができます。

ゲームデータ#

このゲームの非常に重要な要素はマップです。ゲームマップをより簡単に拡張するために、私は 2 次元配列を使用してタイルを保存しています。ゲーム中にタイルの状態を動的に判断してゲーム画面を更新します。一元管理を容易にするために、モンスターデータもこのデータセットに含めました。

テスト

コードの実装#

具体的なロジックはコードを見る必要がありますが、ここでは比較的重要な部分を挙げます。

1.小さな恐竜の炎や赤い爆弾の導火線にはパーティクルシステムを使用しています。
2.小さなモンスターたちは状態マシンを使用して現在の状態を維持しています。例えば、攻撃、追跡などです。
3.モンスターは同じボーンアニメーションを使用しています。モンスターを追加する場合は、ボーンをバインドするだけで済みます。
4.タイルにはいくつかの予約番号があり、異なる亀裂に対応しています。これは「落下するかどうか」の重要なフラグです。
5.タイルはタイルセットを使用しており、拡張する場合はタイルセットの番号を調整するだけです。
6.マップデータはフラッドフィルアルゴリズムを使用して状態を計算します。
7.プレイヤーに新しい武器を追加する予定なら、充気銃の具体的な実装を見てみると良いでしょう。

RDD28d7f4b226b97e161.gif

結び#

実際、この小さなプロジェクトのデザイン初期には、たくさんのアイデアがありました。マップエディタ、マルチプレイヤーモード、吸血鬼プレイモードなどですが、それは復刻の初心から少し逸れてしまいます。これらのクラシックゲームを復刻することは、ゲームプレイ、データ、および周辺ツールの実装に対する試みです。したがって、この小さなプロジェクトはここで完了です。

最後に共有します

ソースコード版:https://download.csdn.net/download/at555444/88439951

リリース版:https://download.csdn.net/download/at555444/88439952

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。