ゲーム開発日誌
まえがき
昔からゲームを作りたいと、そう思っていました。
もちろんGitHub上に公開済のAiraPJのようなWebでの成果物はあるにしろ、Windowsネイティブのいわゆる「ゲーム」を形にしたいという気持ち。
家でゴロゴロとしていると、どうしても集中して時間をとって作業するということができず困っていたところ
ゲームならエンジン問わず、参加してもいい「インディゲームもくもく会」があるということで参加してみることにしました。
3回くらい参加して、これは記録を残しておかないと過去何をやったかわからなくなるぞという危機感からこのページを作成してます。
※日曜日って女児アニメ見たかったりするんだけど、会場によってはこれを後回しにしてまで参加しているというところに熱量を感じてほしい笑
開発日誌
第1回:2026年8月16日(日)半蔵門
10:30~20:00(報告会などを除き実働約7.5h。累積7.5h)
場所は半蔵門のボーンデジタルさん。
技術書が充実していて、なんなら作るのに関係がない記事の本とかちょっと読みたくなってしまったもののぐっとこらえたり。
まずは何をやる?というところで、自キャラで遊べるSRPGをやりたいなーと思ったり。
明らかに作成コストが重いけど、興味があるところをやっていかないとあきらめちゃいそうなので、好きなものを優先で。
で、エンジン選択も色んなことを間違えてるのをわかりつつ、ういんどるみるが採用していてたノベルゲームエンジン、Catsystem2。
ノベルゲームのエンジンならば、昨今の流行りで言えばティラノスクリプトが最初の選択肢になるところ、
・Webに近しい処理を書き続けてると仕事みたいでやだ
・美少女ゲームで採用していたエンジンってノベル部分の学習コストが低そう(Godotでノベルゲーム部分の処理を作りたくない)
・Unityなどと比較して明らかに軽量で、古いPCでも動作する
・同人ライセンスなら、エンジンに対するコストがかからない
みたいなざっくりした理由から採用。
ええ、当てつけの理由はありますが結局はロマンです。そういう開発があったっていいじゃない。
ノベル部分は「シーンスクリプト」という比較的安易なスクリプトで簡単に実装ができるため、学習コストほぼ0。ありがたい。
肝心のSRPG部分を「画面スクリプト」という本来演出用のスクリプト言語でゴリゴリと実装していく。
もともとJavascript的に言語定義したインスタンスを複数コピーして使いまわしたりできるのかな?と思ったが、どうやら違うらしい。
どちらかといえば、PSDで定義した画像をどのように操るかということに特化したスクリプトのようである。
そのためもともと考えていたアプローチは早々に捨てさり、Catsystem2に最適化しながら実装していくことを決める。
とりあえずエンジンや言語の特性をなんとなく見ながら、マップを表示するところまで実施。
◆成果物
次回の目標は、キャラクターを乗っけてあげたり文字列を表示したり。
第2回:2026年9月06日(日)秋葉原
10:30~20:00(報告会などを除き実働約7.5h。累積15.0h)
すごい雨の日。会場であるf4samuraiさんがUDXのオフィスで本当によかった・・・
ドリンクサーバがあったり、マッサージチェアがあったり、ガチで会社のオフィス(しかもかなりいい環境の方の)で作業できるの本当にいい・・・
前回マップのオブジェクト(マス目)を表示できるようになったので、キャラクターの表示および文字列の表示が今回の目標。
文字列の表示が曲者。画面外の特定の位置にVRAMを指定して、POS2という位置指定で文字を表示するという方法をとるとなぜかうまく出る。
しかも、VRAMで指定する位置もあまりにも外れ値を指定すると文字として表示されてくれないということもありなんともくせつよ。
早く仲良くなって使いこなしたい。
◆成果物
次回、メニューを実装して、コマンドの入り口に立ちたい。
第3回:2026年9月13日(日)新横浜
11:00~19:00(報告会などを除き実働約7.0h。累積22.0h)
場所は岩崎学園横浜デジタルアーツ専門学校。
学生でもないのに教室を借りて作業できるのってなんかすごいワクワクする、なんともありがたいです。
前回、マップの選択が可能になったので、メニューの作成が今回の目標。
進捗としては概ね想定通り。ただ、右クリック押下時に1つ前のメニューに戻るための処理に苦戦。
状態遷移を管理するための変数をクリックイベントに読ませるようにしたが、これが破綻せずにいつまで耐えられるか・・・
途中でぶっ壊れるという悲劇から逃れるためにもローカルgitで管理を開始。
世代管理って大事だよね、、、
◆成果物
次回の目標は「移動」コマンドの実装。
第4回:2026年10月03日(土)秋葉原
10:30~20:00(報告会などを除き実働約7.5h。累積29.5h)
「移動」のためにマップを差し替えたら、マップ用のpsd→hg3変換が思ったように出力されていないことに気が付かず、プログラムをいじること3h。
正しいプログラムを永遠に見直しながら、なぜ該当事象が発生するのかわからない闇の時間を過ごす・・・
AIに頼ってみるかと思い、Claudeにどうやって聞こうかなとプロンプトを書きはじめたあたりで画像側に課題があることに思い至る。令和の今もラバーダックデバッグが最強なのかもしれない。
バイナリ側がおかしいことに気が付いた後、変換前のpsdにダミーの矩形を混ぜ込んだりすることで透明部分が黒くなる事象を回避しなんとか本線に戻る。
プログラム側の「おかしさ」を見ながらデバッグするとドツボにハマる可能性があるので、hg3専用のビュアーを用意した方がいいのかも?(現状はGarbroで画像みることで確認可能)
また、マップサイズを大きくしたことで、forループで書けない定義文を1,500行書く羽目になる。手打ちはあり得ないのでスプレッドシートで上から下にコピペして増幅。(実業務でも使うことのある地味なテク)
↑結局没実装になったかつ課題を感じるので、いわゆるforループ問題を何かしら考える必要あり。
マップの見た目上移動不可範囲となるので、直接的な問題はないが配列初期値は0のはずなのになぜかマップ上の0がバグる。
結局、移動そのものは完成せず持ち越し。
◆成果物

次回の目標は引き続き「移動」コマンドの実装。