ポケットモンスター赤緑ベータ版 没トレーナー考察 まとめ(未完成)

○以前の製品版の考察について

 製品版のポケットモンスター赤緑青ピカチュウ版のトレーナーには未実装のトレーナーデータが数多く存在している。(参考:The_Cutting_Room_Floor内 Pokémon Red and Blue/Unused Trainers)
 当ブログではその本来の使用用途について2018年の終わりごろにその考察を行っていた。しかし結局のところ正体不明のデータが多く残る形となった。(参考:ポケットモンスター赤緑青黄 没トレーナー考察)
 今回のベータ版とされるデータの発見でその考察に進展があったため改めて整理を行うことにした。
 なお前回の考察とは矛盾する結論もちらほらみられるものの、より多くの情報を根拠としている今回の考察のほうがより真実には近づいたとは思われる。(なお前回の記事群は地味に黒歴史でもあるが資料用に残しておく。)

○ベータ版について

 ここでいうベータ版とは2019年2月16日にhelixchamber内で公開されたデータを指す。注)
そのファイルには断片的なソフトデータから抽出されたマップ、技、キャラスプライト、ポケモンの後姿、タイトルロゴ、トレーナーグラフィック、トレーナーデータ、アイテム、音楽、鳴き声の内部コードなどがグラフィックファイルおよびテキストファイルとして収録されているがそのデータの真贋や元々の『典拠』は不明である。
 当初からのインターネット上の掲示板群でのそのデータについてのさまざまな議論を拝見する限り否定に値するだけの根拠は見られず、ときには公開者のサイトと異なった情報を拡散している例すらも見られた。 注1)
 一方、トレーナーデータに目を向けると気味が悪いほど緻密な内容になっており、製品版の時点での謎の多くを解消するものだった。今回はこの製品版とベータ版のデータの比較を根拠として製品版の没トレーナーの正体を追うことを目的としている。

 しかしこれは一連の執筆を始めた2019年2月時点の話であり
週刊ファミ通 2019年5月23日号紙面上で初めて公開された開発時のキャラスプライトの中にベータ版が初出のデータとの一致が報告された。(参考:helixchamber氏 Twitter)そのため公開されたデータは実際の開発時の設定を現していることが判明した。



 もし、このデータ群を偽物であると主張するには最低でも2019年2月15日以前にこの開発時のスプライトと全く同じ画像が公開されているメディア媒体を示さなければならなくなるがそれはこれほどの有名作品であるにも関わらずいまだに報告されていない。注2)

○V1版とV2版について

 ベータ版のファイルは多くがV1とV2のふたつの時系列を示している。
 しかしこの時系列は同じ番号のデータであっても時期的なずれがあり、必ずしも対応を持っている点に留意する必要があると思われる。当のトレーナーデータはV2版は製品版と密接な関係にあることが分かる。しかしV1版は有名トレーナー以外のデータにV2版、製品版との共通点をほとんど見出すことができない。製品版やV2版では同トレーナー内でレベルが後ろにいくにつれ上昇する傾向となっており、まれに例外がある場合ならば開発時の時系列の材料とする事が出来る。
 しかしV1版はほぼ全てのトレーナーにおいて中間点までは番号が増えるにつれレベルの上昇が見られるが、ある時点でまた序盤のレベルから始まりまた上昇を始めるという不自然な挙動を示している。また手持ちも製品版はもちろんV2版と比較してもまるで共通性の無い奇妙なデータばかりになっている。しかしその一方で有名トレーナーの手持ちは違和感が無い。
 V1版がどの時期のデータなのかはいまだに謎が多くいくつかの仮説が考えられる。例えばV1版の一般トレーナーデータは戦闘のテスト用の適当な手持ちデータなのではないかと考えることができる。もしくは各トレーナーごとの考案時の最初のデータのみをとっておいた。そのため没ポケモンが入っていた部分を既存のポケモンとして扱うために奇妙なデータとなっているとも捉えられる。ジムリーダーのみ規則性のあるデータである点も上記の推定時系列表からそこそこ後半の位置にあることから一応の説明は可能である。しかし考察材料が少なく今回の考察ではV2版と製品版のデータを前提に進めていく。
(参考:V1版トレーナーデータリスト)

○参考にしたベータ版公開データのトレーナーフォルダ内のファイル

・Trainer Classes (ある一時点でのトレーナーの名前と内部コードの対応表。)
・Trainers.png (Dealers,Replacements,Finalの3つの時系列のトレーナーのグラフィックと内部コードの対応表?)
・Trainer Parties V2 (各トレーナーの使用ポケモン。ただし他のV2と名前のつくファイルと同じ時系列かは不明。)

