このページの目的は 「とにかく動く状態」を 5 分で作る ことです。 ゲームの作り方や設計の話はあとで来てもらえれば大丈夫。まずは画面が開くところまで一緒に行きます。
必要なもの
| ツール | バージョンの目安 | ひとこと |
|---|---|---|
| Go | 1.22 以降 | mitiru CLI を入れるために使います。 |
| C++ コンパイラ | MSVC 2022 / GCC 13+ / Clang 18+ | C++20 が通るやつ。mitiru build が裏で呼びます。 |
| CMake | 3.21 以降 | 同上。直接触ることはありません。 |
| Git | わりと新しめ | submodule もあるので、古すぎなければ OK。 |
Windows のひと
Visual Studio 2022 を入れて、「C++ によるデスクトップ開発」ワークロードを選んでおけば、コンパイラと CMake と Git がまとめて入ります。Go は go.dev/dl からどうぞ。
Linux のひと
sudo apt install golang-1.22 cmake g++-13 git
Mac のひと
brew install go cmake
Xcode 付属の Clang は新しいので、それで足ります。
mitiru CLI を入れる
go install github.com/mogmog-0110/mitiru-cli/cmd/mitiru@latest
$GOPATH/bin (デフォルトは $HOME/go/bin) に mitiru バイナリが入ります。PATH が通っていれば、すぐに使えます。
確認:
mitiru version
mitiru: command not found と出たら PATH の問題です。go env GOPATH で出てきたパスの bin/ を PATH に追加してください。
3 コマンドで動かす
# 1. プロジェクトを作る
mitiru new my-game
cd my-game
# 2. ビルドして実行
mitiru run
これだけで MitiruEngine のウィンドウが開きます。お疲れさまでした。
初回は engine の取得 + CMake configure で 1〜2 分くらいかかります。2 回目以降は差分ビルドだけなので秒で立ち上がります。
よく使うコマンド
| コマンド | やること |
|---|---|
mitiru new <name> |
テンプレートから新しいプロジェクトを作る |
mitiru build |
ビルドだけ。実行はしない。 |
mitiru run |
ビルドして実行 |
mitiru clean |
build/ を消して configure からやり直す |
mitiru doctor |
環境チェック (Go / CMake / コンパイラの版) |
mitiru version |
CLI のバージョン |
mitiru.toml に何が書いてあるか
mitiru new が生成するマニフェスト:
[project]
name = "my-game"
version = "0.1.0"
engine = "0.1.0"
[window]
title = "my-game"
width = 1280
height = 720
vsync = true
[cef]
start_url = "assets/scene.html"
skip_default_font = true
[build]
backend = "auto"
[window]— ウィンドウのタイトルとサイズ。C++ 側でハードコードしなくて済みます。[cef]— Mode B (CEF 併用) で最初に読む HTML。Mode A 純 C++ なら無視されます。[build] backend—autoでプラットフォームから自動選択。明示するならdx11/vulkan/webgl2/null等。
次に何を見るか
走り出した後の道は 3 本あります。
A. もう少し動くものを触りたい
- チュートリアル を頭から順に進めながら、
include/mitiru/以下のヘッダを覗いて API の感触を掴むのがおすすめです。
B. 自分のゲームをつくり始めたい
- チュートリアル を頭から順番に。
- まずは 小さな会話シーン を作るところから始めます。15 分くらいで一通り動きます。エンジン自体は特定ジャンルに寄せた設計ではないので、ここで覚えたことはアクション、RPG、シミュレーション、どのジャンルにも応用できます。
C. 設計の考え方を理解しておきたい
- アーキテクチャ を読んでください。
- 「なぜ C++ と CEF を分けたか」「3 層の役割分担」「パフォーマンス特性」など、迷ったときの判断の根っこになる説明が一通り並んでいます。
ハマったとき
| 症状 | たぶんこれ |
|---|---|
mitiru: command not found |
$HOME/go/bin が PATH にない。go env GOPATH で確認。 |
mitiru doctor で CMake が見つからない |
CMake 3.21 以上を入れる。 |
mitiru build で C++20 系のエラー |
コンパイラが古い。MSVC 2022 / GCC 13+ / Clang 18+ に。 |
| 初回 build が異様に遅い | FetchContent が submodule を取りに行っています。1〜2 分は普通。 |
Windows でリンカが libcef.dll を見つけられない |
mitiru build をやり直すと CEF ランタイムが exe の隣にコピーされます。 |
それでも詰まったら、GitHub の Issue に投げてください。再現手順と OS / Go バージョンが書いてあるとめちゃくちゃ助かります。