Godot でトップダウン シューティング ゲームを作成する

このチュートリアルでは、強力なオープンソース ゲーム エンジンである Godot を使用してトップダウン シューティング ゲームを作成する方法を学びます。トップダウン シューティングでは通常、トップダウンの視点で移動および射撃するキャラクターを制御し、敵を倒して目的を達成することを目指します。

プロジェクトの設定

まず、Godot で新しい 2D プロジェクトを作成します。プロジェクトが作成されたら、メイン シーンを設定します。

  1. プレーヤーを作成する:
    • プレイヤー キャラクターに KinematicBody2D ノードを追加します。
    • プレイヤーのスプライトを設定し、敵や環境との正確な相互作用のために衝突形状を構成します。
  2. 敵を追加:
    • KinematicBody2D ノードまたはその他の適切なノードを使用して敵キャラクターを作成します。
    • 敵の動き、攻撃、プレイヤーの検出を制御する AI 動作スクリプトを設計します。
  3. 射撃機構を実装する:
    • プレイヤーの射撃を処理するスクリプトを作成します。
    • 入力イベントを使用して、マウスのクリックまたはキーの押下を検出し、マウス カーソルに向かって発射物を発射します。

コード例: プレイヤーの移動と射撃

extends KinematicBody2D

const MOVE_SPEED = 200
const SHOOT_SPEED = 400
var bullet_scene = preload("res://Bullet.tscn")

func _process(delta):
    # Player Movement
    var input_vector = Vector2.ZERO
    input_vector.x = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
    input_vector.y = Input.get_action_strength("move_down") - Input.get_action_strength("move_up")
    input_vector = input_vector.normalized() * MOVE_SPEED * delta
    move_and_slide(input_vector)

    # Player Shooting
    if Input.is_action_just_pressed("shoot"):
        var bullet_instance = bullet_scene.instance()
        var direction = (get_global_mouse_position() - global_position).normalized()
        bullet_instance.direction = direction
        bullet_instance.position = global_position
        get_parent().add_child(bullet_instance)
        bullet_instance.linear_velocity = direction * SHOOT_SPEED

コードの説明

  • MOVE_SPEED: プレイヤーの移動速度を定義する定数。
  • SHOOT_SPEED: プレイヤーが発射する弾丸の速度を定義する定数。
  • bullet_scene: 弾丸オブジェクトを含むシーンへの参照。
  • _process(delta): プレイヤーの動きと射撃を更新するためにフレームごとに実行する関数。
  • プレイヤーの移動:move_and_slide() を使用して、移動キー ("move_right"、"move_left"、"move_down"、"move_up") からの入力に基づいて移動を計算します。
  • プレイヤーの射撃: 射撃 (「撃つ」) の入力を検出し、プレイヤーの位置に弾丸オブジェクトをインスタンス化し、その方向をマウス カーソルの方向に設定し、速度を適用して射撃をシミュレートします。

ゲームプレイの強化

敵の AI、パワーアップ、より複雑なレベル デザインを追加してゲームを拡張します。サウンド効果、視覚効果、UI 要素を実装して、洗練されたゲーム体験を作成します。

結論

このコード例を使用して、Godot でトップダウン シューティング ゲームの基礎を構築し始めました。さまざまなメカニズムと機能を試して独自のゲームを作成し、さらに開発を進めるためにより高度な Godot 機能を調べてください。