VSCodeでゲーム開発はできる?

採用はこちら

VSCode(Visual Studio Code)を使ってゲーム開発をすることは可能です。

ただし、VSCodeそのものはUnityやGodotのようなゲームエンジンではありません。
VSCodeは、ゲームのプログラムを書いたり、コードを編集したり、デバッグしたりするためのコードエディターです。

そのため、実際のゲーム開発では、VSCodeをゲームエンジンやゲーム開発用ライブラリと組み合わせて利用するのが一般的です。

例えば、次のような組み合わせがあります。

  • Unity + C# + VSCode
  • Godot + GDScript + VSCode
  • Godot + C# + VSCode
  • Unreal Engine + C++ + VSCode
  • Phaser + JavaScript・TypeScript + VSCode
  • raylib・SDL・SFML + C++ + VSCode

VSCodeは軽量で拡張性が高いため、2Dゲーム、3Dゲーム、Webゲームなど幅広いゲーム開発に利用できます。

目次

VSCodeとゲームエンジンの役割

VSCodeは主にプログラムを書くために使う

VSCodeの主な役割は、ゲーム内で動作するプログラムを書くことです。

例えば、キャラクターを移動させる処理や、敵との当たり判定、スコア計算、ゲームオーバー処理などを記述できます。

また、拡張機能を導入することで、C#、C++、JavaScript、TypeScriptなどさまざまなプログラミング言語に対応できます。

ゲームエンジンでは画面やオブジェクトを作成する

UnityやGodot、Unreal Engineなどのゲームエンジンでは、主に次のような作業を行います。

  • キャラクターを配置する
  • ステージを作成する
  • カメラを設定する
  • ライトを設定する
  • 物理演算を設定する
  • アニメーションを設定する
  • UIを配置する

そのうえで、ゲームの細かな動作を制御するプログラムをVSCodeで記述するという使い方ができます。

VSCodeでゲーム開発を始める基本的な流れ

ゲームエンジンや開発方法を決める

最初に、どの方法でゲームを作るか決めます。

ゲームエンジンによって使用するプログラミング言語や開発手順が異なるためです。

例えば、C#を使いたい場合はUnity、比較的シンプルな言語から始めたい場合はGodot、Webブラウザ上で動くゲームを作りたい場合はPhaserなどが候補になります。

VSCodeをインストールする

続いてVSCodeをインストールします。

VSCodeでは、使用するゲームエンジンやプログラミング言語に応じて拡張機能を追加できます。

Windowsでは、次のショートカットで拡張機能画面を開けます。

Ctrl + Shift + X

必要な拡張機能だけをインストールすると、VSCodeを軽快に使いやすくなります。

ゲームプロジェクトを作成する

ゲームエンジンを利用する場合は、UnityやGodotなどから新しいプロジェクトを作成します。

Webゲームの場合は、VSCodeでプロジェクトフォルダーを作り、HTML、CSS、JavaScriptなどのファイルを作成します。

プログラムを書く

プロジェクトを作成したら、VSCodeでゲームの処理を書いていきます。

例えば、次のような機能を順番に実装していきます。

  • キャラクターを動かす
  • ジャンプさせる
  • 敵を出現させる
  • 当たり判定を作る
  • HPを設定する
  • スコアを表示する
  • ゲームオーバー処理を作る

最初から大規模なゲームを作ろうとせず、機能を一つずつ追加する方が理解しやすくなります。

UnityとVSCodeでゲーム開発する方法

UnityはC#を使ってゲームを作れる

Unityは、2Dゲームと3Dゲームの両方に対応したゲームエンジンです。

ゲーム内の処理は主にC#で記述します。

そのため、UnityとVSCodeを組み合わせる場合は、次の構成になります。

Unity
+
C#
+
VSCode

C#も学びながらゲームを作りたい場合に適した開発環境です。

Unity Hubからプロジェクトを作成する

Unityを利用する場合は、一般的にUnity HubからUnity Editorをインストールします。

Unity Hubでは、Unity Editorのバージョン管理やプロジェクト管理などを行えます。