○トレーナー毎のおおよその時系列表
時系列

 この図は一番左に製品版のマップの内部番号とダンジョン名を記している。しかし実際のマップの内部番号はどうろと各種町の外観だけが最初のところに配置されている。そのため各種ダンジョン名の横にほぼ同時期にトレーナを配置したと思われるどうろ名を併記している。その隣から各種トレーナーの内部番号から推測される大雑把な追加順を示す。
 開発経緯としてはたんぱんこぞうから始まる一般トレーナー部分と最初のライバルから始まる有名トレーナー部分とに分けられていたと思われる。たんぱんんこぞうの次のトレーナーからそれぞれの初出のトレーナーが少しずつ右肩下がりになっているが、有名トレーナーは法則が適用されていない例もあり比較的初期からいたと推測される。
 今回のV2版で判明した特に重要な情報はジプシージャグラーになる。製品版では各トレーナーごとの内部コードが複雑に並んでいるように見えるがV2版を見れば単純に末端のデータを削除された領域に詰め込んだだけだと分かる。
 特に重要な点としてシルフカンパニーの直後にチャンピオンロードのトレーナーが追加されており、イワヤマトンネル地下1階の直前に追加されたかいじゅうマニアとの情報を照らし合わせることによって、かなり時系列を絞り込むことが出来る。これを基点として連鎖的にトレーナー追加の時系列が開発末期の時期を中心に明らかとなった。
 開発終盤では有名トレーナー領域が圧迫されジェントルマンやきとうしら一般トレーナーと混在するようになる。最初のライバルと中盤のライバルが内部番号上では離れている点が奇妙に思える。これは中盤のライバルの直前には一般トレーナーであるジェントルマンが入っている事、ともに初出がサントアンヌ号であることから中盤ライバルとこれらはほぼ同時期に追加されたと考えることが妥当とみられる。
 Trainers.pngを参考にするとDealersの時系列に相当しこの時点で最終ライバルとカンナの位置にあった没トレーナーときとうしの配置が行われたとみられる。
この間のデータには製品版ではジムリーダーがいるはずだがこの時点で彼らはおらず、最終ライバルの直後に連続していたと考えられる。おそらくは大量にデータの削除があり、この隙間に埋め込む余地が出来たと思われる。これがReplacementsの時期に相当する。
 さらに末端にわずかに時期をずらしてカンナ、きとうし、キクコ、ワタルが並んでいて推測される。なお、特にキクコらの部屋はマップの内部コードは最後の最後にあり時期的なズレが生じてしまう。この時点では登場場所を指定しない構想だけの状態であったと推測される。この時期はエリートトレーナーやチャンピオンロードが作られた時系列に相当し、構想として存在していても違和感の無い時期と思われる。
 更に没トレーナーが出るとその領域に四天王一番手のカンナを詰め、続いてジムリーダーの1人が没となるとシバを詰め込んだと思われる。これがFinalの時期に相当する。
 V1版のうち少なくとも有名トレーナー領域、そしてV2版の全てのデータはこのFinalの時期より後だとみられる。
この図に関してはさらに考慮しなければならない要素はあるが現時点では体系的な整理が困難であり、暫定的なものとする。

○エリア別想定レベルの推察
想定レベル

○各種トレーナー考察

・トレーナー内部コード順
トレーナー種類

 製品版のデータの並びとしては全てのたんぱんこぞうのデータ、全てのむしとりのしょうねんデータという順に始まり、以降トレーナーの種別ごとに変遷していき最後のワタルまでそれが続くように管理されている。V1、V2版も同等と考えられる。灰色枠は製品版に没トレーナーが存在しているトレーナーを差し、灰色の文字は全くデータの存在しない没トレーナーを示している。
 以下に各種トレーナーの考察のリンクを示している。しかし一般トレーナーの次に有名トレーナーという順序としているため上の表とは順番が異なっている箇所が出来てしまう点に注意が必要である。
 リンク先では表を用いてV2版と製品版の比較、およびエリア別想定レベルとの比較を基点として考察を行っている。なお黄色の文字はその記事のみの記述であり、複数記事に全く同じ記述がある場合は緑色の文字で示している。
 
たんぱんこぞう
むしとりのしょうねん
ミニスカート
ふなのり、ボーイスカウト
ガールスカウト
かいじゅうマニア、りかけいのおとこ
やまおとこ
ぼうそうぞく
かじばどろぼう
でんきやのオヤジ
つりびと
かいパンやろう、スキンヘッズ
ギャンブラー
おとなのおねえさん
サイキッカー、でんきグループ 、ジプシージャグラー
もうじゅうつかい
とりつかい
からておう 、はぐれけんきゅういん
ロケットだんいん
エリートトレーナー♀♂
ジェントルマン
きとうし
有名トレーナー
ジムリーダー、してんのう

○各種エリア別データ

