「第10回ツクってアソぶハッカソン」受賞者インタビュー④ 特別賞 Mazic Pozさん

2026.07.30

──── 特別賞おめでとうございます。まずは作品の概要を教えていただけますか?

ヒラヤマさん ありがとうございます。今回のお題「みたかAI!これが人類だ!」は、実はかなり難しかったんです。AIと戦って勝つ、といっても力や賢さで勝つ方向だとあまり面白い作品にならない。じゃあ何なら人間が絶対に勝てるかと考えたときに、いっぽさんから「黒歴史」というワードが出てきて。人間の黒歴史にはAIは絶対に勝てないだろう、と(笑)。そこに僕らの強みである3Dモデリングと生成AIを掛け合わせて、ブラウザで動く3Dのタワーディフェンスゲームにしました。

──── 「黒歴史」に行き着くまでは、どのくらい悩まれたんですか?

ヒラヤマさん 2時間くらいですかね。いつもは30分〜1時間くらいで「それ面白いですね」って方向性が決まるので、2時間悩んだのは結構珍しいです。

いっぽさん AIだからAIが強いよね、という前提がある中で、そいつにどう勝つかというのは本当に難しかったですね。

──── 前回は落選テーマの「マジ卍みやび」から発想されていましたよね。キーワードを起点にする作り方が多いんでしょうか。

ヒラヤマさん そうですね。前回は「雅」、今回は「黒歴史」。1つ軸になるワードが決まると、そこから一気に組み立てられる感じはあります。

いっぽさん 正直、テーマは何でもいいと思っているところもあって(笑)。ツクアソは技術で殴るハッカソンだと思っているので、どんなテーマでも持っていければ勝てるんじゃないか、というスタンスでずっとやってきました。

──── 技術構成についても教えてください。

ヒラヤマさん 「SNSで漆黒の死神と名乗っていた」みたいな黒歴史を入力してもらうところから始まります。そこからOllamaとGemmaを使って、基本的にすべてローカルLLMでキャラクターの要素を抽出しています。あらかじめ18体ほどキャラクターを用意しておいて、入力された黒歴史に合うものを選ぶ仕組みです。3Dモデルも既製品を持ってきたわけではなく自分たちで生成していて、リギング(骨格入れ)もAIでやっています。それをThree.jsに載せてWeb上で動くゲームにしました。BGMも効果音も、クリア時に出てくるカードの画像も全部生成AIです。入力からエンディングまで一気通貫でAIが作っている、という形ですね。

──── プレゼンでは伝えきれなかったこだわりポイントはありますか?

ヒラヤマさん 音がとにかく細かいんですよ。黒歴史を入力するときのタイプ音まで生成しているので。

いっぽさん タイプ音を10秒くらいの尺でランダムに生成させて、それを一音一音切り出して、キーボードを打つたびにランダムに鳴らしています。効果音は10個以上ありますし、BGMもヒットポイントに応じて2曲を切り替えています。ゲームが終わったあとには、入力された黒歴史に応じた歌詞付きの曲がその場で生成されます。これも全部ローカルです。

ヒラヤマさん あとゲームバランスですね。タワーディフェンスとして、最初は簡単に倒せるけれど、途中からはちょっと頑張らないと倒せないレベル感にちゃんと調整されている。簡単に倒せたら面白くないので、そこはしっかり作り込まれていました。

──── 2分のプレゼンでは紹介しきれなかった機能もあると伺いました。

ヒラヤマさん レイド戦ですね。URLに入ってもらえばみんなで同時に遊べて、参加者それぞれの黒歴史がボスへのダメージになるんです。これは2分の中で「今から全員入ってください」とやると、それだけでタイムオーバーになってしまうのでリスクが高すぎて紹介できませんでした。実はこっちがめちゃくちゃすごいんですけどね。

いっぽさん 中二病っぽいセリフを入れるほどダメージが上がる仕様になっています。時間があれば会場のみんなで叩いてほしかったですね。

ヒラヤマさん プロローグも作り込んでいて、スクロールすると映像が進んで、戻すと巻き戻る演出になっています。生成した動画をつなぎ合わせて作りました。ストーリーはAIが出したものをかなり自分で書き換えています。

──── 2日間でそこまで作り切るのは相当な物量だと思うのですが、どう進めていたんですか?

いっぽさん ちょうどワールドカップの時期だったのが良くて(笑)。AIにお願いすると2〜3時間くらいは延々と実装してくれるので、朝5時に起きてイシューを立てて「よろしく」と投げてから試合を見る。試合が終わる頃にはできあがっているのでレビューして、また寝る。それをずっと繰り返していた感じです。どれだけAIに自律して動いてもらえるようにするかがポイントだと思っています。

ヒラヤマさん 最終的にコードは4万行規模、イシューが200件くらい、プルリクエストは129件でした。TDDも入れているのでテストもちゃんと書いています。

いっぽさん イシューに目的とやることを細かく書いてから着手する形で、2人の担当はA/Bに分けています。今回はフロントとバックで切って、最初にお互いモックを作っておいて、分離した状態でも動作確認できるようにしました。作業が直列にならないように工夫する、というのは毎回やっていますね。

ヒラヤマさん 朝起きて開くと、いっぽさん側が異次元の進化をしていて「うおすげえ」となる。それが楽しかったです。

──── お二人はもともと同じ会社の同僚なんですよね。

いっぽさん 同僚になったのは1年半くらい前ですね。ただ、僕らちゃんとエンジニアをやりだして1年くらいなんですよ。僕はもともと10年ほど生産技術で、工場の設備の工程設計をしていました。

ヒラヤマさん 僕は機械系の設計出身で、ソフトはまったくという感じでした。Gitの使い方も1年前まではちゃんと知らなかったんです。今回はイシューを作ってプルリクを出してマージして、というのをお互いポンポン回せたので、あらためて「Gitっていいな」と思いましたね。

──── 他のチームの作品で印象に残っているものはありますか?

いっぽさん 葬式のやつですね。あれは負けたかもな、と思いました。アイデアで言うとカメレオンの作品も、あれが出てきたらもう勝てないなと。技術の戦いじゃなくなっているというか。

ヒラヤマさん アイデアで圧倒的に差がついていましたよね。しかも3Dモデルをそのまま残して中で動かしていて、クオリティも高い。あれはすごかったです。

──── 最後に、次回のツクアソに向けて一言お願いします!

いっぽさん 今回は実はハードもいけたんですけど、今回の題材でハードをやってもちょっと違うよね、ということで、あえてソフトに寄せました。次回はハードもあった方が嬉しいですかね?

ヒラヤマさん こだわりをたくさん詰め込めて、作っていて本当に楽しかったです。またぜひ参加させてください。

──── 本日はありがとうございました!