近況報告・ゲーム制作記

近況報告です。最近色々更新できてなくてすみません。。

しばらく(だいぶ?)前から作っているゲームがあって[1]、続きをちまちまと作ってはいるのですが、なかなか創作活動の方のモチベーションを保つのが難しく、最近はインプットが足りないのかな~と思って積みゲーを消化したり、仕事や競技プログラミングの方に没頭したりしていました。

とはいえゲーム制作の方も遅いながらそれなりに進んではいるので、今どんな感じなのかというのをゆるく紹介していこうと思います。

ゲーム制作記

こんな感じのローグライクゲームを作っています。

元々 Noita にドハマりしていた時期に「スマホでもこんな感じに遊べるゲームがほしい!」と思って作り始めていたのがきっかけだったので、だいぶコンセプトは似せています。

当時は Mini Map RPG とかいう名前でプロジェクトを作り始めていたんですが、色々盛られた結果とても mini とは呼べない感じになってしまいました。あるあるですね。

全部タッチ操作でも動かせるようにしていますが、やはりマウス+キーボードに比べると操作が厳しいので、何か緩和策を入れたりするかもしれません。

地形は毎回変わってほしかったので、マップの自動生成アルゴリズムを作りました。

生成方法はわりと見た通りで、最初に地形を作ってから(simplex noise を加工して壁を作っています)構造物を置いて、通路で繋げています。

いい感じに配置されるように評価関数を頑張りました。

素材も久々に気合を入れて作っています。

直接画面には出ませんが、こういうのが並ぶとゲームらしくなってきていいですね。

シェーダが使えるので、ドットを保ったまま盛り上げられるだけ盛り上げていきます。

プレイヤーのスプライトは開発初期に2秒くらいで描いたのが使われ続けています。完成までにまともなやつにすり替えます。たぶん。

いろんな敵がいろんな攻撃をしてくるんですが、バフやデバフの付与を考えると個別のクラスで個別の行動ロジックを書く方針だと大変厳しくなってくる……というのに最近気付いたので、統一的な方法で行動ロジックを記述できる仕組みを導入しました。

この辺はあまり詳しくなかったので色々調べて、ステートマシン方式がいいかビヘイビアツリー方式がいいかなど悩んだ結果、ビヘイビアツリー方式を採用することにしました。

いつものように全部自作したいということで、簡単かつそれなりに実用的なビヘイビアツリーのライブラリを自作して組み込みました。

概念の説明はいろんなサイトに書いてあるんですが、実装をするときに困る点(特に優先度によるタスクの割り込みなど)はなかなか情報がなくて苦戦しました。

苦労した甲斐あってそれなりに知見は得られたので、今度改めて別記事にまとめようかと思っています。

Unity とか Unreal Engine とかだと GUI によるエディタがあるのが一般的っぽいですが、さすがにそこまで作るのは大変だったのでコード上で木構造を定義する方式にしています。

……が、ロジックが込み入ってくると書くのも読むのもなかなかしんどい。エディタが重宝される理由が分かった気がします。まあ雑にローカル変数や関数が生やせたりするのは便利ではあります。

公開までにやること

だいぶ進みが遅くなってはいますが、ここまで来たらとにかく完成させて世に放つところまで進めたいです。

必要な仕組みは色々と整ってきていて、あと大きな仕事は

  • ボス戦システムを作る
    • ボス敵も作らないといけない…
  • 武器を増やす
  • 防具を増やす
  • 敵を増やす
  • パークを増やす
    • 沢山入れてカオスにしたい
  • マップを増やす
  • ゲームとして完成させるために細かいところを作り込む

あたりですかね。

増やすやつは得てしてしんどいがちなので、しんどいですが完成に向けて頑張っていこうと思います。

途中変なものを思い付いたら[2]また web app を作るかもしれません。

そのほか

総じてやろうと思ってできていないことが多いです。アイデアだけあって着手できてない作品とか、VRC のアバターを魔改造して色々仕込みたいとか、そもそももうちょっと定期的にワールド探索に参加したいとか……

気力が足りないなぁというのを日々感じています。

もっとこう、何か強烈にやりたいことが見つかると回復したりするんですかねー。

なかなかやる気が出なくてもとにかくやる!というのも大事なスキルではあると思うので、目の前の目標に向かって頑張って進むようにしたいです。

AtCoder の世界大会に出ます

そういえば、去年の成績が良かったので滑り込みで[3] AtCoder World Tour Finals の Heuristic 部門に参加できることになりました。

まだ海外での認知度が高くないというのもあって日本勢が大半を占めていますが、nikaj, Rafbill, Psyho といった海外の世界最強クラスの実力者とオンサイトで競えるのはまたとない機会であり、とても楽しみにしています。

World Tour Finals 2025 Heuristic

vs AI

Sponsor
OpenAI

突然告知されて大変驚いたんですが、OpenAI が参戦してくるらしいです(関連記事)。つまりなんか 人類 vs AI みたいな闘いも同時に開催されるようです。いやマジか。

短期とはいえ 10 時間あるので、まだ人間の方が強い気がするんですがどうなんでしょう。少なくとも人間が全員負けることはあり得ないと思いますが、自分が爆死して AI に負ける未来はまあまあ想像できるのでどうにか回避したいところです。

本戦は明後日 (7/16) 朝からあります。あまり詳しく知りませんが YouTube による中継もあるらしいです。

7/17 には Algorithm 部門の本戦もあり、こちらはもう別世界というか完全にグローバルな魔境になっているので同じ会場とホテルに参加者がいるというだけでも怖くなってきます。

まあともかく悔いのないように頑張ろうと思います 💪


  1. ログを漁ったら去年 3 月とかからやってたらしいです。マジか。 ↩︎
  2. アイデアはいくつかあったりするんですが、どうもエネルギーの壁を超えることができずに手が付けられていません。うーん厳しい…… ↩︎
  3. 参加枠 12 人中 13 位 (???) でした。何が起きたかはここを見るとわかります。 ↩︎

このエントリーをはてなブックマークに追加