開発日記 2024-05-07

SAFE HAVN STUDIOのkypです。今週(と先週)の開発日記をお送りします。

ゲームダンジョンに行った

まずはこの話題!東京ゲームダンジョン5にパブリッシャーのHYPER REALが出展し、SAEKOの試遊機も置いてもらいました。日本でのイベント出展は昨年9月の東京ゲームショウ以来だと思うので、なかなか貴重な機会です。

久々の日本のイベントということで、今回は私とkohも会場に行き、ドキドキしながらSAEKOの展示機を見たり(「新たなバグとかないよね......?」)、会場にあったたくさんの面白いゲームを遊びにいったりしました。

私はスーパー人見知りモードに入っていたので、基本的には「試遊良いですか?」「ありがとうございました」だけを繰り返したり、それすらできなくてブースの周りをうろついたりしていました。申し訳ない。あまりに情けなくて、途中、アルコールの力を得るためにコンビニでウイスキーの小瓶を買おうか真剣に悩みました。

そんな状態のなか話しかけてくれた以前からの知り合いだったり、ゲームの内容について気さくに質問する機会をくれた他ブースの方々には深く感謝しています。あなたがたがいなければ無言で帰宅するところでした。本当にありがとう。

そして、会場でSAEKOをプレイしてくださった方々、本当にありがとうございました。中には感想のコメントやスクリーンショットを投稿してくださった方々もいて、本当に感謝しかありません。なんだか恥ずかしくて、あんまり自分だと開発中のスクショとか上げてないんですよね......。

ちなみに現在のデモは若干プロトタイプ的なもので、現在は製品版公開に向けてさらに進化した画面を見せられるよう開発を進めております。なので、、、今後は、、、もっとやばい作品ができるはず!乞うご期待、ということでよろしくお願いいたします!

GW中の開発とか

その他の開発。ゴールデンウィークということで、ゲーム開発者の皆様においては多くの進捗があったことと思います。私は......えっと......まあ......ハハ。

ところで休日のいいところは何かというと、普段フルタイムで仕事をしているメンバーが、同じくらいのフルタイムでSAEKOの作業をしてくれるということです(私がCivしてる間に)。

UIやロゴデザインを担当してくれているmaztaniからは、日夜こんな感じで素晴らしいデザイン案が送られてきました。

本当にありがとう。今回の開発日記、ありがとうしか言ってなくない???

自分も、ゴールデンウィーク中はゲーム以外の仕事が減ったので、普段なかなか手をつけることのできないプログラミング的な課題を片付けたりしていました。大半はゲームをリリースするための技術的な宿題のようなもので、ここで紹介するには地味すぎるかなと思ったので......思いきって、独立した技術記事として書いてみたり。

いろいろなフィードバックがもらえて嬉しかったので、今後も何か、他の人にも応用できそうなテーマを見つけたら書いていきたいです。

アニメーションビューワを作った

あと、ちょっとしたアニメーションビューワを開発しました。

EbitengineはデフォルトではGUIを持ちません。基本的にはすべての情報をソースコードから拾うので、SAEKOではアニメーションの情報もすべてコードとして書いていました。新規のアニメーションをkohが描いてくれたとき、

  1. GIF画像などでkohの想定している動きを理解
  2. clipファイルの中身を見ながら、プログラムで扱いやすい単位の連番画像として書き出す
  3. Goのコードとして速度やループ、差分の設定などを書く

という流れで進めていました。ただ、そうすると「イラストレーターが実際のゲーム画面上の表示を見ながら修正」というようなこともできませんし、言うまでもなく大変です(僕が)。

そこで、今回はゲーム内のアニメーションの仕組みをリファクタし、以下のような仕組みでイラストレーターも僕もアニメーションを触れるような仕組みを用意しました。

  1. 個別のアニメーションに関する設定をJSONファイルに書き出し、GoからはそのJSONを読み込むだけにする。各レイヤーや差分の情報、さらに「ゲーム内のこのステータスにはこの差分を割り当てる」という情報など。
  2. ゲーム本体とは別に、JSONファイルを解釈して表示するだけの簡単なビューワを作る。JSONファイルや画像を更新すると、画面上の動きも更新される。
  3. イラストレーターに頑張ってJSONの書き方を覚えてもらい、次回からは気合でJSONを書いてもらうようにする(がんばれ!)

自分もkohもこれでだいぶ工数が減りそうで、仕組みはけっこう気に入ってます。もっと色々紹介したいんですが、スクショには本編のアニメーションがモロに出てくるので、ネタバレ無しで解説するのは難しそう......。SAEKOの製品版とかが出て、ネタバレが公然の秘密になったみたいなタイミングで、もう少し技術的な紹介ができたらいいな〜と思います。

おわり

今回は珍しく内容のある開発日記だった!おわり!