トキワのもり
ニビジム
3ばんどうろ
オツキミやま 1F
オツキミやま B2F
24ばんどうろ
25ばんどうろ
ハナダジム
ハナダシティ
6ばんどうろ
11ばんどうろ
サントアンヌ号
クチバジム
7ばんどうろ
9ばんどうろ
10ばんどうろ
イワヤマトンネル 1F
イワヤマトンネル B1F
12ばんどうろ
8ばんどうろ
ロケットだんアジト
タマムシジム
ポケモンタワー
13ばんどうろ
14ばんどうろ
15ばんどうろ
16ばんどうろ
17ばんどうろ
18ばんどうろ
4ばんどうろ
セキチクジム
シルフカンパニー
かくとうどうじょう
ヤマブキジム
19ばんすいどう
20ばんすいどう
ポケモンやしき
グレンジム
21ばんすいどう
トキワジム
23ばんどうろ?
チャンピオンロード

○ポケモン種類別使用トレーナーデータ

V2版、製品版使用ポケモン一覧(一般トレーナーのみ)
V2版、製品版使用ポケモン一覧(含有名トレーナー)

※色つき文字はV2版と製品版間の単純な使用数の増減を示しており、必ずしも修正、追加、削除などの変更事項を全て網羅しているわけではない。なお製品版時点で没データとして存在するトレーナーも集計対象としている。

・系列別一般トレーナーデータ
アーボ イシツブテ イワーク オニスズメ

ガーディ カモネギ カラカラ キャタピー クラブ ケーシィ ケンタロス コイキング コイル コラッタ コンパン

サイホーン サンド シェルダー ズバット スリープ ゼニガメ

タッツー タマタマ ディグダ ドードー ドガース トサキント

ナゾノクサ ニドラン♂ ニャース ニドラン♀ ニョロモ

パウワウ パラス バリヤード ビードル ピカチュウ ピッピ ヒトカゲ ヒトデマン ビリリダマ フシギダネ ベトベター ベロリンガ プリン ポッポ ポニータ

マダツボミ マンキー メノクラゲ

ヤドン

ロコン

ワンリキー

・使用トレーナーが1人のみの系列

オムナイト カブト コダック バルキー系(当時はいないけど…) モンジャラ ラッキー ラプラス ルージュラ

ストライクカイロス ブーバーエレブー

○製品版没トレーナーの結論
製品版没トレーナー

 V2版と製品版の関連性は一言では言い表せないほどに緻密なデータとなっており、製品版時点での没トレーナーの謎の多くを解明するに至った。しかしその一方で特にV1版の時系列は空白の時期が多くいくつかの新たな謎も生まれた。今後の更なる詳細な開発時のデータの公開が待たれる。(2019年5月時点)注3)

○副産物

<更なる時系列的な整理>
ポケモンとわざの内部コードの関係
鳴き声の内部コードに関する情報の整理
32キロバイトRAM実装に関する仮説
 
 製品内に存在する情報から時系列的な開発経緯の推察に関して必要となる事がらの整理。

1989年~1992年中盤
1992年中盤~1993年
1993年~1994年:item.text時点
item.text時点~Dealers時点~Replacements時点
Replacements時点~
アイテム関連の考察

 ポケモンの内部コード、わざの内部コード、どうぐの内部コード、アイテムの内部コードに着眼点を広めると開発経緯が互いにリンクする.ことが判明した。しかし考慮する要素が膨大になるため整理中。終わるのこれ

今回の考察の予告
今回の考察の序論

 公開当初にまとめ方針を考えずに見切り発車で執筆したページで当時はベータ版のデータそのものの妥当性すら疑問の状態であるため何らかの追加情報があった際に参考となるように現状のインターネット上の誤情報を整理・加筆していく予定であった。他の記事の執筆をしているうちに実際の開発時のデータであることが判明したために今となってはほとんど意味がなくなってしまった。念のために1月当時のまま加筆修正をせず残してある。





注).なお、ベータ版という語句をインターネットで検索するとシオンタウンの没BGMとされる話題が表示されるがこれは今回の公開データとは全く関係がない。深い言及は避けるがそのBGMの初出とされる動画では明らかに常識的にありえない説明となっているため偽りとみるのが妥当と思われる。例えば赤緑版の発売前に大阪で子供にデバッグ用のROMを配ったが、1000人もの子供が病院に運ばれために製品版で修正されたなどといった具合である。もしかしてポケモンショックを意識していたのだろうか。
注1).ゆえにこのデータの情報を得る際は公開者のサイトやTwitter、貼られているリンク等を直接、確かめる事が望ましいと思われる。特に公開者が過去に把握しまとめていた情報やその時系列の前後関係、再現した画像、存在しなければならないデータ等を誤って捉えており、その時点時点で判明している事実や情報と一致していないケースさえもインターネット上では見られる。くどいようではあるがそれなりの時間が過ぎてもそういった例が見られたので念のため。