新しいゲームを作る場合は、Unity Hubから新規プロジェクトを作成します。

2Dゲームなら2D用テンプレート、3Dゲームなら3D用テンプレートを選択します。

VSCodeにUnity向け拡張機能を導入する

VSCodeでUnityのC#コードを扱う場合は、Microsoftが提供しているUnity向け拡張機能を利用できます。

拡張機能を導入すると、コード補完やC#関連の開発機能を利用しやすくなります。

不要なC#系拡張機能を大量に追加すると競合する場合もあるため、まずは必要なものだけを導入することが重要です。

UnityでC#スクリプトを作成する

Unityでは、ProjectウィンドウなどからC#スクリプトを作成できます。

例えば、次のようなファイル名にします。

PlayerController.cs

ファイルをVSCodeで開けば、キャラクター制御などの処理を書けます。

Unityの入力処理ではInput Systemを確認する

Unityでは、キーボードやゲームパッドなどの入力を扱う方法が複数あります。

以前から利用されているコードとして、次のようなものがあります。

float x = Input.GetAxis("Horizontal");

ただし、これは従来型のInput Managerを利用する方法です。

現在のUnityで新しくゲームを作る場合は、Input Systemを利用する構成も一般的です。

そのため、インターネット上の古いチュートリアルを参考にするときは、Input Managerを利用しているのか、Input Systemを利用しているのか確認するとよいでしょう。

GodotとVSCodeでゲーム開発する方法

Godotは初心者にも使いやすいゲームエンジン

Godotは、無料で利用できるオープンソースのゲームエンジンです。

2Dゲームと3Dゲームの両方を制作できます。

主に使用される言語として、GDScriptとC#があります。

C++についてもGDExtensionなどを通じて利用できます。

初心者ならGDScriptから始めやすい

GDScriptはGodot向けに設計されたプログラミング言語です。

Pythonに似たシンプルな構文を持っており、ゲームプログラミング初心者でも比較的学習しやすい特徴があります。

例えば、2Dキャラクターを左右に動かす処理は次のように書けます。

extends CharacterBody2D

var speed = 300.0

func _physics_process(delta):
    var direction = Input.get_axis("ui_left", "ui_right")

    velocity.x = direction * speed

    move_and_slide()

Godot Editorでシーンやキャラクターを作成し、スクリプトをVSCodeで編集するといった使い方ができます。

C#を使用する場合は.NET版Godotを利用する

GodotでC#を使う場合は、.NET対応版のGodot Editorを利用します。

通常版と.NET版では利用できる開発環境が異なるため、C#を使いたい場合はダウンロード時に確認する必要があります。

また、C#を利用する場合は.NET SDKなどの開発環境も必要になります。

VSCodeを外部エディターとして設定する

Godotでは、VSCodeを外部スクリプトエディターとして利用できます。

GDScriptなどの外部エディター設定では、GodotのEditor Settingsから外部エディターを指定できます。

C#の場合はDotnet関連のEditor設定からVSCodeを指定する方法があります。

GDScriptとC#では設定場所が異なる場合があるため、使用する言語に合わせて設定してください。

GodotでC#を使う場合は出力先にも注意する

Godotでは、使用する言語によって対応するプラットフォームやエクスポート環境が異なる場合があります。

特にブラウザゲームとして公開したい場合は、C#プロジェクトのWebエクスポート対応状況を確認してから開発を始めることが重要です。

ブラウザ向けゲームを作る予定なら、使用するGodotのバージョンとエクスポート先の対応状況を事前に確認しておくと安全です。

参考サイト

【Godot4.x】VSCodeと連携する方法 – 2dgames.jp

Unreal EngineとVSCodeでゲーム開発する方法

Unreal EngineではC++とBlueprintを利用できる

Unreal Engineは、本格的な3Dゲームや高品質なグラフィック表現を得意とするゲームエンジンです。

主に、次の2つを利用してゲームを制作します。

  • C++
  • Blueprint

