はじめに

mitiru CLI でプロジェクトを作って、最初のウィンドウが開くまで。だいたい 5 分です。

このページの目的は 「とにかく動く状態」を 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] backendauto でプラットフォームから自動選択。明示するなら dx11 / vulkan / webgl2 / null 等。

次に何を見るか

走り出した後の道は 3 本あります。

A. もう少し動くものを触りたい

  • チュートリアル を頭から順に進めながら、include/mitiru/ 以下のヘッダを覗いて API の感触を掴むのがおすすめです。

B. 自分のゲームをつくり始めたい

  • チュートリアル を頭から順番に。
  • まずは 小さな会話シーン を作るところから始めます。15 分くらいで一通り動きます。エンジン自体は特定ジャンルに寄せた設計ではないので、ここで覚えたことはアクション、RPG、シミュレーション、どのジャンルにも応用できます。

C. 設計の考え方を理解しておきたい

  • アーキテクチャ を読んでください。
  • 「なぜ C++ と CEF を分けたか」「3 層の役割分担」「パフォーマンス特性」など、迷ったときの判断の根っこになる説明が一通り並んでいます。

ハマったとき

症状 たぶんこれ
mitiru: command not found $HOME/go/binPATH にない。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 バージョンが書いてあるとめちゃくちゃ助かります。