注2).一見では分かりづらいが新ゲームデザインの表紙のキャラクターとはよく似ているが細部が異なっている。そもそもこの正体不明のキャラクターが開発時のポケモンのキャラクターだと認識されたきっかけが2018年12月のテレビ番組であり、その1週間後には既に記事としてまとめられていた。(参考:helixchamber内記事)

注3).2020年4月下旬ごろに今回とは別件の社内データとされるファイル群が流出した。情報サイト等では一致するデータ等も報告されており信憑性は高いと思われる。しかしいわゆるROMデータやソースコードなどの直接的なゲームソフトデータと言ってもいいようなファイルも含まれているようである。当ブログの理念ではこういったファイルの入手は営利的な観点への影響性から一切行って来なかった。今回の流出に関しても同様の方針とし取り扱わない事とする。
文字色
スポンサーサイト



ポケットモンスター赤緑青ピカチュウ版 鳴き声情報の整理

 この記事は鳴き声の内部コードと判明した情報を時系列的な観点から整理したページです。オリジナルの要素は薄いものの体系的にまとめられているサイトが見当たらなかったために作成しました。実機検証を行える環境がないため、情報の精度はそれぞれの参考媒体に起因します。

(1)2018年5月16日以前
 ポケットモンスター赤緑青ピカチュウに登場する151種類のポケモンにはいずれも固有の鳴き声が存在する。しかし実際のゲーム内では40種類ほどのベースとなる鳴き声の音程と長さを加工して151種類に見立てている。[1]
 解析サイト等を参照すると実質的には37種類のベース鳴き声が存在している事が確認されている。さらに既知の151匹の鳴き声に加えて数匹のけつばんにも鳴き声が割り振られている[2]
これらを基に鳴き声の内部コード順に整理すると次の図のようになる。説明の都合上そのベース鳴き声が使用されているポケモンを黒字で併記した。ベース鳴き声そのものが使用されていない鳴き声の場合は最も内部コードの低いポケモンを灰字で示した。

鳴き声
(2)2018年5月16日以降(小学館版学習まんがスペシャル ポケモンをつくった男 田尻智 発売以降)
 この書籍では開発時のポケモンのグラフィックが複数掲載されていることが各所で話題になった。特にhelixchamber上のページでは細部の解析が当初から行われていた。注目するべきは既知のポケモンにも謎の番号が割り振られている点にある。この番号は鳴き声の内部コードと対応しており、ニドラン♂、ビリリダマ、ゲンガー、ベロリンガ、オニスズメ、サイドン、ゴースにおいて一致した。その一方でカメックス、モンジャラにおいては一致が見られなかった

