物理シミュレーションを簡単なゲーム的なものでやってみたいという内容でChatGPTへ相談したところ、数回の対話でそれなりに具体的なアイデアになった。始めるに当たってひとまずUnityを入れてみた。WindowsからLinuxへ切り替えてから初導入。その前に、まずはChatGPTと一緒にまとめたゲーム企画を記録しておく:
企画概要メモ
タイトル
「Launch Condition」(仮称)
 |
| ChatGPT謹製の画像だが他の著作物を参考に作られている気がする |
その他にも色々候補はあったが、ネット検索して他のゲーム等と被らなそうな一般的にな名称にした。
概要
ロケットを一度だけ打ち上げ、発射後は一切操作せずに物理挙動を見守る 2D 物理シミュレーション型ゲームである。プレイヤーが行う操作は発射前の条件設定のみ。射角・推力・燃焼時間といった初期条件を与え、結果はすべて物理法則に委ねられる。「操作しないこと」そのものをゲーム性とし、軌道の成否や美しさを観測する体験を提供する。
コンセプト
プレイヤーは操縦者ではなく、
初期条件を与える設計者兼観測者となる。
基本構成
- 2D 画面構成
- 地球上からロケットを発射
- 初期段階では地球上ターゲットへの到達を目的とする
- 地球・月などの天体は重力体として扱う
- ロケットには以下の力が作用する
- 燃焼終了後は慣性と重力のみで運動を継続
拡張想定
- 月、火星など他惑星をターゲットとして追加
- ステージ範囲拡大時には太陽の重力も考慮
- 複数重力源による軌道の歪み、重力アシストの自然発生
- 2段階・3段階噴射による軌道投入要素の追加
単一の物理モデルを維持したまま、段階的にスケール可能。
実装イメージ
- 2D 構成
- 物理計算は自前実装
- Unity を用いた軽量な構成
- 少数スクリプトで完結するミニマル設計
キャッチコピー
一発の選択が、すべてを決める。
操作しないからこそ、軌道そのものがゲームになる。
上記企画を進めるべくUnityのインストールを進める。公式ホームページの手順に沿ってインストール自体は問題なかったが、Project作成が上手く行かないトラブルの解決に少々苦戦。
Unity導入まで
公式ホームページ手順に沿ってインストール
(base) xxxx@xxxx-desktop:~$ sudo apt-get install curl
[sudo: authenticate] Password:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
curl はすでに最新バージョン (8.14.1-2ubuntu1) です。
Solving dependencies... 完了
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
Keyringsの設定:
(base) xxxx@xxxx-desktop:~$ sudo install -d /etc/apt/keyrings
(base) xxxx@xxxx-desktop:~$ curl -fsSL https://hub.unity3d.com/linux/keys/public | sudo gpg --dearmor -o /etc/apt/keyrings/unityhub.gpg
(base) xxxx@xxxx-desktop:~$ sudo apt update
無視:1 https://repo.vivaldi.com/stable/deb stable InRelease
取得:2 https://repo.steampowered.com/steam stable InRelease [3,622 B]
ヒット:3 https://repo.vivaldi.com/stable/deb stable Release
取得:5 http://security.ubuntu.com/ubuntu questing-security InRelease [136 kB]
ヒット:6 http://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_24.04 InRelease
ヒット:7 http://archive.ubuntu.com/ubuntu questing InRelease
取得:8 http://archive.ubuntu.com/ubuntu questing-updates InRelease [136 kB]
取得:9 http://security.ubuntu.com/ubuntu questing-security/main amd64 Components [444 B]
ヒット:11 https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_25.10 ./ InRelease
取得:10 https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local stable InRelease [2,739 B]
取得:12 https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local stable/main amd64 Packages [3,876 B]
取得:13 http://security.ubuntu.com/ubuntu questing-security/universe amd64 Components [10.8 kB]
取得:14 http://security.ubuntu.com/ubuntu questing-security/restricted amd64 Components [212 B]
取得:15 http://security.ubuntu.com/ubuntu questing-security/multiverse amd64 Components [212 B]
取得:16 http://archive.ubuntu.com/ubuntu questing-updates/main amd64 Components [38.4 kB]
取得:17 http://archive.ubuntu.com/ubuntu questing-updates/universe amd64 Components [42.1 kB]
取得:18 http://archive.ubuntu.com/ubuntu questing-updates/restricted amd64 Components [212 B]
取得:19 http://archive.ubuntu.com/ubuntu questing-updates/multiverse amd64 Components [212 B]
374 kB を 3秒 で取得しました (139 kB/s)
パッケージはすべて最新です。
Notice: Some sources can be modernized. Run 'apt modernize-sources' to do so.
Unity Hubのインストール
(base) xxxx@xxxx-desktop:~$ sudo apt install unityhub
Installing:
unityhub
Summary:
Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 0
Download size: 176 MB
Space needed: 484 MB / 326 GB available
取得:1 https://hub-dist.unity3d.com/artifactory/hub-debian-prod-local stable/main amd64 unityhub amd64 3.16.2 [176 MB]
176 MB を 8秒 で取得しました (21.8 MB/s)
以前に未選択のパッケージ unityhub を選択しています。
(データベースを読み込んでいます ... 現在 277296 個のファイルとディレクトリがインストールされています。)
.../unityhub_3.16.2_amd64.deb を展開する準備をしています ...
unityhub (3.16.2) を展開しています...
unityhub (3.16.2) を設定しています ...
update-alternatives は /usr/bin/update-alternatives です
update-alternatives: /usr/bin/unityhub (unityhub) を提供するために自動モードで /opt/unityhub/unityhub を使います
hicolor-icon-theme (0.18-2) のトリガを処理しています ...
desktop-file-utils (0.28-1) のトリガを処理しています ...
ひとまずのインストールは完了。
 |
