ミニクラシックゲーム機への移植案件、どうテストする？

# はじめに
### こんな記事です
現在、クラシックゲーム界隈に巻き起こっている「**ミニクラシックゲーム機**」ブーム。
1つのミニハード機内に、複数のゲーム作品が移植・収録され発売されるプロジェクト。

こちらの開発・発売に向けたQAに「テスト設計」から携わりましたので、得られた知見をご紹介したいと思います！

>本記事はこちらのアドベントカレンダーに参加しております。
>弊社社員が「スマホ/コンシューマゲームのテスト/QAに関連する情報」を日替わりで発信しておりますのでご覧ください。
>▶ [AIQVE ONE ゲームQA Advent Calendar 2022](https://qiita.com/advent-calendar/2022/aiqveonegametest)

>昨年私が執筆した記事（異世界転生してからもう数年経つのですね...）
>▶ [ゲームQA業界に「テスト設計者」として異世界転生し戸惑ったこと](https://qiita.com/ng_31yr/items/53d45f414ae62aca7f7f)

# ミニクラシックゲーム機の移植案件で必要なテストとは？
![ダウンロード (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2287012/683f3bbd-680f-0100-62a2-ba02582276f5.png)
作成元 [教えて！ハカセ ジェネレータ](https://arkw.net/products/web/hakase/)

### ユーザーが「**ミニクラシックゲーム機**」に求めているもの
ざっくりと書きだすと次のようなモノが挙げられます。

> 1. 当時遊んでいたゲームが遊べること
> 1. **当時遊んでいたゲームが、当時の体験のままに再現されていること**
> 1. ハード機側の機能で、プレイしていて不利益が生じないこと：「セーブ出来ない」とか

「1」「3」は当たり前のこととして、**実は結構「2」が重要そうだ...！！**
（そしてここを疎かにすると、めちゃくちゃ炎上しそうだ...！！）
つまり、移植作品については「**当時の体験の再現**」にスポットを当てたテストを行っていく必要がありそうです。

事実、私が担当した商材について企画発表当初からこのようなツイートが散見されました。
・「このゲーム、〇〇っていう裏技があってよく使ってたなあ」
・「この作品、こうやって攻略していたなあ」
・「ラグ具合気になるなあ」

### 必要と考えたテスト
上記の観点から次のようなテストを実施することとしました。
> 1. ミニハード機自体のテスト
（起動/メインメニューまわり/セーブスロット/コントローラー接続、映像出力など）
> 1. **移植元作品の再現テスト**
    1. **操作、当時の攻略法の再現**
    2. **BGMやSEの再現**
    3. **画面やキャラクター色の再現**
    4.**裏技やコマンドの再現 など**
> 1. 各作品通しプレイ中の探索的テスト

これらのテストを目的とし、テストケースの作成・実行に入りました。

では、次に「**移植元作品の再現テストケース**」を作成するにあたって、『苦慮した点』や『得られた知見』をご紹介していきたいと思います。

※「ミニハード機自体」については、ハード固有の仕様をしっかりと分析しそちらに基づくテストを行いました。
こちらで苦慮した点などについては、諸事情で明記できませんので割愛させていただきます。

※ハード機自体が「元ハードのミニ復刻版」であった場合、元ハード機能が再現されているかのテストも必要

# 移植元作品の再現テストで直面した課題
特に苦慮した「80~90年代後半にかけてゲームセンター筐体に収録されていた作品」の再現検証をベースにお話します。
#### 1.各作品の仕様情報の収集
まず直面した課題は「仕様がわからない問題」です。
作品によって開発している会社はバラバラ、現存しない会社だってある、各会社様へはお問い合わせできない...。

そんな状況下であり、当時の仕様書もほぼ存在していませんでした。
そのため、「ゲームの仕様」が伺える情報を次のやり方でかき集めました。

（1）**インターネット検索**
意外と当時の制作会社のHPや個人の攻略ブログが残っているものです。
あと、YouTubeでプレイ映像を視聴してみたり。

> ※Wikipediaを活用した情報収集は「非推奨」です。
■公式情報だけではなく「個人の解釈や誤った情報」も多く記載されている
（アカウントさえ作れば基本的に誰でも加筆できるので）
■ソースがない記載が、特にゲーム作品記事には多い
[ ]でソースが明記されているものは情報ソースが置かれていますが、ない場合は特に危険です
　┗情報がない：「個人的主観」や「正確ではない誤った情報」が多い
（裏を返せば[ ] があればそれは信頼できるソースの可能性が高いので、リンク先を確認してみましょう）
実際に当時を思い出しながら書いたのであろうソースが無い情報や、誤った情報が多々散見されました。
レトロ作品の情報収集をする際には、Wikipediaは頼りすぎない方が良いかと個人的には思います。
（by Wikipedia編集者）

（2）**ゲーム雑誌や攻略本**
テストリーダーが秋葉原の古本屋を駆けまわり「GAMEST」を数冊探し出しました。
また、ゲームセンター筐体作品の裏技を収集した同人誌が存在していると同僚からリークいただき、そちらも某中古ショップで購入し活用いたしました（改めてありがとうございました）

（３）**他ハード機への移植作品をプレイ**
他ハード機への移植が行われている作品はそのハード機を購入して実際にプレイしてみました。
ゲームシステムの理解として、非常に参考になりました。
※そのハードならではの移植仕様等もあったので、ご注意を

（4）**いっそ筐体基板をレンタルしちゃう**
「調べてもわからない、ほしい情報がなかなか掴めない」
そんな時はもう移植元を手元に召喚しちゃいましょう。

移植元作品がゲームセンター筐体に収録された作品なら、「筐体基板」や「コントロールパネル」を。
他に例えば「NINTENDO 64」の作品なら、「NINTENDO 64ハード」と該当作品ソフトを。

後述しますが、振り返ると「移植元のゲームを手元に揃える」のはテスト環境として必須だと感じられます。


#### 2.画面色や音、BGMの再現検証について比較元がない
> （4）**いっそ筐体基板をレンタルしちゃう**

手元に移植元があれば解決です。
都度、実機と移植元を比較しながら検証を行いました。
（このやり方でいいかは、要プランナー相談）


#### 3.テスターの腕前が追いつかず、テスト実行時に最後までクリアできない
> （4）**いっそ筐体基板をレンタルしちゃう**


基板があるんです、先にプレイして慣れちゃいましょう。

ゲーム作品が実装される前に「仕様把握」を目的に、テスターには移植元の基板で慣らしプレイをしてもらいました。
あとは、実機上で「セーブスロット」を活用しながら進めていくだけです。
（デバッグコマンドが仕込めない案件でしたので、セーブスロットは慎重に活用していきました）

また、慣らしプレイをする過程で「事前に集めた情報の成否判定（使えるコマンドや安置、攻略方法など）」も行ってもらいました。
そちらも、後は実機上で実際に攻略法や安置、コマンドが使用できるかを検証していく形をとりました。

#### 4.移植した実機側で不具合が出たけれど、元からあるバグなのかわからない
私が担当した案件では、『進行不能バグ』以外の不具合について、「移植元で起きている不具合は固有の不具合として残す」というポリシーが設定されていました。
（その不具合の再現を楽しみにしているお客様もいらっしゃると思われるので）

そもそも、
「移植なので滅多に作品自体の不具合はないでしょう」
「メインはハード機自体やシステム設定のテストだよね」

くらいに思っていました。
しかし、テスト実行してみるとけっこうゲーム作品内の検証にて不具合が発見されました。

そうやって不具合が出た時、「これは移植元固有の不具合なのか...？」と判断がつかないのです。
移植元が手元にないと。
> （4）**いっそ筐体基板をレンタルしちゃう**

あるじゃん。
という訳で、**不具合が発見された場合は移植元となる基板と比較**を徹底しました。
時に比較動画を並べてエビデンスとし開発に共有していました。

#### 5.実機上の遅延が妥当なのかがわからない
> （4）**いっそ筐体基板をレンタルしちゃう**

移植元の基板と実機を比較しながら妥当な範囲を探りました。

一例をご紹介します。
私たちが担当していた作品の中には「弾幕シューティングゲーム」もありました。

特にそういうゲームにとって「操作のラグ（遅延）」って命取りです。
そして何より、お客様が最も気にする点であります。

そのため実際にテスト実行を重ね、プランナー様や開発様とで「妥当」なところで実機の具合を合意しました。
しかし残念ながら発売後も「操作遅延」を指摘する声は多々散見される形となってしまいました。

テスト観点として「遅延具合」はしっかりとテスターに共有して探索的に確認してもらい、最終的には「移植元基板とほぼ同じ遅延」というところまで合意を持っていきましたが...。

「操作遅延」は下記の事情によりなかなか解決（お客様の満足）に繋げるのは難しいかなと思っています。

> ・移植元から存在する操作遅延があったりもする
・基板からの移植の場合、新たにその遅延具合を調整・解消することが難しい
（技術的にも、今回の案件では権利許諾的にも）
・別モニターに映像出力する場合、さらに操作の遅延が発生する
・お客様の環境次第の部分も大きい（モニターのスペックなど）

どうしたってこの部分はクリアが難しいですね...。
とはいえQAとしては、「プレイが進められない」「クリアできない」などユーザー不利益が生じぬように、検証を重ねていくことが大切ですね。
（システム設定を掛け合わせた際に、さらに操作遅延しないか、など含めて）

> 移植元の基板、ゲームセンター筐体の時点で操作遅延がある作品も多々あったりして、実機上ではその「遅延」まで正確に再現しましたが、技術的に可能なら移植の際はそういう部分も改善したほうが、ユーザビリティは良いのかもしれません。
（その「遅延」も楽しみにされているお客様も一部いるかもしれないので、難しいところですが）

# ミニクラシックゲーム機の移植案件を行うにあたって得られた知見
#### 1.ハード機だけではなく、『当時の再現テスト』が必要
> ・**操作、当時の攻略法の再現**
・**BGMやSEの再現**
・**画面やキャラクター色の再現**
・**バグ技や裏技コマンドの再現 など**

※紹介したものの他に、当時のモラルや慣習では許されていた「テキスト」やグラフィックが現代では許されない場合も多々あるので、通しプレイとして「**モラルチェック**」は必須
※「どこまで再現させるか」を初期段階からチームで共有することが大切（操作遅延や画面の色味、BGMやSEの聞こえなど）

#### 2.移植元となる作品を、移植元となるハードや基板で用意するとあらゆることが解決する
プランナーや開発の方のご協力あってこそです。
環境面はQA側だけではどうにもできないことも多々ありますが、チーム全体として向かうゴールは同じ1つなので、必要があれば交渉しテスト環境を揃えるのも大事だなと改めて学びました。

#### 3.製品ハードと各移植作品の繋ぎ込みの部分に対しては、しっかりテストを行おう
> ・セーブスロットに保存できる/できない
・セーブ再開時の再開箇所によって進行不能等に陥らないか
・各システム設定を反映させた際に、「表示異常」や「致命的な動作異常」が発生しないか
・ハード側の機能が各ゲームプレイ中に行えるか（メニュー展開やクイック操作など）
・各作品の操作やコマンド中に、ハード側の機能ボタン操作を割り込ませた際に意図しない挙動とならないか

#### 4.僕らにとってはただ1つのプロジェクトかもしれないけれど、楽しみにしてくださっているお客様にとってはかけがえのない思い出
企画発表当初、発売前、発売後、本当にたくさんの方がこの「ミニクラッシックゲーム機」を楽しみにされているんだなと、たくさんのツイートから感じていました。とてもやりがいのある案件でした。

# おわりに
案件が終わるころには、テストチームのみんなが各ゲーム作品のBGMを聴いただけで「この作品は◯◯！」と即答できるようになっていて、僕たち自身にとっても非常に思い出深い案件にもなりました。

レトロゲーム熱があがったので、機会を設けてやってみようと思います。
みなさんもぜひ、プレイしてみてはいかがでしょうか。

それでは。

## リンク
・[AIQVE ONE株式会社 公式サイト](https://www.aiqveone.co.jp/)
・[次世代ゲームテスト研究所（品質管理のAIQVE ONEによる情報発信ブログ）](https://blog.aiqveone.co.jp/)
・[AIQVE ONE ゲームQA Advent Calendar 2022](https://qiita.com/advent-calendar/2022/aiqveonegametest)