【開発記】マサオさがし

1.制作ゲームについて


第11回WOLF RPGエディターコンテストに参加していました、
共同制作をしたSOrowさんのシリーズキャラクター、
マサオくんを主役とした間違い探しミニゲームです。

シンプルな操作で3~10分程で遊べますので、
よかったらプレイしてみてください。

マサオさがし f:id:ashutaru1552:20190820222144p:plain

なお、共同制作者のSOrowさんも開発記を書かれています。
ご興味がある方はこちらも合わせてお読みください。

2.開発経緯


もともとはGW明けぐらいから
別のミニゲームをウディコン向けに作っていたんですが、
思っていたよりネタが大きく広がってしまいました。

きっちり作ると恐らくミニゲームに収まらなくなるけど、
ミニゲームレベルで出すとあまり面白くない……という葛藤があり、
このゲーム開発は凍結。

今年のウディコンはプレイヤーとして参加かなと思っていたところ、
SOrowさんから「こういうゲームを作りたい」という話が舞い込みました。
【1】マサオくんで間違い探し
【2】マサオくんで新桃太郎伝説にあったような福笑い

ただ、僕としては心配の種がありました。

3.心配の種


僕が心配に思っていたこと、それは、
マサオくんというキャラクター性がウディコンで受け入れてもらえるのか
ということ。

前回ウディコン参加時のトラウマもあり、
また辛辣なことを書かれるんじゃないかという不安がありました。

いやもちろんそんなコメントばかりだった訳じゃないですが、
見るに堪えないとか、RPGである必要性がないとか、
そういう言葉が豆腐メンタルに刺さりまして……。

もしキャラクター生みの親であるSOrowさんが傷つくような結果になるなら
マサオくんシリーズでは参加しない方がいいよなあ、と。

その懸念をお伝えした上で、SOrowさんの方が問題ないのであれば、
ということで制作を開始しました。

4.心配の結末


結果として、これは本当に杞憂に終わりましたね。

今回の投票コメントやいただいた感想を見ていると、
マサオくんというキャラクター性も含め楽しんでもらえたようで、
僕としてはホッとすると同時にとてもありがたいなと思いました。

これはマサオくんのキャラクター性の良さが
きちんとプレイヤーの方に伝えられたというのもあるでしょうし、
以前ウルフさんが第9回ウディコン作品の「AN EARTH」を例に話していた、
ターゲット層の絞り込みに成功したからかもしれないと考えています。

タイトルから紹介画像まで、
とにかくマサオくんというキャラクター性を前面に押し出したことで、
興味ない人が無理にプレイしないで済むように出来た結果かもしれない、
ということですね。

もちろん気持ちとしてはなるべく多くの人に遊んでもらいたいですが、
ここら辺はトレードオフかなと考えています。
うまくバランスを取っていきたいですね。

5.こんなところを頑張ったよ


1.マウスのクリック判定

選択肢はウディタのデフォ選択肢を採用しているので関係ないですが、
その他のマウス操作の判定はきちんとした処理を作りました。

内部的にはマウスダウン(クリックした状態)だけでなく、
マウスアップ(クリックを離した状態)も判定していて、
必要に応じて取得内容を変えられるのですが……。

