The Elder Scrolls 3: Morrowind #13 Hanafuda: Akaviri Playing Cards


Hanafuda: Akaviri Playing Cards

Morrowindで花札の「こいこい」をギャンブルとして遊べるようにするMod。

5月のModathonの途中から作り始めて、今まで結構時間をかけて作っていた。まだやり残していることが結構あるんだけれど、自分だとできないことだったり、できても必要以上に時間をかけているとモチベーションも無くなってくるので、キリのいいところで一旦リリース。
ソースコード量だけで言うとMorrowindのmodのなかでもかなりの大作だと思うし、ここまでMorrowindのUIを使い倒しているmodは他にないんじゃないかと思う。なので、苦労に見合うように遊んでくれると嬉しいです。

発端は、Modathonが始まってcommunityで花札をMorrowindで遊びたいという声が上がったことから。communityには自分を除いて日本人は見当たらない(と思う)ので、もちろん海外の人から。その時は、Modathon向けに作っているmodが既にいくつかあったし、modding可能な範疇で技術的に作れるのか分からない部分が多かったので、あまり気に留めずにいた。

いくつかmodをリリースしてある程度moddingに慣れてきたところで、より発展的なアイデアをいくつか検証しているときに、以前のその話を思い出した。日本人なので花札について知っていて、さらに日本語で専門的な情報を集めやすい自分がそれを実現することに向いてるんじゃないかと思ったので、技術的に実現可能なのかどうか他のアイデアと並行してプロトタイピングしはじめた。
Modathon期間中はcommunity内でカードゲームについて時々話題が出ていたので、ネタが被らないかどうかちょっと心配していた。この話題はあくまで話題で、実際に本格的に作っている人はまだいなかったので杞憂だったのだが。

Modathonの終わりが近づいてきたときに、ゲームが大雑把に一通り動作する状態になって、MWSEで作りきれそうというのは分かったが、Modathonには間に合わなさそうというのも分かった。
完成までやることが沢山あるのと、ネタ被りしないように公言しておきたいのと、要望出していた人のほうが花札に詳しいのでフィードバックを貰いながらのほうがいいだろうということで、community内で進捗をオープンにしながら作ることにした。

懸念材料は作り始めから現在までずっと残ったまま。

  • アニメーション
  • ゲームAI
  • アセット

アニメーションは、luaにはcoroutineがあってそれが使えるとやりやすいんだけれど、検証段階から現在でもMWSEではまだ枯れていなくて、coroutineをyieldでフレームをまたぐと、ダイアログが表示されたときに勝手に動き出したり、しばらくするとクラッシュしたりで使うには結構厳しい状態だ。coroutineを使わないで、アニメーションをさせようとすると、昔ながらに毎フレーム自力で管理する必要があって、ちゃんとしたアニメーションシステムを組まないといけない。

ゲームAIは、自分の専門分野じゃないからというのもあるんだけれど、勉強しようとしたときの検索汚染がとにかく酷い。リアルタイムの(単純に強いわけではなく)遊べるゲームAIはルールベースになるんだけれど、検索すると機械学習AIしか出てこない時代になってしまった。さらにこいこいは不完全情報ゲームであって、機械学習をすり抜けて見つかるAIの情報はそれよりも簡単な完全情報ゲームを前提としているものばかりである。調べることすら困難だ。

アセットは、カードのイラストとか音声データとかのことなんだけれど、これも自分のスキルセットではないのでゲームAIよりも厳しい。ゲームAIと違ってこちらは今の時代はAI生成を頼れる分野なんだけれど、試した限りAIに一貫したスタイルで48枚のカードイラストを描かせるのはまだ難しい。
音声データは、Morrowindでは既に先駆者が多いんだけれど、有償サービスなので結構本腰をいれて集中的にやらないといけないので敷居が高い。先駆者がノウハウを公開してくれているといいんだけれど。

ちなみに、このmodのアイキャッチ画像(英語だとFeatured Imageというのを知った)は副産物としてAIで生成したものを手直ししたものだ。ひたすらリテイクしながら奇跡的な産物を待つしかなかったので、絵が描ける人は描いた方がいいと思うし尊敬する。
WarcraftのアートみたいにVivecとDagoth Urが睨み合って花札を遊んでいる絵面が欲しかったんだけれどなあ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です