鳴き声漫画
(2')過去インタビューの精査
 実は2017年度のインタビューでも鳴き声に関する手がかりとなる情報がある。このインタビュー映像では一瞬映し出される開発資料上にポケモンの名前らしきものが確認できる。この順序も鳴き声の内部コードに対応していると思われ2~6番、12、14番の鳴き声で一致が見られた。11番のニドキングも製作時はマイコーと呼ばれていた[3]点も考慮すると一致しているとみられる。
 その一方で9番、15番、16番の鳴き声では製品と一致していない。これらは時期的には前項の漫画の発売前から公開されていた情報媒体ではあるものの、helixchamber上のページでは先述の漫画発売以降に記事をまとめていたためそれに習った。

鳴き声インタビュー
(3)2018年12月19日以降(NHKニュース おはよう日本 放映以降)
 この時点では内部コード17~30番までのポケモンの初期案が公開された。しかし1つのポケモンにつき2つの数字が併記されていた。片方は製品のポケモンの内部コードと一致しており、一方は鳴き声の内部コードと一致している。ここではそれらが大半が一致したものの、オメガという没ポケモンとカラバジオというカメックス型のポケモンは一致していない。また、かつて漫画に掲載されたカラバジオとモンジャラの鳴き声コードと今回の数値は別物になっており、おそらくは漫画上の数値は他の要素を示していたと思われる。helixchamber上のページではおよそ1週間後にこの番組の情報をまとめており、鳴き声に関しては数日後にコメント欄で指摘されている。

鳴き声ニュース
(4)2019年2月26日(ベータ版公開以降)
 (3)の時点で製品と鳴き声の一致しないポケモンに十分な結論を下す事も可能ではあるものの、この時のベータ版のデータの判明によってMusic and Cries.txtというファイルから鳴き声とポケモンの初期名の対応が明らかになった。以下がその概要になり、これまでの仮説を裏づける内容になっていた。
 新しく得られる情報は鳴き声の内部コード33番以降のポケモン?名と現ヤドランと現ヤドンの鳴き声が逆になっている事等などがある。その一方で新たに付与された謎の値についてはどういった性質の数値なのか現時点でも不明である。

鳴き声最終
(5)現時点での結論
 これまでの情報を総括し、製品版と開発のある時点での鳴き声の情報を整理すると次のようになる。

鳴き声結論
これらの複数資料を総括して新たに導き出せる結論としては
・現ニドラン♂およびニドラン♀の双方はハリウサギ→ハドラン→ニドランのような何度かの名称の変遷を辿っている。
・現ゴースはゴース→ゴースト→ゴースのような変遷を辿っているか、名称が曖昧なまま開発されていた。
・現ヤドンは開発初期の段階はヤドホゲラだった。
・3番のヤドン(現ヤドラン)と32番のヤドホゲラ(現ヤドン)の鳴き声コードは元々は反対になっていた。
・5番のサイホーンのベース鳴き声は後にリザードンにも転用。変更の手違い等でサイホーンと同じ鳴き声になった。
・7番のベース鳴き声は元々はビリリダマの鳴き声であったものの、製品のビリリダマの鳴き声はベース鳴き声を調製している。
・8番のベース鳴き声は元々はゲンガーの鳴き声であったものの、製品のゲンガーの鳴き声はベース鳴き声を調製している。
・9番のベース鳴き声は元々はフシギソウの鳴き声であったものの、後に変更。現在はガラガラ等に使われているのもののそのベース鳴き声を持つポケモンはいない。
・16番のベース鳴き声はギャース(ギャオーン?)の鳴き声であったものの、後に変更。現在はフシギソウ等に使われているのもののそのベース鳴き声を持つポケモンはいない。
・15番のベース鳴き声はピッピの鳴き声であったものの、後に変更。現在はポッポ等に使われているのもののそのベース鳴き声を持つポケモンはいない。
・26番のベース鳴き声は一貫してカラカラの鳴き声である。しかしピッピに使われるように変更したため、内部コードがより小さいにも関わらずベース鳴き声ではない。
・20番のベース鳴き声はオメガの鳴き声であったものの、後に変更。現在はそのベース鳴き声はカメックスに使用されている。
・30番のベース鳴き声はカラバジオの鳴き声であったものの、後に変更。内部コード181番のけつばん用に使用されている(けつばん自体は使用されてないデータなので表現に困る)
・20番と30番のベース鳴き声の変更経緯からから現カメックスとカメールの進化系が別々に存在していた可能性が高い。
・31番のベース鳴き声は元々はヒトデマンの鳴き声であったものの、現在はスターミーに使われている。ヒトデマンの鳴き声はこのベース鳴き声を調製している。
・33番~38番のベース鳴き声は、没ポケモンというよりはその鳴き声自体を参考にしたキャラクター等と考えられる。製品版で割り当てられているポケモンの規則性らしきものは見当たらないため、ある時点では未使用となったベース鳴き声を開発後期に再び転用した可能性がある。
・まんがでカラバジオとモンジャラに割り振られた謎の値は鳴き声とは無関係の別値の可能性が高い。
などがある。

[1] これはいくつかの媒体で公式的に明言されている。最も信頼できる出典としては増田順一氏の口から直接語られる2017年度のインタビューがある。

[2]  TCRF上のページでは2016年6月の時点で個々の鳴き声が体系的にまとめられている。個人の範囲での解析は更に早い例もあると想像される。

[3] 2004年のゲームセンターCX上のインタビュー内の資料では赤緑版のニドキングと同じグラフィックのポケモンがマイコー♂と記載されている。helixchamberTCRF上のページなどで整理されている。

ポケットモンスター赤緑青ピカチュウ版 32KbyteRAM実装に関する考察

 ポケットモンスター赤緑版は1996年2月に発売された。そのゲームソフトの容量は4Mbit(512Kbyte)、セーブデータ容量は256Kbit(32Kbyte)となっている。このポケットモンスターシリーズの発売によってゲームボーイのハード市場が復活したことは広く語られている。その際によく引き合いに出される例が年度別のソフト発売タイトル数でありグラフ上に可視化すると次のようになる。なお調査方法はwikipediaや複数の解析系サイトを参考にした。赤緑版のように複数バージョンに分かれているソフトは片方を、青版のようにローカライズ作品として発売日が明確に違う場合は別ソフトとして扱った。合格ボーイシリーズのようにゲームとしての定義が難しいソフトも除外している。
 ソフト本数
 意味ありげな色分けに気づかれたとは思うが、これが今回の記事の主役である。これはゲームソフト容量を示している。この時点でのポケモンのゲームソフト用量が当時の水準と比較した際にどの程度に相当するか判断するためである。先ほど述べたようにポケモンは4Mbitの容量を持ち、さきほどの本数のグラフを百分率に変更した図が次の図になる。グラフの紫字の領域が4Mbitに該当する。
ソフト容量パーセント
 ポケモン赤緑の発売された1996時点では4Mbitの容量のソフトが主流である。1996年時点での平均ソフト容量は4.23Mbitとなっている。一方で時代が進むにつれてそれ以上の容量のソフトが幅を利かせ、2000年ごろには4Mbitの新作ソフトはほぼ完全に姿を消してしまう。これらを含めてポケモン赤緑のソフト容量は1996年当時としては標準的な水準であることが分かり、同時に後々のゲームボーイ市場では遅れをとる水準でもある。現に1998年に発売されたポケットモンスターピカチュウ版の時点で既に8Mbitの容量に変更されている。ポケモンはゲームソフト用量に関しては時代相応のソフト容量のゲームという結論が得られる。[注]

 続いての表はゲームボーイソフトのセーブデータ容量を現している[注1]。ポケモン赤緑版は32Kbyteの容量のSRAMを持っている。ゲームボーイソフトの記録方式としてはSRAMを採用しておりセーブデータの保持に電池を必要とする。EEPの項目はゲームボーイとしては珍しい保存形式でバッテリーを必要としない構成になっている。具体的な容量こそ分からなかったもののその容量はSRAM方式よりも遥かに小さいとされている。[注2]
セーブ容量パーセント 1996年ごろからポケモンに追随するかのように32Kbyteのセーブデータ容量を持つゲームが現れ始めその数を増やすものの、主流は8Kbyteのゲームであり、覇権を奪ったとまでは言えない。表中でもこの32Kbyteを上回るゲームはわずかに4本しか見あたらない。そればかりかこれよりも大きなセーブ容量のソフトはスーパーファミコンでも16本、ニンテンドウ64でも9本のみ存在する。[注3]さらにこの32Kbyte(256Kbit)という数字を覚えて最初のグラフに戻ればあることに気づくはずである。

 そう、32kbyte(256Kbit)のセーブデータ容量は最小のゲームボーイソフトと同等の容量に相当する異常な容量なのである。このポケモン赤緑のセーブデータ容量32Kbyteは1996年時点から数年後でも追いつかれることのない、高い水準の技術である事が分かる。

 この莫大なセーブデータ容量に関する逸話は開発者へのインタビューという形でいくつか明らかになっている。例えばポケモンストーリーという書籍を参考にした記事を基点に話を進めていく。

 記事中の内容に関して32KbyteRAMが最新の技術とされているが1993年発売のウィザードリィ外伝3では既に32KbyteSRAMが採用されている。先のセーブデータ容量の表中で青い枠で囲っていたソフトである。しかし前例が1本のソフトしかなく、それも開発費を抑えやすく出荷本数の計算がしやすいシリーズ作品と新参の未知数のゲームでは搭載の難易度も全く異なっていたたと思われる。ウィザードリィ外伝3でさえも過去2作と比べると値段が500円ほども上昇している。それほどのコストのかかる技術であったと思われ、2年の月日が経過しても模倣する作品が登場しなかった困難な技術であることは間違いない。ゆえにこれ自体は揚げ足取りに過ぎない。

32KbyteRAM.png

 続いて最終的に容量が8倍になったという話だがこれも誤解を生みやすい。ゲームボーイ上で定義できるセーブデータ容量は2Kbyte[注4]、8Kyte、32Kbyteであり(参考:GB SPEC Wiki 内カートリッジヘッダ)、この組合せでは8倍の容量に増やす事はできない。30匹から240匹へと最大保存ポケモン数を増やした事を8倍の容量と表現していると思われる。実質的には8Kbyteから32Kbyteの4倍の容量への変更と思われる。

 ここから具体的な話に踏み込み箇条書きにまとめる
・ニックネームありの状態では30匹のポケモンしか保存できなかった。
・ニックネームなしの状態では120匹のポケモンを保存できるようになった。
・RAM容量増設の交渉によりニックネームありの状態でも240匹のポケモンを保存できるようになった。
・ID等はその直後に交換の動機付けにより実装された。

しかしニンテンドウオンラインマガジンでは
・セーブデータを3つ作れるか、ポケモンに名前がつけられる選択を迫られた。

といったような話が記載されている。

若干話が錯綜しているようではあるので製品の容量から考える事にする。ここではbulbapediaの記事を参考にする。まず32KbyteとしてきたRAM容量であるが厳密には8KbyteのRAMが4つ使用されている。その4つのRAMのデータ内訳とボックスを構成するデータとポケモン1匹辺りのデータが次のようになる。海外版ではボックス容量が30匹から20匹へ、名前が6文字から11文字へ変更された点から日本版の容量を推測すると次のようになる。厳密な確認は当方の環境では不可能なため各種解析能力を持った方々に期待したい。
 英語日本変換
 さらにそれをグラフ上に可視化すると次のようになる。赤枠が使用領域、が未使用領域、がボックス領域になる。なおグラフの最大値は8"K"byteのため8192byteとなる。未使用領域は実に全体で10Kbyteにも及ぶ範囲に広がっている事が分かる。

図示32kbyte

 容量の考察としてまず着目するべきはボックスの切り替えの際に行うであろう処理にある。ゲームボーイのハードでは1度に読み込めるセーブデータ容量が8Kbyteという制約がある。つまり8KbyteRAMは常に1つしか読み込めない制限が課される。そのためまずはゲームフラグが格納されているRAM1を読み込んでいる状態とする。ボックスの切り替え時はRAM1の選択ボックス領域をゲームボーイ本体RAMに移動してRAM1自体との接続は解除される。続いてRAM2かRAM3を読み込み対応するボックス領域を選択ボックスによって書き換える。同様に新たに選んだボックスを本体RAMに読み込み、RAM1のボックス領域を書き換える。ゲーム中にレポートの処理が挟まるのはこのためと思われる。

 この違和感のある挙動だが、元々がセーブデータ3つの構想であったならば納得がいく処理である。RAM0は起動時から読み込んでおきセーブデータ選択画面等の情報を保持させておく。セーブデータ選択後にゲームの進行情報を読み込むためにRAM1~RAM3を用いる事が考えられる。これならばゲーム進行中にRAMの変更の必要が無くなり円滑にゲームを進められるようになる。少なくともセーブデータが3つの構想は32KbyteRAM時代の話と思われる。

 続いてポケモンとボックスの容量に着目する。次がポケモン1匹あたりのデータになる。これもbulbapedia内の記事を参考にしている。

ポケモン1匹あたりセーブ容量

 実のところニックネームの有無だけでは容量はそれほど変わらない事が分かる。1匹あたり6バイトの削減になると見込まれるので製品版の基準ではボックスデータが1.3倍になるだけである。せいぜい30匹が45匹程度になるだけである。つまり容量に影響を与えた要素が他にあると思われる。

 記事の順序から交換の動機付けにあったIDの導入とそれにともなっておやの名前も無かったと考えると、まずここで2バイトと6バイトの計8バイトが差し引かれる。ボックス関連の処理として、実はボックス内のポケモンは能力値を保存しておらず、いわゆる努力値と個体値のみを保存している。そのため能力値の計算はポケモンを引き取った際に、努力値、個体値、レベルから再計算される処理も同時に行われる。これはポケモンの保存容量を削減するための措置と考えられる。先ほどの表でも現在能力値は処理を簡便にするためか最後の方に配置されている。レベルも保持しておらずボックス内では最後に預けたレベルを保存している。目的は不明だがこのような処理になっている。これらを開発時にあったと仮定すると製品中のボックス内のポケモンは10+1バイトの計11バイトの削減がされている事になる。

 これらから開発時のボックス容量の推測を行うとニックネームありの状態で1142byte、ニックネームなしが962byteという値が得られる。ポケモンのID、親の名前、現在能力値の保持もなしという仮定がされている。

ニックネームありなしの影響

 これらを参考に8Kbyte時代のセーブデータ内訳を考えていこうと思う。基本的にはRAM1のデータが母体になる。注目する箇所としてとしてRAM0のスプライトバッファ領域とその直後の空白にあり、下図のハッチング領域がそれにあたる。これはメインデータと思わしきRAM1の下部空白と寸分の狂いもなく一致する。元々RAM1に存在していた可能性が高いのである。ゆえにRAM1のこの領域はボックスデータには使えない前提とする。手持ちポケモンの各種データも微々たるものではあるがこれまでの仮定に沿った調製をしている。紫色の領域は殿堂入りデータではあるがあまりに容量的に大きいため元々存在しなかったか、断念したかのどちらかになる。

解釈32kbyte
 
 自由に使用できる領域はRAM1上部の4000byteほどになる。その領域を4つのボックスで埋めることが出来た。インタビュー中の増設前の120匹のニックネームなしとされる状態に相当すると思われる。しかしこの状態でもニックネームありの状態では90匹ほどのポケモンの保持は可能になる。

想像8kbyte

これらを総括して考えると
①ある時点では8KbyteのRAM容量にニックネームありの状態で30匹ほどしか保存できなかった。
②工夫の結果、ニックネームなしで120匹のポケモンを保持可能になる。(ニックネームありで90匹ほどとの選択肢)
③32Kbyteへの増設の結果、セーブデータ3つの保持か、他のRAMにもポケモンを保存するかの選択。
④IDやトレーナーの名前、殿堂入りの構想はこの頃か。8Kbyte時代や3つのセーブデータ構想等の名残からRAM上に10Kbyteにも及ぶ空白が出来る。

 といった結論が自然と思われる。ポケモンストーリーの内容が基本的には正しいものの、"ニックネームありの30匹"と"ニックネームなしの120匹"の時期が異なっていたと思われる。ニンテンドウオンラインマガジンのインタビューもおそらくは32Kbyteの増設時とニックネームの有無の選択肢が近い時期にあったために混同したと思われる。

 ここで問題となるのが①の時点でのポケモンのデータ容量であり、ボックスのポケモンの能力値を保持する仮定でも1匹あたりにして最大で43バイトほどの謎のデータが存在していた事になる。これについての仮説はまた別の機会に述べる。

謎値が現れる


なお今回の結論と相反してwikipediaではある開発スタッフの書籍を参考に次のように記述されている。

 「ポケモンの種類の多さをとるか」「ポケモンにニックネームを付けられるようにする方をとるか」という選択に関し、スタッフ達の間で意見を募集したところ、ニックネームを採用した方が良いと言う声が多く上がった。そのため、ニックネームを付けられるシステムを採用したが、これが容量を圧迫することとなり、当初は登場するポケモンの数が100匹以下まで大幅に削減されてしまった。しかし、その後、容量の増加が確保され、151匹まで出せるようになった。一方、容量が増加したことで、本来であれば300匹ほどまでポケモンの数を確保することも可能であったが、他の要素も拡張したいというスタッフの意向から、最終的には151匹に纏まった

 この記述内の文中の登場ポケモンとされている表現はセーブデータ容量ではなくソフト容量が影響するはずであり、書籍は保存可能ポケモン数と混同していると思われる。最初の100匹以下に削減されたという記述は先ほどの8Kbyteの時期にニックネームありで90匹ほどのポケモンが保存可能な状況の事を指していると思われる。同時に151匹という表現は"151匹ほどの全てのポケモンが存在していても不自由を感じさせない程度の保存可能ポケモン数"と考えられる。
 32Kbyteへの増設後の話にある300匹ほどの登場ポケモンも正しくは保存可能ポケモン数を指していると思われる。確かに先ほどの32Kbyteの概略図ではRAM2とRAM3にボックスを1つずつ追加して10ボックス300匹の保存可能ポケモン数とすることは可能に見える。機能の拡張とは3つのセーブデータの構想かもしれないし、それ以外の没になった要素かもしれない。製品のRAM2とRAM3にはボックスデータと空白のみが存在し8ボックス240匹の保存数となっている。[注5]








[注]ポケモンが開発時に2Mbitの容量だった事も過去にインタビューで資料を交えて明かされている(参考:youtube内動画)。これもおそらくは当時の相応の容量だったとは思われるが、残念な事にこの図表では時期を逆算できるほどの精度はない。結果として手間を掛けて調べた割にほとんどの意味を失ったので前置きとして再利用した。

[注1]MBC2規格ソフトのRAMは外部上にあり、厳密な容量は定義されない。サイトによっては128byte相当としている例もありここではそれに倣った。いずれにしろ8Kbyteや32Kbyteと比較すると非常に小さな容量である。初期のRPGやセーブ容量を必要としないジャンルのゲームソフトなどで使われているようである。

[注2]例えばニンテンドウ64ではSRAM採用ソフトは32Kbyte、EEPROM採用ソフトは512byteと2Kbyteの2種類が存在し、大容量化が困難であることが想像できる。

[注3]ただし恣意的な数え方をしている。32Kbyte"以上"のセーブデータ容量を持つスーパーファミコンソフトは100本、ニンテンドウ64ソフトならば52本になる。ニンテンドウ64では事実上のSRAMの規格が32Kbyte"しか"存在しないことを逆出にとっており、唯一の例外としてはデザエモンがある。コントローラーパックという外部機器を使えば事実上無限大の容量となるゲームも山ほどある。64ではEEP形式のゲームも数多く存在し、必ずしも容量だけがセーブ方式の優劣でもない。ちなみに同時期の家庭用ゲーム機ではプレイステーションのメモリカードが128Kbyte、セガサターンのメモリカードならば512Kbyteである。任天堂ゲーム機では2002年発売のゲームキューブの最小のメモリカードが512Kbyteの容量を持つ。
 
[注4]2KbyteのRAMを搭載したゲームボーイソフトは海外版も含めて見つからず、一部の同人ゲームのみが見つかった。規格上のみの存在に終わったと考えられる。

[注5]300匹ほどのポケモン数とあるものの金銀開発中のインタビューでは200体以上と明言されており、内部コードが最大のポケモンは190のウツボットであるため種類数とは異なると思われる。