| アプリケーションメニュー > 開発の中にショートカットが作成された |
 |
| Sign In を押すとブラウザが開き認証画面に進む |
 |
| ライセンス取得のため[Agree]したら、Unity Editorをインストール |
ここまでは至って順調だが、実際に使い始めるとおそらくLinux(しかも現時点ではサポートされていない25.10特有の問題も発生。
Projectの作成ができるようにするための修正
Projectを作成し本来はEditorが起動するところで問題発生。作成したはずのProjectはフォルダを見に行くと実際には何も作成されず。ネットを調べてみると既に解決策も発見されていた。
エラーを読み取るため、コマンドラインからUnity Hubを起動:
(base) xxxx@xxxx-desktop~$ ./Unity/Hub/Editor/6000.3.9f1/Editor/Unity
./Unity/Hub/Editor/6000.3.9f1/Editor/Unity: error while loading shared libraries: libxml2.so.2: cannot open shared object file: No such file or directory
libxml2というライブラリのバージョンがUnityで上手く使えていないようで、リンクさせると良いらしい。いまいち意味合いも理解できていないが、記載されていたインストラクションを参考に下記コマンドを実行。(Pathに"x86_64-linux-gnu/"を追加する必要が合った)
(base) xxxx@xxxx-desktop~$ sudo ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.16 /usr/lib/x86_64-linux-gnu/libxml2.so.2
グラフィック関連の修正
上記でProjectファイルは作成されるようになり、起動しようとする画面は出るようになったが、Unity Editor起動時にグラフィック初期化エラーとなっている様子。Kubuntu(Wayland)をUnityが正式サポートしていないことが要因か分からなかったが、とにかく現状ではGPUを使用しない方法をとるしかなさそう。
Unity Community: Unity fails to launch editor (Ubuntu 25.10)
色々やり方はありそうだったが、ひとまず下記の環境変数設定だけでEditorは起動するようになった。起動オプションをいくつかつける方法でも問題なさそう。
環境変数:
LIBGL_ALWAYS_SOFTWARE=1
UNITY_DISABLE_VULKAN=1
起動オプション:
unityhub \
--disable-gpu \
--disable-features=VaapiVideoDecoder \
--enable-unsafe-swiftshader
ひとまずEditorの起動まではできるようになった。(ここまでなんだかんだで半日くらい要した)
 |
| 時々出てくれるEditor起動画面。なかなか上記のような画像はでず大抵はブラックアウト状態 |
 |
| 20-30秒ほどEditor起動画面で放置すると起動 |
「Launch Condition」の作成に向けてまずはUnityの習得をすべく、Tutorialを進めていく: