VUIで放置系ハクスラRPGを作った話

GoogleAssistant, actionsongoogle, スマートスピーカー, dialogflow, vui

2019年 3月 15日

VUIハクスラRPGを作りました。 以下、経緯と内容です。 VUIハクスラRPG作ったからみんな遊んでみてくれー!というお話でもあります。

(前提)ハックアンドスラッシュという言葉の定義

なんだかいろいろあるみたいですが、ここでいうハクスラの定義は、 【モンスターを倒して経験値や強力なレアアイテムを入手し、キャラを強化してさらに強力なモンスターを倒すというプレイスタイル】 です。

Googleアシスタントでゲーム

個人でGoogleアシスタントのアクションを作るのはこれで7個目です。 仕事も含めると10個以上作ってきました。 (仕事ではこういうの作ってます: Google Assistantを使った飲食店音声予約システムを「ぐるなび」がいち早く導入) アクションをたくさん作ってリリースして、いろいろと見えてきたものもありますが、一番は、

  • ゲーム系とその他の起動数の差

これに付きます。

ゲーム系のアクションには Play game というタグが付けられるようになっていて、Googleアシスタントに 暇だ とか ゲームがしたい とか言ったユーザにレコメンドされるようになります。 自分のこれまでに出したアクションの統計だと、月間レコメンド数が平均35万回で、まぁ大体のアクションは月間1万ユーザ以上には使われるようにはなります。 これはホント自分にとっては破格です。 ゲーム系じゃないアクションで月間1万ユーザ行けたら、自分は毎日twitterで自慢するレベルです。 個人的にはAlexaとの一番の差ではないか、とも思っています。

  • Googleアシスタントはユーザにアクションをレコメンドする(受動的)
  • Alexaはユーザが自分でスキルを探す(能動的)

でも寂しい

アクションを使ってくれる人のほとんどが一見さんなのです。 レコメンドから来る人がほとんどですので、当たり前といえば当たり前なのですが、もっとリピーターさんが欲しいと思ってきました。

毎日遊んでくれるゲームを作ろう

リピーターメインのアクションを作る事でこの寂しさをどうにかしようと思いました。 一発ネタ系ではなく、ロールプレイングゲームのように少しづつ進めていくものを作ろうと。

構想ネル

VUIでRPGとはいっても、戦闘や移動を声でやるには限界があると考えました。 戦闘を1ターンごと声で指示とかもやれない事はないけど、自分なら飽きます。

結果的には、

  • 戦闘は自動(いわゆる放置系)
  • 武器にレアリティをつける(ノーマル、レア)
  • 武器を合成するとパラメータが強化できるシステム
  • 8つの職業を作る

こんな感じにしました。

探索に行かせて、放置して、探索から帰ってきたら、武器の鑑定をして、武器を強くして、さらなる探索に…という繰り返し、まさにハックアンドスラッシュです。

あとは作りながら考えることにしました。

企画開発ハイライト

悩んだ部分とか、頑張った部分、全部書いていきたいのですが、キリがないのでハイライトで書いていこうと思います。

Push通知の実装

放置系ですので、冒険にはリアル時間が必要になる仕様にしました。 序盤なら20分程度、終盤になると3時間程度放置する必要があります。 そこでユーザに冒険が終わったらPush通知を送る機能を実装しました。

Push notifications

こちらの機能を使うとPush通知を許可したユーザにPushを送るためのuseridを取得できます。しかし一度useridを取得すると二度と取得できない謎仕様ですので、取得したidはstorageに格納するなり、firestoreに格納するなりしましょう。

Table cardの実装

さて、放置していた冒険者が探索から帰ってきました。 たくさんの戦利品を持って帰ってきています。さっそく鑑定をして行きましょう。武器には、体力、攻撃力、防御力のパラメータを振り分けています。

しかしこれ、ボイスファーストとはいえ声だけ聞くとかなりハードです。 初期のVUIだとこんな感じです。

これはゴブリンソード、体力が3、攻撃力が4、防御力が3の武器ね。今装備している鉄の剣と比べると、体力が1、攻撃力が2、防御力が3上昇するわね。装備しますか?

これをGoogleアシスタントが読み上げるのです。Google homeだとテキストすら見れません。耳オンリーです。ボクには無理でした。脳が追いつかないのです。ん?ん?ん?ってなって終わりました。

せめて聞き取る数字を減らそうと、

これはゴブリンソード、体力が3、攻撃力が4、防御力が3の武器ね。今装備している武器と比べると、体力、攻撃力、防御力が強くなるわね。装備しますか?

こうしてみましたが、結構ギリギリな感じです。 そこでこいつの出番です。

Table card

Table cardを使うと文字通りTableを表示できます。

素敵ですね。

武器の鑑定の簡略化

冒険を進めていくと、戦利品が20個30個となっていきます。 これをひとつひとつ「装備しますか?」って聞いていたら日がくれてしまいますので、武器の簡略化を実装する事にしました。 今装備している武器と比べて、レア度、または全てのパラメータが劣っている武器は、そもそも「装備しますか?」とは聞かずに、全部強化してしまうのです。 そうする事で、武器鑑定の冗長化を防ぎました。 レア武器を拾える確率は、トキワの森でピカチュウが出てくる確率よりちょっとだけ高いぐらいなので、けっこうレアです。(初代)

武器のパラメータの統一化

ボクは、どんな武器でも、どんな職業でも、攻略方法によっては積むことは無いゲームが好きです。なので、武器もユーザが好きなものを装備して欲しいと考えました。 そこで思いついたのは、武器のパラメータの統一化です。

例えば序盤で拾える ゴブリンソード は、体力が3、攻撃力が4、防御力が3の武器ですが、終盤で拾える 燃え盛る牙 は、体力が1、攻撃力が8、防御力が1の武器です。 合計値はどちらも10ですので、ユーザはその時の職業や、ポリシーで好きなほうを装備できます。ただ、序盤の武器はパラメータが平均的、終盤の武器はパラメータが個性的という差だけ作りました。上級者向けなんだよーという意図を出したかったのです。

職業あれこれ

8つの職業を作りました。 考えていて、一番楽しかった箇所でもあります。 全ての力が0.7倍になる代わりに、50%の確率で敵の攻撃を避ける盗賊やら、体力が0.5倍、攻撃力が2倍、防御力が0.5倍になる魔法使いやら、脳汁ドバドバでプログラミングしていました。

おわり

とりとめもなく書いてみましたが、多分このゲームをやって一番面白いのはボク自身なんだろうなという自覚はあります。 でも、作った自分でも楽しめるものを作りたかったのです。 そして、皆さんにも楽しんでほしい…、そしてレビューが欲しいです…(´・ω・`)

■勇者と逆さまの塔 https://assistant.google.com/services/a/uid/00000020b376d5c8?hl=ja

遊んでみてくださっい!

おまけ:デバイスのわりあい

実はPush通知やら、Table cardやらは、今の所スマートフォンぐらいにしか対応していません。Google home hubも日本ではまだ売ってませんので。

おいおい、Google homeユーザがメインじゃないのかよ!って思う人もいるかもしれませんが、自分なりにログなりなんなりで統計とってみたのですが、スマホでGoogleアシスタント使うユーザとGooglehome系でGoogleアシスタント使うユーザの数は今の所半々って感じです。 なので今回はちょっとスマホユーザ贔屓で作ってみました。