結局両方取得しかほとんど使いませんでしたね(白目

押しっぱなしの対応等も入れてあるので、
操作性に不便を感じないようには出来たかなと思います。

2.難易度調整

初期段階では現verよりも難易度がやばい画像がありました。

f:id:ashutaru1552:20190805185113p:plain
やばい奴ら

序盤から中盤までは初期からそんなに変更はないんですが、
やはり後半ですね。

レベルがあがった分だけ難しくなってなきゃいけないけど、
ちゃんと気づけるようにもなってなきゃいけないというのが
本当に難しかったです。

SOrowさんには基本となる難易度設計をお願いしつつ、
新しいバリエーション画像を追加してもらったり、
気付きやすくなるようパーツの変化を大きくしてもらったり……。

一方で、自分は各画像の難易度を数値化するために、
ライフ無限かつ特定の画像が必ず出現するデバッグ環境を用意し、
連続30回実施した時の発見率を測定したりしてました(目が死んだ

f:id:ashutaru1552:20190805190552j:plain
ざっくり数値化したデータ

SOrowさんはただ順当に難易度があがるというのではなく、
「レベル〇の中ではこいつが難しかったな」と
各レベルの中にもばらつきを作りたいという思いがあり。

僕は僕で、時間切れで間違い画像がピックアップされた時に、
「あ、ここが違うじゃん。何で気づけなかったんだ、くそー」と
思えるように、理不尽だと感じないようにしたいという思いがあり。

ここら辺はかなり念入りに相談しながら調整しましたね。

3.レベルシンク

レベルシンクという表現が適切かどうかはわかりませんが、
開発側ではそう呼んでいた機能があります。

それは、
全レベルが出現するチャレンジモードにて、
10回毎の合計レベルが常に30になるようにする
という機能です。

単純に完全ランダムにしてしまうと、
乱数次第でレベル1連発とかレベル5連発もありえます。

ある程度同じ難易度で競い合うのでなければ
オンラインランキングも意味がなくなってしまうので、
公平性を実現するための機能として導入しました。

1~9までのレベル合計が必ず29になるようになっており、
10回目はボーナスとなるチャレンジ専用(レベル1換算)で、
合計として30になっているはずです。

まあそうはいっても、下記の2パターンを比べた場合、
恐らく後者の方が簡単だとは思います。
・レベル5×5 + レベル1×4
・レベル3×7 + レベル4×2

なのでレベル5の出現回数を固定にするかとか、
スコア式にして高レベル=高スコアにするかとか、
色々検討はしたのですが、
出現難易度にある程度ばらつきがあった方が面白いという話になり、
現在の仕様に落ち着きました。

4.不正対策

「突撃!ウルファール道場」での経験があったため、
オンラインランキングの公平性を保つためにも
不正対策はばっちりやろう!

ということで、PrintScreenやAltキー、F10の一時停止には
きっちり対策を仕込んでおいたのですが……。

ウインドウ移動は盲点だった……orz

ご報告いただいてすぐウディタの非アクティブ状態判定を導入し、
バージョン1.01へアップデートしたのですが……。

結果として、ウディタの非アクティブ判定では
問題を解決出来ませんでした。

ウインドウをクリックして即座に離すと
アクティブ状態0(非アクティブ)を検知出来るんですが、
ウインドウを長時間クリックしてから離すと
アクティブ状態1(アクティブ)になってしまい検知出来ないんですね。

他にもゲーム内時間と実時間のズレで検知出来ないかとか
色々試してはみたんですが、
最終的に画面外(上部)にカーソルを動かしたらアウト
という方法で決着となりました(バージョン1.02)。

操作性に窮屈さが多少出てしまうかもしれませんが、
他に良い方法が思いつかなかった……。

5.福笑いのアレンジ

「マサオくんで新桃太郎伝説にあったような福笑いを作りたい」けど
「このまんまやると、まんま新桃太郎伝説だからなあ」という悩みを
SOrowさんから聞き、一工夫入れようと考えました。

このゲームの肝は、
「記憶通りやったにもかかわらず、
 思ったようになってなくておかしな顔になってしまうのが面白い」
というもの。

この部分を外さなければ求めているゲーム性は失われないと考え、
パーツを射出するというアイディアに至りました。

角度さえ合えば決められた距離に必ず置ける分、
場所を覚える難易度は下がります。
その分、狙った角度で打ち出す難しさという
タイミングゲーの要素を持ち込んだ形ですね。

角度の算出処理を作るのはそこそこ大変でしたが、
ツイッターに色んな顔のマサオくん画像が投稿されていて、
とても嬉しかったです。

ちなみに100点を取るとタイトル画面にちょっとした変化があります。
100点は意外とシビアだったりしますが、
よかったらチャレンジしてみてください。

6.余談


1.お遊び要素

クレジットのマサオダルマは当初、
背景と同化していて動かない代物でした。

クレジット画像を作成していたSOrowさんがふと、
「カブを使ったマサオ君の頭部だるま落としも作れそうだなあ……」
と言っていたので、
SOrowさんを驚かせたろと思って勝手にこっそり追加しました。

福笑いももともとは、
間違い探しとは別アイディアとして提案されていたのだが、
おまけに入れたらちょうどいいんじゃないかと思い、
これまた勝手にこっそり追加しました。

データを渡す際には「クレジットにおまけ追加」とだけ伝えて
SOrowさんの驚く反応を楽しんでいたわけで、
いわば正真正銘お遊び要素でした。

結果的にプレイヤーの方々にも楽しんでもらえたので、
お互いを楽しませようとすると自然と良いものが出来ていくのが
共同制作の良いところかなと改めて思いました。

2.ミニゲームであるということ

以前ウディフェスに出した「突撃!ウルファール道場」も
オンラインランキング搭載の上、
熱いランキングバトルが繰り広げられたのですが……。

その時はトップ層が想定外の超人的ハイスコアを叩き出し、
ランカーレベルになると1回のプレイが30分以上になるなど、
意味の分からないことになっていました(白目)。

それはそれでもうめちゃくちゃありがたかったのですが、
1回のプレイが30分以上ってもはやミニゲームではないし、
気軽にランキングバトルにも参加しにくくなってしまうという
問題点にも気づかされた出来事でありました。

その反省を踏まえ、最近はミニゲームを作る場合、
必ずリミッターをつけるようにしています。

今回でいえば1正解毎に制限時間が短くなるというやつですね。
これにより、どんなに頑張っても1回のチャレンジプレイは
10分以内に収まっていることでしょう。

ミニゲームは手軽に遊べるのがよいところだと思うので、
きちんとミニゲームらしく楽しめること、
それも大事なことかなと考えています。

そうはいっても今回も上位陣は凄かったですけどね!
60超える人達の認識能力はすげえと思います……!

3.一ヶ所だけ……

今回はSOrowさんがシナリオも担当しているのですが、
自分も一ヶ所だけ文章を書きました。
分かる人には分かる! かもしれない?

7.総評


作っている最中に気づいたことですが、
マサオくんの顔が絶妙なバランスで成立しているため、
この間違い探しというゲーム性と非常に相性が良かったですね。

だんだん正しいマサオくんですら間違っているように思えてくるという、
謎のゲシュタルト崩壊現象はこのゲームの特徴だと思います(白目

システム担当としては、ミニゲームとはいえバグはひとつも報告されず、
作りたいと言ってくれたSOrowさんの要望を余すことなく叶えられたと思うので、
とても満足しています。

SOrowさんの方から提案がなければ作られていなかったゲームなので、
改めてSOrowさんに感謝ですね。いつもありがとうございます(´▽`*)

8.今後について


ヴァーミリオンの青空やエディの人間大砲、遺跡ラビッツなど、
今年のウディコンはアクションゲーが自分の好みに多く刺さったため、
アクション要素のあるゲームが作りたくなってきました。

もしかしたら来年のウディコンには
アクションゲーで出るかもしれません。

まあ予定はいつだって未定。
フリゲ制作は風の向くまま、気の向くまま。

絶対とは言い切れませんが、今の気分はそんな感じです。
もし楽しみにしてくれる人がいるならとても嬉しいですね。

それでは、これにて、マサオさがしの開発記は終わりです。
あとは1参加者として結果発表を楽しみたいと思います!

改めて、プレイしてくださった方々、
本当にありがとうございました!