Blueprintはビジュアルスクリプティングシステムで、ノードを接続しながらゲームの処理を作成できます。

複雑な処理や低レベルな制御ではC++が利用されます。

Unreal EngineでもVSCodeを利用できる

Unreal EngineではVSCodeをコードエディターとして利用できます。

ただし、特にWindowsでC++を扱う場合は、UnityやGodotより開発環境の構築が複雑になる傾向があります。

C++コンパイラーやビルド環境などを別途準備する必要があるためです。

VSCodeとC++コンパイラーは別物

VSCodeにC/C++拡張機能をインストールしただけでは、C++コンパイラーが導入されるわけではありません。

C++をビルドするには、環境に応じて次のようなコンパイラーが必要です。

MSVC
GCC
Clang

VSCodeはコードを書くためのエディターであり、C++を機械語へ変換するコンパイラーとは別のツールです。

C++ゲーム開発では、この違いを理解しておくことが重要です。

C++とVSCodeでゲームを作る方法

ゲームエンジンを使わずに開発することもできる

C++では、Unreal Engine以外にもゲーム開発用のライブラリを利用できます。

代表的なものとして、次のようなものがあります。

  • raylib
  • SDL
  • SFML
  • OpenGL
  • DirectX

例えばraylibを利用すると、比較的シンプルな構成で2Dゲームなどを制作できます。

ゲームエンジンの機能に頼らず、ゲームループや描画処理などを学びたい場合にも適しています。

初心者にはC++の環境構築が難しい場合がある

C++では、VSCode以外にもコンパイラーやデバッガー、ビルドシステムなどを設定する必要があります。

そのため、ゲーム開発そのものを初めて学ぶ人にとっては、GodotのGDScriptやUnityのC#より環境構築の難易度が高くなる場合があります。

C++を学ぶこと自体が目的であれば有力な選択肢ですが、まずゲームを完成させたい場合はUnityやGodotの方が始めやすいケースもあります。

JavaScript・TypeScriptでWebゲームを開発する方法

VSCodeはWebゲーム開発との相性もよい

HTML、CSS、JavaScriptを使えば、Webブラウザ上で動作するゲームを制作できます。

この場合、大規模なゲームエンジンをインストールしなくても開発を始められます。

例えば次のようなファイル構成で作成できます。

game-project/
├─ index.html
├─ style.css
└─ game.js

VSCodeでコードを書き、Webブラウザでゲームを実行できます。

Canvas APIだけでも簡単なゲームを作れる

JavaScriptのCanvas APIを利用すれば、ブラウザ上に図形やキャラクターを描画できます。

例えば、次のようなコードで四角形を移動させられます。

const canvas = document.querySelector("canvas");
const ctx = canvas.getContext("2d");

let x = 100;

function update() {
    x += 1;

    ctx.clearRect(0, 0, canvas.width, canvas.height);
    ctx.fillRect(x, 100, 50, 50);

    requestAnimationFrame(update);
}

update();

これはアニメーションの基本的な例です。

実際のゲームではフレームレートによって移動速度が変わらないように、経過時間を利用して移動量を計算する方法も使われます。

Phaserを利用して2Dゲームを作る

Phaserは、Webブラウザ向けの2Dゲームを開発するためのフレームワークです。

JavaScriptやTypeScriptを利用してゲームを制作できます。

2Dアクションゲーム、シューティングゲーム、パズルゲームなどをWeb上で公開したい場合に利用できます。

PixiJSは2D描画に向いている

PixiJSは、高性能な2D描画を行うためのレンダリングライブラリです。

ゲーム制作にも利用できますが、Phaserのような総合的なゲームフレームワークとは役割が異なります。

物理演算やゲームロジックなどについては、必要に応じて別の機能やライブラリを組み合わせます。

Three.jsは3D表現に向いている

Three.jsは、Webブラウザ上で3Dグラフィックスを扱うためのJavaScriptライブラリです。

3Dゲームやインタラクティブな3Dコンテンツを制作するときに利用できます。

