「遊べるアプリ」と「アプリを作るコード」は違う
提示された内容は、ブロックを置いたり壊したりして探索する、Android向け3Dゲームのプロジェクト生成スクリプトだ。説明文では、タッチ操作、インベントリ、クラフト、セーブのほか、体力・空腹、水中での行動、昼夜、簡易的な敵、自由に建築できるモードを目指している。一方、マルチプレイやレッドストーンに相当する仕組み、別次元は含まないとしている。
重要なのは、APKが提供されたわけではないこと。示されたコードも途中で途切れているため、この情報だけで完成品としてビルドできるか、スマートフォンで快適に動くかは判断できない。
コードから読み取れる構成
スクリプトはGradleの設定、Androidのマニフェスト、Javaの画面・ゲーム処理を含むプロジェクトを作る構成だ。ゲーム側には、64×32×64ブロックのワールド、地形生成、ブロックの配置・採掘、画面上の移動スティックや操作ボタンなどが記述されている。表示される操作案内はアラビア語で、日本語UIではない。
3D描画にはOpenGL ES 2.0のGLSurfaceViewを使う設計になっている。Androidの資料でも、GLSurfaceViewには描画を担当するRendererを設定し、画面の一時停止・再開に合わせて描画側にも通知する必要があると説明されている。
9
2 タッチ入力から描画スレッドへ処理を渡すqueueEvent()も、公式資料に記載された方法だ。
5
ビルド前に確認したいこと
設定に書かれているAndroid Gradle Pluginは8.7.3で、GoogleのAPIリファレンスにも過去のリリースとして掲載されている。
4 AGP 8.7系はAPIレベル35に対応し、Gradle 8.9とJDK 17を要件としている。
8 JDK 17はAGP 8.0以降でGradleを動かすために必要となった。
7
つまり、これはブロックゲーム制作の出発点となるコード案だ。まず省略されていない全ファイルをそろえ、指定された開発環境でビルドし、操作や保存を実機で確かめる必要がある。