0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rust製ゲームエンジンBevy #1 環境構築

0
Last updated at Posted at 2026-07-11

前置き

巷では、「型安全で軽量」と言われているRust。
一度ちゃんと触ってみたいと思っていました。ただ、なかなか触る機会がなく、、、
RustでゲームがつくれるBevyというエンジンを見つけたので環境構築から初めてみたいと思います。

(余談)
Bevy自体はWindowsでも普通に動きますが、どうせやるならとWSL2上に構築することにしました。本記事は、他のプロジェクトでも流用できるようBevyプロジェクトの汎用的な作成手順を備忘を兼ねてまとめておきます。ちなみにBevyはコードドリブンな設計が売りなようで、専用のMCPサーバーなどをわざわざ用意しなくても、AIによるコーディング支援の恩恵をそのまま受けやすいはず。。。

1. Rustのインストール

以下のサイトを参照

1-1. 前提条件

  • ページ中段におけるWSL (Windows Subsystem for Linux)へのインストールとする。
    image.png
  • 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」と入力するのがお手軽。
image.png
起動すると以下のようなターミナルが表示。
image.png

依存パッケージのインストール

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

インストール完了後はシェルを再起動するようにメッセージが表示される。
image.png
再起動(WSLの場合)

  1. コマンドプロンプトを開く
  2. wsl --shutdownを実行
  3. WSLを起動

1-4. 環境変数の設定

source %HOME/ .cargo/env

1-5. インストールの確認

rustc --versionを実行する。
正常にインストールが完了している場合、以下の通り画像が表示される。
※本環境では1.96.1 (31fca3adb 2026-06-26)
活発なだけあって早い(インストールは2026年7月6日)
image.png

2. VSCodeのセットアップ

Microsoft StoreよりVS Codeをインストール

2-1.拡張機能インストール

①WSL(拡張機能)

VSCodeを起動後、左ペインの「拡張機能(Extensions)」のマークをクリックする。
検索ボックスより「wsl」を検索
「Install」ボタンがあるはずなのでクリックしてインストール※画像はインストール済
image.png

②rust-analyzer

同じようにrust-analyzerをインストール
image.png

③(オプション)Japanese ~VSCodeの日本語化~

image.png

~ 蛇足  WSLへの接続方法

ウィンドウ左下の「><」マークをクリックする。
画面上部の「WSLへの接続」をクリックする。
image.png

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

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

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」を編集する。
※手動の場合はこっち

image.png

③コンパイルの高速化(必須)

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」に以下を追記する。

/cargo.toml
[features]
dynamic_linking = ["bevy/dynamic_linking"]

ビルド時に --features dynamic_linkingを指定する。

方法B. 永続的に動的リンクを設定
以下のコマンドを実行する。
cargo add bevy -F dynamic_linking

コマンド実行後、「Cargo.toml」が次のように編集される。
※戻すときはbevy = "0.19.0"

/cargo.toml
[dependencies]
bevy = { version = "0.19.0", features = ["dynamic_linking"] }

⑤代替リンク(オプション)

LLDのインストール

WSL上で以下のコマンドを実行する。
sudo apt-get install lld clang

設定ファイルの追加

同ディレクトリにおいて、「.cargo」フォルダを作成する。
config.tomlファイルを作成し、以下を追記する。

/.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

実行結果(デフォルトだとHello World!!)
image.png

おまけ ~公式サンプルの実行

せっかくなので、公式が用意しているサンプルを実行してみる。
※本記事で作成したプロジェクトは使用しない。
以下のコマンドを実行する。
git clone https://github.com/bevyengine/bevy

フォルダが作成されるため、必ず、ディレクトリを移動してから実行すること。

以下のサイトに記載のサンプルが実行できる模様

ブロック崩し

cargo run --example breakout

エラー出てたけど、動いた。
image.png

音が出ない
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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?