Phaser、PixiJS、Three.jsは役割が異なるため、作りたいゲームに合わせて選択することが重要です。

VSCodeでゲームをデバッグする方法

Run and Debugを利用する

VSCodeにはデバッグ機能があります。

Windowsでは次のショートカットからRun and Debug画面を開けます。

Ctrl + Shift + D

ブレークポイントを設定すると、プログラムを特定の場所で停止させながら処理を確認できます。

ブレークポイントで変数の状態を確認する

ゲーム開発では、例えば次のような問題が起こります。

  • キャラクターが動かない
  • HPが正しく減らない
  • 敵が出現しない
  • 当たり判定が動作しない
  • スコアが正しく増えない

ブレークポイントを利用すれば、処理を一時停止して変数の値や関数の呼び出し状況を確認できます。

デバッグ設定はゲームエンジンによって異なる

VSCodeのデバッグ機能を利用する方法は、Unity、Godot、Unreal Engineなどによって異なります。

ゲームエンジンによっては専用の拡張機能やlaunch.jsonなどの設定が必要になる場合があります。

そのため、VSCodeだけの設定を見るのではなく、使用しているゲームエンジン側のデバッグ方法も確認することが重要です。

VSCodeでGitを使ってゲームプロジェクトを管理する

ゲーム開発でもGitを利用すると便利

ゲーム制作では、Gitを利用してソースコードの変更履歴を管理すると便利です。

Gitを導入すると、例えば次のようなことができます。

  • 過去の状態へ戻す
  • 新しい機能を別ブランチで開発する
  • チームでコードを共有する
  • 変更履歴を確認する

VSCodeにはGitとの連携機能が搭載されているため、Source Control画面から変更内容を確認したりコミットしたりできます。

自動生成ファイルは.gitignoreで除外する

ゲームエンジンでは大量の自動生成ファイルが作成されます。

Unityでは、例えば次のようなディレクトリがあります。

Library
Temp
Logs
obj

これらは通常、すべてGitへ保存する必要はありません。

不要なファイルを.gitignoreで除外することで、リポジトリ容量の増加や不要な競合を防ぎやすくなります。

ゲームエンジンごとに適切な.gitignoreテンプレートを利用すると安全です。

大きなゲーム素材ではGit LFSも検討する

ゲーム開発では、画像、音声、動画、3Dモデルなど容量の大きなファイルを扱うことがあります。

通常のGitで大量の大容量バイナリファイルを管理すると、リポジトリ容量が大きくなる場合があります。

そのため、大規模なプロジェクトではGit LFSの利用を検討することもあります。

VSCodeでゲーム開発するときにおすすめの環境

プログラミング初心者ならGodot

ゲーム開発とプログラミングの両方を初めて学ぶ場合は、GodotとGDScriptの組み合わせが比較的始めやすい選択肢です。

GDScriptは構文がシンプルで、Godotとの統合も強いため、ゲーム制作そのものに集中しやすい特徴があります。

C#も学びたいならUnity

C#を学びながらゲーム開発をしたい場合は、Unityが有力です。

2Dゲームと3Dゲームの両方を制作でき、C#を使ったプログラミングを幅広く学べます。

本格的な3DゲームならUnreal Engine

グラフィック表現を重視した3Dゲームを作りたい場合は、Unreal Engineが候補になります。

Blueprintだけでも多くの処理を作れますが、より高度な開発ではC++も利用します。

ただし、C++や開発環境の知識も必要になるため、初心者にとってはUnityやGodotより学習難易度が高くなることがあります。

WebゲームならPhaserなどを利用する

ゲームをWebサイト上で公開したい場合は、JavaScriptやTypeScriptを利用したゲーム開発がおすすめです。

2DゲームならPhaser、3D表現ならThree.jsなどを選択できます。

Web制作の経験がある人にとっては、既存のHTML、CSS、JavaScriptの知識を活かしやすい方法です。

初心者が最初に作るゲームは小規模なものがおすすめ

いきなり大作を作らない

