前置き
巷では、「型安全で軽量」と言われているRust。
一度ちゃんと触ってみたいと思っていました。ただ、なかなか触る機会がなく、、、
RustでゲームがつくれるBevyというエンジンを見つけたので環境構築から初めてみたいと思います。
(余談)
Bevy自体はWindowsでも普通に動きますが、どうせやるならとWSL2上に構築することにしました。本記事は、他のプロジェクトでも流用できるようBevyプロジェクトの汎用的な作成手順を備忘を兼ねてまとめておきます。ちなみにBevyはコードドリブンな設計が売りなようで、専用のMCPサーバーなどをわざわざ用意しなくても、AIによるコーディング支援の恩恵をそのまま受けやすいはず。。。
1. Rustのインストール
以下のサイトを参照
1-1. 前提条件
- ページ中段におけるWSL (Windows Subsystem for Linux)へのインストールとする。
- Rustのバージョン指定は行わずデフォルトバージョンとする。
- WSLは構築済みのものとする。(Ubuntu)
- WSL上への接続はVS Codeの拡張機能(WSL)を利用する。
- 筆者環境
- ホストマシン
CPU: Intel(R) Core(TM) i7-14700KF (3.40 GHz) RAM: DDR4 32.0 GB GPU: NVIDIA GeForce RTX 5070 (VRAM: 12 GB) OS: Windows 11 Home 25H2(Build: 26200.8655)- WSL
C:\Users\> wsl --version WSL バージョン: 2.5.9.0 カーネル バージョン: 6.6.87.2-1 WSL バージョン: 1.0.66 MSRDC バージョン: 1.2.6074 Direct3D バージョン: 1.611.1-81528511 DXCore バージョン: 10.0.26100.1-240331-1435.ge-release Windows バージョン: 10.0.26200.8655
1-2. 事前準備
以降の作業は基本的にWSL上(もしくはVS Codeのターミナル上)で実施
wslの起動方法は検索窓に「WSL」と入力するのがお手軽。

起動すると以下のようなターミナルが表示。

依存パッケージのインストール
rustの動作に必要となる開発ツールをインストール。
コンパイルに「build-essential」が必要となるためインストール。
また、インストールに使用するためcurlもなければ入れる。
sudo apt update
sudo apt -y upgrade
sudo apt -y install build-essential curl
1-3. インストール
インストールコマンドの実行
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
インストール完了後はシェルを再起動するようにメッセージが表示される。

再起動(WSLの場合)
- コマンドプロンプトを開く
-
wsl --shutdownを実行 - WSLを起動
1-4. 環境変数の設定
source %HOME/ .cargo/env
1-5. インストールの確認
rustc --versionを実行する。
正常にインストールが完了している場合、以下の通り画像が表示される。
※本環境では1.96.1 (31fca3adb 2026-06-26)
活発なだけあって早い(インストールは2026年7月6日)

2. VSCodeのセットアップ
Microsoft StoreよりVS Codeをインストール
2-1.拡張機能インストール
①WSL(拡張機能)
VSCodeを起動後、左ペインの「拡張機能(Extensions)」のマークをクリックする。
検索ボックスより「wsl」を検索
「Install」ボタンがあるはずなのでクリックしてインストール※画像はインストール済

②rust-analyzer
③(オプション)Japanese ~VSCodeの日本語化~
~ 蛇足 WSLへの接続方法
ウィンドウ左下の「><」マークをクリックする。
画面上部の「WSLへの接続」をクリックする。

VSCodeに接続後「ファイル」>「フォルダを開く」からホームディレクトリへ移動
左ペインのどこかを右クリックし、「新しいフォルダ」で作業用のディレクトリをあらかじめ作成しておく。
※本記事では ~/Rust

再度、「ファイル」>「フォルダを開く」をクリックし作成した作業用ディレクトリに移動する。

3. Bevyインストール
以下のサイトを参照
3-1. Bevyの依存パッケージをインストール
WSL上で以下のコマンドを実行する。
sudo apt-get install g++ pkg-config libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0
# optional if you disabled the wayland feature
sudo apt-get install libwayland-dev libxkbcommon-dev
3-2. Bevy用プロジェクトの作成
①プロジェクトの作成
作業用ディレクトリで以下のコマンドを実行する。
cargo new test_bevy
cd test_bevy
②Bevyを依存関係に追加
以下のいずれかを実行する。
cargo add bevy
または、同ディレクトリ内の「Cargo.toml」を編集する。
※手動の場合はこっち
③コンパイルの高速化(必須)
「Cargo.toml」に以下を追記する。
# Enable a small amount of optimization in the dev profile.
[profile.dev]
opt-level = 1
# Enable a large amount of optimization in the dev profile for dependencies.
[profile.dev.package."*"]
opt-level = 3
以下2つの設定はビルドを早めたいときに実施するとよい。
こちらも公式のセットアップ手順に記載
④動的リンク(オプション)
2通りやり方があるが、リリース時に動的ビルドが有効になるとゲームサイズが大きくなりすぎ非推奨らしい。
方法A. ビルドごとに指定
「Cargo.toml」に以下を追記する。
[features]
dynamic_linking = ["bevy/dynamic_linking"]
ビルド時に --features dynamic_linkingを指定する。
方法B. 永続的に動的リンクを設定
以下のコマンドを実行する。
cargo add bevy -F dynamic_linking
コマンド実行後、「Cargo.toml」が次のように編集される。
※戻すときはbevy = "0.19.0"
[dependencies]
bevy = { version = "0.19.0", features = ["dynamic_linking"] }
⑤代替リンク(オプション)
LLDのインストール
WSL上で以下のコマンドを実行する。
sudo apt-get install lld clang
設定ファイルの追加
同ディレクトリにおいて、「.cargo」フォルダを作成する。
config.tomlファイルを作成し、以下を追記する。
# for Linux
[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=lld"]
3-3. 動作テスト
以下のいずれかを実行する。
ターミナルを一瞥してエラー表示がなければOK
cargo run
または
cargo build --features dynamic_linking
おまけ ~公式サンプルの実行
せっかくなので、公式が用意しているサンプルを実行してみる。
※本記事で作成したプロジェクトは使用しない。
以下のコマンドを実行する。
git clone https://github.com/bevyengine/bevy
フォルダが作成されるため、必ず、ディレクトリを移動してから実行すること。
以下のサイトに記載のサンプルが実行できる模様
ブロック崩し
cargo run --example breakout
音が出ない
2026-07-11T15:52:21.430742Z WARN bevy_render::renderer: The selected adapter is using a driver that only supports software rendering. This is likely to be very slow. See https://bevy.org/learn/errors/b0006/
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
→PulseAudioを明示的にインストールしなおすことで解決
apt -y install pulseaudio