初めてゲームを作る場合、RPGやオンラインゲームのような大規模作品から始めると、必要な機能が多すぎて挫折しやすくなります。

最初は小規模なゲームから始めるのがおすすめです。

例えば、次のようなゲームがあります。

  • Pong
  • ブロック崩し
  • シューティングゲーム
  • パズルゲーム
  • 簡単な2Dアクションゲーム

機能を一つずつ追加する

例えば2Dアクションゲームなら、次のような順番で作ると理解しやすくなります。

プレイヤーを表示する
↓
左右に動かす
↓
ジャンプさせる
↓
地面との当たり判定を作る
↓
敵を配置する
↓
HPを追加する
↓
スコアを追加する
↓
ゲームオーバーを作る
↓
タイトル画面を作る

このように一つずつ機能を追加すれば、どのコードが何をしているのか理解しやすくなります。

VSCodeでゲーム開発するときによくあるトラブル

コード補完が表示されない

VSCodeでコード補完が表示されない場合は、使用している言語の拡張機能や言語サーバーが正常に動作していない可能性があります。

確認するポイントとしては、次のようなものがあります。

  • 必要な拡張機能がインストールされているか
  • プロジェクトフォルダーを正しく開いているか
  • 必要なSDKがインストールされているか
  • ゲームエンジンとの連携設定が正しいか

VSCodeやゲームエンジンを再起動するだけで改善する場合もあります。

VSCodeから直接ゲームを実行できない

ゲームエンジンによっては、ゲームの実行をVSCodeではなくゲームエンジン側から行います。

例えば、UnityではUnity Editor、GodotではGodot Editorからゲームを実行できます。

VSCodeは主に、コード編集やデバッグを担当するものと考えると分かりやすいでしょう。

C++コードを実行できない

C++の場合、VSCodeの拡張機能だけではプログラムをビルドできません。

MSVC、GCC、Clangなどのコンパイラーが正しくインストールされているか確認してください。

また、ビルド設定や環境変数などが原因になる場合もあります。

VSCodeでゲーム開発する場合のおすすめ構成

目的別に考えると、次のような構成があります。

目的おすすめの構成
プログラミング初心者Godot + GDScript + VSCode
C#を学びたいUnity + C# + VSCode
2Dゲームを作りたいGodot / Unity / Phaser
3Dゲームを作りたいUnity / Godot / Unreal Engine
高品質な3D表現を重視したいUnreal Engine
Webブラウザ向け2DゲームPhaser + JavaScript / TypeScript
Webブラウザ向け3DゲームThree.jsなど
C++を学びながらゲームを作りたいraylib / SDL / SFML
大規模なC++ゲーム開発Unreal Engine

必ず「GodotからUnity、その後Unreal Engine」という順番で学習する必要はありません。

作りたいゲームや学びたい言語から開発環境を選ぶことが重要です。

VSCodeでゲーム開発をする方法のまとめ

VSCodeはゲームエンジンではありませんが、さまざまなゲーム開発環境と組み合わせて利用できます。

代表的な構成としては、次のようなものがあります。

Unity + C# + VSCode

Godot + GDScript + VSCode

Godot + C# + VSCode

Unreal Engine + C++ + VSCode

Phaser + JavaScript / TypeScript + VSCode

raylib・SDL・SFML + C++ + VSCode

初心者でプログラミングそのものから学びたい場合はGodotとGDScript、C#も学びたい場合はUnityが始めやすい選択肢です。

本格的な3Dゲームを制作したい場合はUnreal Engine、Webブラウザ上で遊べるゲームを作りたい場合はPhaserやThree.jsなども利用できます。

重要なのは、最初から大規模なゲームを完成させようとせず、小さなゲームを作りながらVSCodeの操作、プログラミング、ゲームエンジンの使い方を少しずつ身につけることです。

キャラクターを動かす、当たり判定を作る、スコアを表示するといった基本機能から順番に実装していけば、VSCodeを使ったゲーム開発の流れを効率よく学べます。

以上、VSCodeでゲーム開発はできるのかについてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次