← すべての記事

昔のポケモンを、何も借りずに讃える

『金・銀・クリスタル』は、プレイヤーが歩く一歩一歩を一つのルーチンに通します。そのルーチンが256歩ごとに手持ちのタマゴを孵化へ近づけ、512歩ごとに手持ちのなつき度を上げ、4歩ごとにどく状態のポケモンにダメージを与えます。『エメラルド』はきのみを実時間の時計で4段階に育て、植えてから実がなるまで4〜96時間かかります。そして2語の言い回しを1日5ポイントずつ揺らがせ、セーブデータからセーブデータへと広めていきます。1234 これらはメカニクスであり、オマージュが受け継いでよいのはメカニクスです。受け継いではいけないものは、記録が教えてくれます。この記録のなかで2016年から2024年にかけて取り下げられたファンゲーム、ツール、フォーラムは、ひとつ残らずポケモン自身の名称、アート、コードの上に作られたものか、そうしたゲームへリンクしていたものでした。5678 そしてメカニクスをめぐって争われた唯一の事件、2024年9月18日に東京で提起されたPalworldの訴訟が依拠する特許の請求項は、捕獲アイテムを狙って投げること、捕獲のしやすさを示す表示、あるいは空中で騎乗キャラクターに乗ることを要件としています。910111213 そこで私は4本の逆コンパイルをシステムのために読み、請求項と裁判の報道を線引きのために読み、私たちのアプリKiradexのためのブリーフを書きました。歩くこと、時計、カード、一方通行の段差、週替わりのホール、広まっていく言い回しは受け継ぎ、そのすべてのピクセル、言葉、数値は自分たちで描きます。

TL;DR

  • 歩くことが通貨でした。 どちらのエンジンも、フィールドでの一歩一歩を一つの関数に通し、タマゴ、なつき度、どく、むしよけスプレー、サファリゾーン、再戦がすべてその関数に耳を傾けています。刻みは粗く(4歩、128歩、256歩、512歩)、だからこそ報酬は「出来事」として届きます。予算も秒ではなく歩数で消費されます。サファリゾーン1回が500歩、3種類のむしよけスプレーが100歩、200歩、250歩です。1214151617
  • 時計が1週間に形を与えました。 『クリスタル』は1日を4時、10時、18時で区切り、むしとりたいかいを火・木・土曜日に20分間開催し、毎週金曜日にラッキーナンバーを抽選して手持ちのすべてのポケモンと照合し、16個の日替わりフラグを深夜0時にリセットします。『エメラルド』は日付が変わると11の更新を走らせ、戻ってきたときに経過した分数からきのみを育てます。18192021223
  • ステータスは誰かに見せるものでした。 『エメラルド』のトレーナーカードは4つの星のたびに色が変わり、星はそれぞれ別の種類の遊びに対応しています。ボックス1つは6×5のグリッドに30匹。バトルフロンティアのタワー、パレス、アリーナ、ファクトリーへの挑戦は7戦(ドームのトーナメントは4戦、チューブは14部屋、ピラミッドは7フロア)で、バトルタワーのフロンティアブレーンは連勝の35戦目と70戦目に登場します。232425
  • 他人の世界が自分の世界にやって来ました。 レコードの混ぜ合わせ(record mixing)は、セーブデータ間で5,188バイトをコピーします。ひみつきち20か所、テレビ番組の枠25(うち20枠はこの方法でしか届かない番組専用)、流行語(trendy phrase)5つ、そしてバトルタワーの記録です。プレイヤーの5人に1人はHipsterから始まり、彼はやって来るたびに隠された言葉を1つ教えてくれます。262728
  • 著作権、商標、特許は三つの別々の線です。 Uraniumの開発者は2016年に、誰からも直接の連絡はなかったと述べ、削除通知を受けてゲームを取り下げました。Prismは2016年12月21日に停止通告書を受け取りました。Relic Castleは2024年3月、DMCA通知を受けたと報じられたのちにオフラインになりました。特許をめぐる事件はPalworldだけで、2025年11月にゲームの旧バージョンに絞り込まれ、差止めは依然として求められており、2026年10月4日時点で判決の報道はありません。5682930
  • トリビュートゲームはジャンルを残し、名前を捨てました。 私が確認した6本のトリビュートゲームとPalworldのSteamストアの説明文は、どれも「Pokémon」と書いていません。開発者たちはインタビューでは、影響源としてその名を自由に口にしています。3132
  • これがKiradexにもたらすもの。 ビルドではなくブリーフです。広場を256歩歩くたびに育つ窓辺の植木鉢、アプリ自身の時計で届く朝の木箱、コレクターのカードの4つの星、ルート上の一方通行の段差(決めるのは高低差とルートを扱う記事です)、週替わりのホールへの参加7回ごとのロゼット、そして広場から広場へと広まる2語の言い回し。それぞれに、似せてはならないものと、テストで実行できる確認を添え、アプリが決してしてはならないことのリストを付けました。読んだ特許は4件、歩数カウンターや時計についての特許調査はしておらず、弁護士にも相談していません。これは一開発者としての読み方であり、法的助言ではありません。33

1. 「あの感じ」は何でできていたのか、そしてどう測ったか

この記事は、『赤』『金』『ルビー』に出てくる生き物についての記事ではありません。その周りにあった瞬間についての記事です。帰り道に孵ったタマゴ、金曜日のラジオ番組、金色に変わったカード、通信ケーブルで遊んだ午後のあとに自分のゲームに現れた友だちのひみつきち。そうした瞬間はシステムであり、この記事が扱うのはシステムです。このシリーズのこれまでの記事では、タイル、人物、建物を測ってきました。今回は、カートリッジの電源が切れているあいだもポケットの中の世界を生きているように感じさせたループを測り、続いてそのゲームを愛した作品群をめぐる法的な記録を読み、最後に私たちの町が借りてよいものと借りてはいけないものを書き出します。343536

Kiradexはカードスキャナーで、その隣にピクセルの町、Kiradex Worldがあります。16ピクセルのタイルでできた広場で、コレクターたちが歩き回り、プリセットの台詞を口にし、自分のカードを見せ合います。34 スキャンするのは本物のポケモンカードであり、だからこそこの記事は慎重でなければなりません。アプリ自身のルールは、この調査より前に書かれたもので、すでに「nothing of theirs in the world」(世界の中に彼らのものは何も置かない)と定めています。生き物も、トレーナーも、捕獲道具も、ジムやバッジのデザインも、音楽も、「ポケ〜」という名前もなし。37 この記事が答えるのは、その次の問いです。これほど多くのコレクターが育ったゲームから、私たちのような町は何を受け取ってよいのか。そして、それをどうやって確かめるのか。

方法

前半は、Wikiではなくソースから読みました。例外はポケスロンについての1段落だけで、そこにはその旨を明記しています。pretプロジェクトは、ゲームボーイとゲームボーイアドバンスのゲームの逆コンパイルを保守しています。各ゲームを再構築するCとアセンブリで、READMEには再現するすべてのROMのSHA-1が記載され、ゲームの定数には名前が付けられ、ところどころにはリバースエンジニアリングをした人たちのコメントが付いています。私はそのうち4本を、それぞれmasterブランチのコミットでシャロークローンして使いました。pokeredはd2704a6(2026年9月22日コミット)、pokecrystalは5beda23(9月29日)、pokeemeraldは731ad5b(10月1日)、pokefireredは037335f(9月26日)です。38 スクリプトmeasure_systems.pyは、第2節から第6節で引用するすべての定数をファイル名と行番号付きで出力し、件数を導出します(43種のきのみの段階ごとの時間、電話と再戦の枠、テレビ番組の種類、日替わりフラグ)。もう一つのmeasure_map_features.pyは、『エメラルド』のすべてのマップを巡回し、各レイアウトのセルをタイルセットの属性テーブルと突き合わせて、段差、自転車専用、草むらのセルと、いあいぎりで切れる木を、マップの種類ごとに数えます。3839 この2本のスクリプトから出た数値は計測値です。何がいつ発火するかという説明は、それらが指し示すコードパスについての私の読み方です。逆コンパイルにコメントがある箇所では、それが説明しているコードも読みました。両者は食い違うことがあるからです。『クリスタル』の歩数ルーチンでは、呼び出し側のコメントは256歩ごとになつき度が上がると言っていますが、呼び出される側のルーチンは2回に1回しか動きません。そこで第2節はコードのほうに従っています。2 『ルビー・サファイア』はクローンに含まれていません。この記事でそれらについて述べている箇所は、『ルビー』や『サファイア』のセーブデータを解釈する『エメラルド』と『ファイアレッド』のコードから読み取ったものです。23

後半は2026年10月4日に取得し、保存しました。任天堂と株式会社ポケモン自身のリリースと規約ページ、Pocketpairのお知らせ、Google Patentsから日本の特許3件と米国の特許1件(日本の請求項はGoogleによる英語の機械翻訳付き、米国の請求項は特許自身の英語)、6本のトリビュートゲームとPalworldのSteamストアの記録、そして日付の入った、名前のある媒体の報道です。第7節から第11節の各主張には、文書または媒体の出典を付けています。ページにたどり着けなかった場合は、そう書いています。結論を引き出す場合は、私の結論だと明記しています。

この記事のどこにも法的助言はありません。私は文書を読んだ開発者であり、どの点についても弁護士には相談しておらず、読んだのは4件の特許であって、各社の特許ポートフォリオ全体ではありません。

この記事の背景にある調査は、Kiradexのリポジトリにあるドシエで、すべての事実にURLが、スクリプトが出したすべての数値に[measured]タグが付いています。この記事はそのドシエを読める形にしたものであり、第14節はそのブリーフです。33

2. 歩数カウンター:歩くことが通貨だった

携帯ゲーム機のプレイヤーには、決してやめることのない動詞が一つありました。どちらのエンジンもそれを一つの関数に通し、ほかのすべてがその関数に耳を傾けています。この二つの関数を読むのが、昔のゲームの生命がどれほど歩数で支払われていたかを知るいちばんの近道です。

『金・銀・クリスタル』:CountStep

『クリスタル』では、フィールドでの一歩一歩がengine/overworld/events.asmのCountStepを通ります。このルーチンは通信部屋ではスキップし、保留中の特別な電話やむしよけスプレーの効果切れがあればそちらに先に一歩を譲り、それからどくのカウンターと1バイトの歩数カウンターを1つ増やし、カウンターの値に応じて動作します。逆コンパイルのコメントが、各分岐の働きを説明しています。「Every 256 steps, increase the happiness of all your Pokemon」(256歩ごとに手持ち全員のなつき度を上げる)、「Every 256 steps, offset from the happiness incrementor by 128 steps」(256歩ごとに、なつき度の加算から128歩ずらして)タマゴの孵化カウンターを減らす(コードはカウンターを$80、つまり128と比較しています)、「Every 4 steps, deal damage to all poisoned Pokemon」(4歩ごとに、どく状態のポケモン全員にダメージ)。1 このうち最初のコメントが説明しているのは呼び出しであって、結果ではありません。呼び出されるengine/events/happiness_egg.asmのStepHappinessは、冒頭に自前のコメント「Raise the party’s happiness by 1 point every other step cycle」(歩数サイクル2回に1回、手持ちのなつき度を1ポイント上げる)を持っています。2つ目の1バイトカウンターを0と1のあいだで切り替え(and 1)、2回に1回は何もせずに戻るのです。したがって手持ちのなつき度は512歩ごとに1上がり、タマゴは対象外です。2 タマゴのコメントは制限で終わっています。カウントは最初の「one that is ready to hatch」(孵化の準備ができたもの)で止まるのです。engine/pokemon/breeding.asmのDoEggStepは手持ちを順番にたどり、各タマゴのカウンターから1を引き、カウンターが0になった時点ですぐに戻ります。するとCountStepがその一歩を孵化スクリプトに渡し、手持ちのそれより後ろにいるタマゴは次の刻みを待つことになります。40 CountStepは毎歩、育て屋に預けた2匹のポケモンにそれぞれ経験値を1ずつ加え、最後に自転車の歩数を数えます。1

このルーチンでいちばん気の利いた冗談は自転車です。『金・銀・クリスタル』では自転車屋が自転車を貸してくれ、店主の番号が電話に登録されます。電波の届く範囲で1,024歩以上乗ると彼から電話がかかってきます。自転車のカウンターは一周して戻るのではなく、65,535で頭打ちになります。1 自転車は乗って回る広告であり、ゲームはあなたがそれに乗っている姿を見られたかどうかを数えているのです。

『エメラルド』:TryStartStepCountScript

『エメラルド』は、一歩にもっと多くのものをぶら下げています。src/field_control_avatar.cのTryStartStepCountScriptは、順に次のものを進めます。再戦カウンター、なつき度のカウンター、さいはてのことうのカウンター、どく、タマゴの孵化、異常気象の終了、洞窟の入口を開く点字の謎、スクリプトで用意された5本の電話、サファリゾーン、タイドリップ号の通路、そしてマッチコール。どくは4歩ごとに効きますが(%= 4)、ひみつきちの中では決して効きません。14 なつき度は確実には上がりません。128歩ごとに(カウンターは%= 128で保たれています)、ゲームは手持ちの枠ごとにAdjustFriendshipを1回ずつ呼びます。この関数は「50% chance every 128 steps」(128歩ごとに50%の確率)というコメントの下で、Random() & 1が立っていれば早期に戻ります。つまりタマゴを除く手持ちの各ポケモンがそれぞれ自分のコイントスをし、勝った刻みにだけなつき度を得ます。平均すると256歩に1回です。1415

タマゴは自分の時計で動きます。育て屋の歩数カウンターは1バイトで、255に達すると発火して一周します。したがって256歩ごとに、手持ちのタマゴは(後述の制限の範囲で)それぞれ孵化サイクルを1つ失い、手持ちにほのおのからだかマグマのよろいを持つポケモンがいれば2つ失います。『エメラルド』にも同じ制限が別の形であります。ループは不正データとしてフラグの立ったタマゴ(MON_DATA_SANITY_IS_BAD_EGG)を飛ばし、カウンターがすでに0のタマゴに出会うとそこで止まってそのタマゴを孵化させるので、手持ちのそれより後ろのタマゴは次の刻みを待ちます。育て屋は同じ256歩の刻みで新しいタマゴの抽選も行います。2匹目の親の歩数の下位バイトが0xFFに達したときです。41

タイマーではなく予算

もう一種類の歩数は予算で、一度きりで使い切るものです。いちばんわかりやすい例がサファリゾーンです。『赤・青』では、ゲートが500円を受け取り、サファリボールを30個渡し、歩数カウンターに502を書き込み、それから自動でパークの中へ3歩歩かせます。『エメラルド』はカウンターをきっかり500に設定します。16 『赤』がなぜ500ではなく502から始めるのか、コードは何も語りません。また私はゲームを実際に動かして、その3歩のうち何歩がカウンターから引かれるかを数えてはいません。むしよけスプレーも予算で、『赤』から『エメラルド』まで変わっていません。むしよけスプレーが100歩、シルバースプレーが200歩、ゴールドスプレーが250歩です。17 再戦は第3世代で予算になりました。バッジを5つ集めたあと、『エメラルド』の再戦カウンターは255歩で満タンになり、次にマップを読み込んだときに、そのルートのトレーナーの誰かがランダムに再戦を望むことがあります。『ファイアレッド・リーフグリーン』のバトルサーチャー、つまりトレーナーに再戦を申し込む道具は、100歩歩いたあとでないと再使用できません。42

逆コンパイルから読み取った、歩数の対数目盛による横棒グラフ。塗りつぶしの棒は繰り返す刻み:育て屋のポケモンは1歩ごとに経験値1を得る。どく状態の手持ちは4歩ごとにダメージを受ける。第3世代では128歩ごとに手持ちの各ポケモンが50パーセントの確率でなつき度を得る。手持ちのタマゴは256歩ごとに孵化サイクルを1つ失い、手持ちの順で孵化準備のできた最初のタマゴまで進む。第2世代では手持ちのなつき度が512歩ごとに上がる。輪郭だけの棒は一度きりの予算:255の再戦カウンター、100のバトルサーチャー、むしよけスプレー100、シルバースプレー200、ゴールドスプレー250、500のサファリゾーン(『赤・青』では502)、1,024の自転車屋からの電話。

一歩が何をまかなうか、出来事1回あたりの歩数で。measure_systems.out.txtをもとにfigures.pyで描画。43

なぜうまくいったのか

コードからは三つの設計上の帰結が導かれます。受け継ぐ価値があるのはこの部分です。

すべてが粗い刻みで動きます。 タマゴはどちらの世代でも256歩ごとに進みます。第2世代はなつき度を512歩ごとに上げ、第3世代は手持ちの各ポケモンに128歩ごとのコイントスを与えます。プレイヤーには数字が増えていく様子は見えません。見えるのはときおり起きる出来事、タマゴが動いているというメッセージや、急に懐いてきたポケモンです。1バイトのカウンターはゲームボーイにとって最も安上がりな時計であり、私の読みでは、報酬がプログレスバーではなく天気のように感じられる理由もそこにあります。見張ることができないから、気づくのです。『エメラルド』のコイントスは、この天気を文字どおりのものにしています。同じ道のりを歩いても、なつき度が上がることもあれば、上がらないこともあるのです。121415

予算は待つことではなく、動くことで消費されます。 サファリゾーンの500歩も、むしよけスプレーの100歩、200歩、250歩も、歩いたときにしか減りません。立ち止まって文章を読んだり、考えたり、夕食のためにゲーム機を置いたりしたプレイヤーは、何も失いません。1617 数分おきに画面が伏せられるスマートフォンアプリにとって、これはカウントダウンよりも良い約束です。

歩くことは社会的な合図です。 自転車屋からの電話は、あなたがその自転車で出歩いていたことにゲームが気づいたしるしです。『エメラルド』の再戦カウンターは、あなたが去ってまた戻ってきたことをルートに「覚えさせ」ます。142 私の読みでは、歩数カウンターの最も深い仕掛けは、そこにいること以外何も求めずに、世界がプレイヤーの存在に反応するようにした点にあります。

どれも生き物を必要としません。カウンター、刻み、予算だけです。著作権は操作方法には及ばず、カウンターはまさにそこに属します。44 歩数で動くメカニクスについて誰かが特許を持っているかどうかは私が調べなかった問いであり、第14節もそう書いています。第14節は、このカウンターを植木鉢に使います。

3. 時計とカレンダー:1週間には形があった

『金・銀』はカートリッジにリアルタイムクロックを載せ、デザイナーたちはそれを約束事に使いました。『エメラルド』は時計を残しつつ、約束事をひとりでに進むカレンダーへ移しました。両者を合わせると、留守のあいだに変わっていく世界を支持する、私の知る限り最良の論拠になります。

1日の三つの時間帯

『金・銀・クリスタル』は1日を三つに分けます。朝は04:00から09:59、昼は10:00から17:59、夜は18:00から03:59です。定数はMORN_HOUR 4、DAY_HOUR 10、NITE_HOUR 18で、TimesOfDayテーブルには「0400-0959 morn | 1000-1759 day | 1800-0359 nite」というコメントが付いています。逆コンパイルには、値20、40、60を持つ未使用のBetaTimesOfDayテーブルがその隣に残っています。18

Kiradexはすでに時間を持っており、意図的にこれらの時刻を使っていません。アプリのDaylight.Phaseは、6時から9時が朝、9時から17時が昼、17時から20時が夕方、それ以外が夜で、独自の4段階の明るさを持ちます。第14節のブリーフもこれをそのまま維持します。45

決まった曜日の約束事

しぜんこうえんのむしとりたいかいは火曜日、木曜日、土曜日に開かれます。ゲートのスクリプトはこの3つの曜日だけを確認し、ほかの曜日は確認しません。実時間で20分間続き、パークボールが20個渡され(BUG_CONTEST_MINUTES 20、BUG_CONTEST_BALLS 20)、日替わりフラグが同じ日の2回目の参加を止めます。19 『クリスタル』は深夜0時に16個の日替わりフラグをリセットします。8個ずつ2バイトで、ガンテツのボール作り、むしとりたいかい、大量発生、きのみの木、散髪、デパートのわざマシン、技教えなどです。20

ラッキーナンバーの番組は週に一度です。次の金曜日までのカウントダウンが新しい5桁の数字を選び、ゲームはそれを手持ちと14個すべてのボックスにいる、あなたが持っているすべてのポケモンのIDナンバーと、右端の桁から照合します。5桁すべてで1等、3桁か4桁で2等、2桁で3等です。21 電話に登録された24人のトレーナーには、それぞれ再戦のために電話をかけられる曜日が1つと時間帯が1つあり、1つの曜日に3人か4人ずつ割り振られています。この人たちには第6節で戻ってきます。46

24時間の帯が二本と1週間。『金・銀・クリスタル』:朝04:00から09:59、昼10:00から17:59、夜18:00から03:59。KiradexのDaylight:朝06:00から08:59、昼09:00から16:59、夕方17:00から19:59、夜20:00から05:59。その下に『クリスタル』の1週間:火曜、木曜、土曜のむしとりたいかい、金曜のラッキーナンバー抽選、曜日ごとの再戦の電話の枠は月曜から3、3、4、4、4、3、3で計24、そして毎晩0時にリセットされる16個の日替わりフラグ。

『クリスタル』の1日と1週間、そしてアプリ自身の1日。measure_systems.out.txtとDaylight.swiftをもとにfigures.pyで描画。43

『エメラルド』のカレンダー

『エメラルド』は日付が変わるたびに、UpdatePerDayで11の「1日ごと」の更新を走らせます。日替わりフラグのクリア、流行語の変動、テレビ番組と大量発生の経過、天気、ポケルス、まぼろしじまの番号、オダマキ博士の状態、バトルフロンティアの2人のキャラクター(それぞれ1回の呼び出し)、あさせのほらあなのアイテム、そしてロトくじの番号です。同じファイルは、プレイヤーがポケモンセンターの中に立っているあいだはこれらをすべてスキップします。22 『エメラルド』には名前の付いた日替わりフラグが12個あり、そのうち9個は誰かからもらえる無料のきのみです。コンテスト会場のロビー、ルートにいる3人、Berry Master(きのみ名人)とその妻、ミナモシティ、花屋、ルネシティ。残る3個は、ひみつきち、ロトくじの券、そして弟子(Apprentice)の退場です。47

実時間で育つ庭

第3世代のきのみの木には、植えた、芽が出た、伸びた、花が咲いた、実がなった、という段階があり、加えてイベント用の木に「きらきら」した段階があります。セーブデータには木の枠が128あります。48 成長は歩数ではなく、リアルタイムクロックの分数で進みます。UpdatePerMinuteが経過分数をBerryTreeTimeUpdateに渡し、各段階はstageDuration × 60分続き、実がなった段階はその4倍続きます。その後、木は芽が出た段階に自分で植え直され、収穫されなかった実は消えます(berryYield = 0)。これを最大10回繰り返したあと、木は消去されます。3 一度に渡された分数が段階の長さの71倍に達した場合も木は消去されます。これはminutes >= GetStageDurationByBerryType(tree->berry) * 71についての私の読みで、1段階が1時間のきのみなら、およそ3日間の不在に相当します。3

43種のきのみの定義のうち、stageDurationは1時間が5種、3時間が12種、4時間が1種、6時間が11種、12時間が1種、18時間が5種、24時間が8種です。したがって植えてから最初の実がなるまでは4、12、16、24、48、72、96時間のいずれかです。3 水やりは段階ごとに1回記録され、フラグは4つです。収穫量は、水をやった段階の数に応じて上がっていく範囲からランダムに選ばれます。水やりなしならそのきのみの最小値、水をやった段階が1つ増えるごとに範囲が最小値から最大値へ4分の1ずつ移り、抽選結果は丸められます(CalcBerryYieldInternal)。3 43種のきのみの収穫量の範囲についてこの関数を列挙すると、最大値が最小値より2以下しか大きくない33種では、4段階すべてに水をやれば必ず最大値になります。残る10種(収穫量が2〜6または3〜6)では、4段階すべてに水をやると最大値かそれより1少ない値になり、2〜6のきのみは、水やり1段階で2か3、2段階で3か4、3段階で4か5、4段階で5か6になります。49

『エメラルド』の43種のきのみを、植えてから最初の実がなるまでの時間で分けた棒グラフ。4時間が5種、12時間が12種、16時間が1種、24時間が11種、48時間が1種、72時間が5種、96時間が8種。

『エメラルド』のきのみにかかる時間。measure_systems.out.txtのstageDurationの件数をもとにfigures.pyで描画。43

この発想はゲームボーイアドバンスより長生きしました。『ハートゴールド・ソウルシルバー』のポケスロンは、私は計測しておらず、Serebiiのガイドでしか知りませんが、3種目からなる1ラウンドのあとに「plus 100 points if you came in first」(1位なら100ポイント加算)を与え、ショップで売られる品は「change each day」(日ごとに変わる)そうです。50

なぜうまくいったのか

1週間には形がありました。『金・銀』は時計を約束事に使いました。週に3日の大会、それぞれ1つの曜日の1つの時間帯にだけ連絡がつく24人のトレーナー、金曜日の抽選、深夜0時に戻ってくる16の物事。19462120 『エメラルド』は約束事を変動に変えました。流行語は1日5ずつ動き、大量発生は2日続き、ニュースは4日のカウントダウン、きのみは4〜96時間かかります。451273 私の読みでは、その結果はカートリッジの電源が切れているあいだに変わっていた世界であり、それこそがもう一度電源を入れる理由のすべてでした。

スマートフォンにとって重要な細部が二つあります。『エメラルド』はポケモンセンターの中では1日の更新を走らせないので、足元で何も変わらない安全な部屋があります。22 そしてきのみの成長は、動き続けなければならないタイマーではなく、戻ってきたときの経過分数から計算されるので、留守のあいだも木は育ち続けます。とはいえ、木はあなたを待ってはくれません。熟した実は段階の長さ4つ分だけ木に残り、それから落ちます。1段階が1時間のきのみなら4時間です。そして段階の長さ71倍分の不在で木は消えます。3 私たちのアプリにもそう動いてほしいのです。到着時に時計から世界の状態を計算し、スマートフォンがポケットに入っているあいだも動き続けなければならないタイマーには決して頼らない。API側の話は第13節にあります。

4. 見せるもの:カード、ボックス、連勝、抽選

昔のゲームはステータスに物理的な形を与えました。そしてその形はどれも、ほかのプレイヤーの目に触れるものでした。

トレーナーカードとその星

『エメラルド』のトレーナーカードは星の数によって色が変わります。星なしは緑、そこからブロンズ、カッパー、シルバーと進み、4つで金になります。『ファイアレッド・リーフグリーン』のカントーのカードは、青、緑、ブロンズ、シルバー、金と進みます。23 『エメラルド』の4つの星はCountPlayerTrainerStarsにあり、互いに関係のない4つの達成です。殿堂入り、ホウエン図鑑の完成、ミナモシティの美術館にマスターランクのコンテストの絵を5枚すべて飾ること、そしてバトルフロンティアのシンボルをすべて手に入れることです。23 『エメラルド』が『ルビー』や『サファイア』のカードを読むときは、代わりにGetRubyTrainerStarsで星を数えます。殿堂入り、ホウエン図鑑、絵は引き続き数えられ、フロンティアのシンボルの代わりに、バトルタワーでの49を超える連勝(battleTowerStraightWins > 49)が入ります。23 『ファイアレッド・リーフグリーン』のカードは、通信相手向けに組み立てられる際、殿堂入り、カントー図鑑、全国図鑑、そして2つのワイヤレスミニゲームを合わせて星1つを数えます。きのみを200個摘むことと、200回連続で跳ぶことです。52

カードはソーシャルなオブジェクトでもあります。かんいかいわのプロフィール、9,999で頭打ちになる通信対戦の勝敗、交換の回数、友だちとのコンテストとポロックの回数、そして999時間59分59秒で頭打ちになる殿堂入りまでの時間が載っています。23

なぜうまくいったのか。 種類の異なる長い偉業が4つあり、それぞれが通信したときに相手に見えるものの色を塗り替えるので、部屋の向こうからでも色が読めます。『ファイアレッド』は4つの星のうち1つを友だちとの遊びに充てています。カードに載っているもので買えるものは一つもありません。私の読みでは、それこそが金色のカードを見せる価値のあるものにしています。

パソコンのボックス

保管庫は世代ごとに大きくなりました。『赤・青』は20匹のボックスが12個で計240匹。『金・銀・クリスタル』は20匹が14個で280匹(日本版のビルドは1ボックス30匹と定義しています)。『ルビー・サファイア・エメラルド』は30匹のボックスが14個で420匹、各ボックスは6×5のグリッドで、名前と壁紙を持ちます。24 30匹のボックスはバインダーの1ページと同じ発想です。並べることに報いる固定のグリッドであり、壁紙がそれを単なるリストではなく一つの部屋にもしています。

リボンとコイン

『エメラルド』は32種のリボンIDを定義しています。チャンピオンリボン、5部門×4ランクのコンテストリボン20種、Winning、Victory、Artist、Effortの4種、そして7種の記念リボンです。ポケモンのリボンが4つを超えると(コードはGetRibbonCount(...) > NUM_CUTIES_RIBBONSを判定し、その定数は4です)、枠が空いていて同じ番組がまだ待機していなければ、そのトレーナーについてのテレビ番組が作られることがあります。番組はオフの状態で作られ(active = FALSE、ソースにはレコードの混ぜ合わせで渡されるまで有効にならないというコメント付き)、レコードの混ぜ合わせで別のゲームに運ばれて初めてテレビに映ります。532754 ゲームコーナーのコインは9,999(MAX_COINS)で頭打ちです。55 コインは、この記事のなかで第14節がはっきり拒否する唯一のシステムです。理由は任天堂とは関係がありません。Kiradexは子どもが使うアプリであり、36 その世界の背後にあるコレクションの調査は、有料のランダムアイテムとスロットマシンのような形をしたものをすでに除外しています。33

バトルタワーとフロンティアの連勝

バトルタワー、パレス、アリーナ、ファクトリーへの挑戦は7戦です。バトルドームのトーナメントは4戦(DOME_ROUNDS_COUNT 4)、バトルチューブは14部屋(NUM_PIKE_ROOMS 14)でそのすべてがバトルではなく、バトルピラミッドは7フロアです。FRONTIER_STAGES_PER_CHALLENGE 7は共通の定数であって、すべての施設が従うルールではありません。連勝は9,999まで数えられます。25 各施設のフロンティアブレーンは連勝の決まった時点で現れ、銀のシンボル、次に金のシンボルを与えます。frontier_util.cのテーブルは書かれたとおりには読めません。判定は現在の連勝数に施設ごとの補正値を足し、その和をテーブルと比較します(winStreak + modifier == value)。補正値はタワー、パレス、アリーナ、ファクトリー、チューブでは1なので、ブレーンは35勝のあとの戦いではなく35戦目になります。ドームでは0で、ドームの連勝はトーナメントの優勝回数を数えます。ピラミッドも0で、こちらは踏破したフロア数を数えます。25

施設 連勝が数えるもの 銀のブレーン 金のブレーン
バトルタワー 勝ったバトル 35戦目 70戦目
バトルドーム 優勝したトーナメント 5回目のトーナメント 10回目のトーナメント
バトルパレス 勝ったバトル 21戦目 42戦目
バトルアリーナ 勝ったバトル 28戦目 56戦目
バトルファクトリー 勝ったバトル 21戦目 42戦目
バトルチューブ 突破した部屋 28部屋目 140部屋目
バトルピラミッド 踏破したフロア 21フロア踏破後 70フロア踏破後

出典:frontier_util.c(テーブルと判定)、各連勝が何を数えるかについては各施設のスクリプト。measure_systems.pyと手作業で読み取り。25

タワーの節目がいちばんきれいな形をしています。7戦ずつのセットがあり、ボスは5セット目の最後の戦い、そして10セット目の最後の戦いです。連勝が中身で、ボスは句読点なのです。

コレクションの大きさに報いる抽選

『エメラルド』のロトくじコーナー(Lottery Corner)は毎日新しい番号を抽選し、手持ちとボックスにいる、あなたが持っているすべてのポケモンのIDナンバーと右端の桁から照合します。コードには「do not calculate ticket values for eggs」(タマゴについてはくじの値を計算しない)とあります。一致した桁が2、3、4、5桁なら、それぞれポイントアップ、がくしゅうそうち、げんきのかたまり、マスターボールがもらえ、日替わりフラグがくじを1日1枚に制限します(FLAG_DAILY_PICKED_LOTO_TICKET)。56 『クリスタル』の週1回のラッキーナンバーも同じやり方で3段階の賞を出します。2桁、3桁か4桁、そして5桁すべてです。21

なぜうまくいったのか。 抽選がボックスをくじ券に変えます。持っているポケモンはすべて対象で、ほかのトレーナーのIDナンバーを持つ交換したポケモンも含まれます。だから大きく、多様で、交換を重ねたコレクションは、文字どおり運が良いのです。同時にこれは抽選であり、抽選は報酬をランダムにします。このシリーズの装飾アイテムのルール「never random, never on a countdown」(決してランダムにせず、決してカウントダウンにしない)はそれを拒否するので、第14節はこれを入れていません。36

5. 覚えている地面:段差、いあいぎりの木、2台の自転車

町と町のあいだのルートには、一方通行の縁と、開けられるようになる前から見えている錠前という、独自の語彙がありました。私はこれらを『エメラルド』でmeasure_map_features.pyを使って数えました。このスクリプトはすべてのマップのレイアウトをセル単位で読み、各セルの挙動をタイルセットの属性テーブルで引きます。数えているのはセルであって地形の数ではありません。長い段差1本は多くのセルからなり、複数のマップで共有されるレイアウトは1回だけ数えています。39

段差はルートの装置

『エメラルド』の41のルートのレイアウト、計87,787セルには、一方通行の段差のセル(MB_JUMP_*の挙動)が726、草むらのセルが2,777あります。41のルートのうち21に段差があります。最初の4つのルートの段差のセル数は13、17、24、13です。段差は9つの街のレイアウト(34セル)、地下(215)、屋内(48)にもあり、7つの町のレイアウトには一つもありません。39

『エメラルド』の一意なレイアウトにおける、マップの種類別の一方通行の段差のセル数の棒グラフ。ルートは87,787セル中726(0.83パーセント)、地下は64,302中215、屋内は44,186中48、街は20,500中34、海のルート、ひみつきち、町、海中のマップはゼロ。

『エメラルド』におけるマップの種類別の段差のセル数。measure_map_features.pyの出力をもとにfigures.pyで描画。4339

段差があるとプレイヤーは素早く下りられ、帰り道は別の道にならざるを得ません。だから短いルートの中にループが生まれます。人が暮らし、プレイヤーが到着する町には、段差は一つもありません。

早くから見えている錠前:いあいぎりの木と2台の自転車

『エメラルド』は、いあいぎりで切れる木のオブジェクトを33本置いています。22本はルートに、11本は屋内にあり、屋内のものはほとんどがジムの仕掛けです。39 2台の自転車は、それぞれ別の地面への関門になっています。マッハじてんしゃのセル(ぬかるんだ坂とひび割れた床)はルートに52、地下に150。ダートじてんしゃのセル(レールとでこぼこの坂)は85で、すべてルートにあります。39 マッハじてんしゃは3段階の速度で加速し(sMachBikeSpeeds = {NORMAL, FAST, FASTEST})、ダートじてんしゃはBボタンを押しながらの方向入力をトリック、つまりウィリーとバニーホップとして読み取ります。57

なぜうまくいったのか

開けられるようになる前から見えている錠前は、約束です。いあいぎりの木や自転車専用の地面は、最初に歩いたときに近道をプレイヤーに見せ、後で歩いたときにそれを回収させます。そして『エメラルド』の2台の自転車と2種類の閉ざされた地面は、どちらの自転車を選ぶかを、今回の道のりでどちらの半分の近道を見るかという選択にしています。3957 段差は方向について同じ役割を果たします。下りは速くて自由、上りは別の道です。

段差はまた、この記事のなかで私たち自身の以前の決定が押し返してくる唯一の場所でもあります。建物の調査は、見下ろし視点では自由な高さが読み取りにくいという理由で段差を拒否し、建物の記事は町にないものの一つとして「a one-way ledge」(一方通行の段差)を挙げています。3533 1セル分の一方通行の段差は、自由な高さではありません。z軸はなく、歩行グラフの中の一方向の辺があるだけです。そこでブリーフは範囲を絞った形を提案し、決定はそれがあるべき場所、つまりこれから書く高低差とルートの記事に委ねています。

6. 他人の世界:レコードの混ぜ合わせ、流行語、電話

この節のシステムは、私が広場にいちばん欲しいものです。ほかのプレイヤーについてのものでありながら、ほかのプレイヤーが同じ瞬間にオンラインである必要がないからです。

ひみつきちとレコードの混ぜ合わせ

『エメラルド』のひみつきちには最大16個のもようがえグッズを置けます。プレイヤーの寝室には12個。セーブデータはひみつきちを20か所保持し、そこには自分のものと、ほかのプレイヤーから受け取ったものが含まれます。58 どこから受け取るのか。レコードの混ぜ合わせからです。2人のプレイヤーが通信してレコードを混ぜると、ゲームはセーブデータ間で0x1444バイト、つまり5,188バイトのレコードをコピーします。そのフィールドは順に、ひみつきち20か所すべて、テレビ番組の枠25、ニュース、キンセツシティの老人(Mauville Old Man)、流行語5つ、育て屋のメール、バトルタワーの記録、贈り物のアイテム、ミナモシティの女性(Lilycove Lady)、2人の弟子、そしてホールの記録(hall records)です。26

つまり通信ケーブルで遊んだ午後のあと、友だちのひみつきちはあなたのゲームの中にあり、その中へ歩いて入れるのです。友だちのテレビ番組はあなたのテレビで放送されます。友だちのバトルタワーの記録もついて来ます。私の読みでは、『エメラルド』で生きていると感じられたものの大半は、誰か別の人から届いたものでした。

テレビ

『エメラルド』のテレビには番組の枠が25あります。5つは自分自身のプレイについての番組用、20はレコードの混ぜ合わせでしか届かない番組用です。番組の種類は「通常」が11種、レコードの混ぜ合わせを通してしか存在しないものが19種(Trend Watcher、Secret Base Visit、Lotto Winner、Spot the Cutiesなど)、それに大量発生のニュースがあります。ニュースの出来事は放送前に4日のカウントダウンをします。27 ゲームクリア後は、何かを捕まえたかどうかにかかわらず、バトルを1回終えるごとに200分の1の確率(rbernoulli(1, 200))で大量発生のニュースが予定されます。ただし通信、サファリ、バトルフロンティアなどの特殊なバトルだった場合や、テレビの25枠のうち最初の24枠にすでに大量発生のニュースがある場合(判定は最後の1枠の手前で止まります)は除かれ、自分の番組用の5枠のどれかが空いている場合に限ります。ニュースは放送できるようになるまで1日待ち(daysBeforeOutbreak = 1、1日ごとの更新でカウントダウン)、大量発生そのものはテレビでそのニュースを見たときに初めて始まります。そのときStartMassOutbreakが呼ばれるのです。そこから2日間続き、報じられた種類がある1本のルートで出会うポケモンの半分を占めます(probability = 50)。51 大量発生の番組もほかの番組と同じくレコードの混ぜ合わせで旅をするので、友だちの大量発生があなたのテレビに届くこともあります。5126

流行語:半減期を持つ言い回し

「Dewford Trend」は、ムロタウンの集会所(Dewford Hall)にいる人々が繰り返す、かんいかいわの2語です。dewford_trend.cの冒頭のコメントブロックは、それ自体が設計書になっています。各フレーズは流行度を持ち、それは「Initialized as a random value between 30-127 inclusive」(30以上127以下のランダムな値で初期化)されます。「If a submitted phrase is less trendy than the current one it won’t be accepted」(提出されたフレーズが現在のものより流行っていなければ受け入れられない)。そして「boring」(飽きられた)フレーズは「lose trendiness over time until it reaches 0」(0になるまで時間とともに流行度を失い)、それから最大値まで再び上がり、そこでまた飽きられます。4 コードには、この受け入れルールに二つの例外があります。セーブデータが最初に提出するフレーズは、そのセーブデータが一度もレコードを混ぜたことがなければ、比較なしで現在の言葉を置き換えます。そして新しいフレーズが現在のものと流行度で並んだ場合は最大値の高いほうが勝ち、それも並べばコイントス(Random() & 1)で決まります。4 1日ごとの更新は、経過した1日につき各フレーズを5ポイント動かします(clockRand = days * 5)。4 フレーズは流行度順に5つ保持されます。レコードを混ぜると、あなたのフレーズは相手のもので置き換えられます。「unless the phrase is the same, in which case the version with a higher trendiness value is used」(ただし同じフレーズであれば、流行度の高いほうが使われる)。4

Hipsterと隠された言葉

Trendy Sayingsは別物で、33語からなるかんいかいわの隠しグループです。28 手に入れ方は逆コンパイルのコメントが説明しています。これらは「normally inaccessible」(通常は手に入らない)もので、「The Hipster can unlock one word each time he is received via record mixing (and once if he is the player’s default Old Man)」(Hipsterはレコードの混ぜ合わせで受け取られるたびに1語を解放でき、プレイヤーの既定の老人であれば1回解放できる)。28 キンセツシティの老人には5つの種類(Bard、Hipster、Trader、Storyteller、Giddy)があり、ゲームがどれで始まるかはIDナンバーの最後の桁で決まります((trainerId % 10) / 2)。したがってHipsterが既定になるのはその桁が2か3のときだけで、プレイヤーの5人に1人です。それ以外の人は、そうしたプレイヤーの誰かとレコードを混ぜなければ彼に会えません。28

電話での再戦と着信

『クリスタル』の電話には10件の連絡先が入ります(CONTACT_LIST_SIZE 10)。24人のトレーナーが再戦可能になることがあり、それぞれに日替わりフラグが1つあります。10人はあなたに渡すアイテムがあると電話してくることがあります。そして24人それぞれに、こちらから電話をかけられる曜日が1つと時間帯が1つあり、朝に9人、昼に7人、夜に8人、1つの曜日に3人か4人ずつです。46 着信は配給制です。受けた電話1本ごとに20分のタイマー(ReceiveCallDelays)が始まり、電話がないまま切れるたびに10分、5分、3分と短くなっていきます。このタイマーが、ソースのコメントで「50% chance for a call」(電話の確率50%)とされる抽選の関門になっています。かけてくる相手はその時間帯に連絡のつく人から選ばれ、建物の出入口に立っているときや電波の届かない場所では電話は来ません。59

なぜうまくいったのか

他人の世界が自分の世界にやって来ました。 5キロバイトが、ひみつきち20か所、他人のテレビの枠20、言い回し5つを運びました。2627 どれも、遊んでいるときに相手がそこにいる必要はありませんでした。必要なのは、一度相手に会ったことだけでした。

流行語は半減期を持つ感染です。 セーブデータの最初のフレーズのあとは、新しいフレーズは現在のものを上回った場合にだけ町を乗っ取り、飽きられるにつれて色あせ、接触によって広まります。2つのセーブデータが出会うと、共通するフレーズは流行度の高いほうが勝ちます。4 スコア、変動、接触のルールという一握りの数字で成り立つ、完結したソーシャルなメカニクスです。

Hipsterは意図的に希少です。 彼がいるのは5人に1人で、残りの人は彼を持っている誰かを通じて彼に会い、会うたびに33の隠された言葉の1つを教われます。28 語彙そのものが、人から人へ旅するコレクションの対象になるのです。

割り込みは配給制です。 電話はタイマーとコイントスで制限され、出入口に立っているときには決してかかってきません。1本の電話の直後の待ち時間がいちばん長く、20分です。59 私の読みでは、話しかけてくる世界が魅力的なのは、それがめったに話しかけてこないあいだだけです。

7. 三つの別々の線:著作権、商標、特許

ここから第11節までは記録です。任天堂と株式会社ポケモンが何に対して、どんな根拠で措置をとり、何を放っておいたか。三種類の保護を区別しておくことが重要です。ポケモンを真似することについて語る人はたいていそのうちの一つを念頭に置いていて、別の一つで答えを返されるからです。

著作権は表現を保護します。 米国著作権局のCircular 33は、アイデア、手順、プロセス、システム、操作方法を著作権の外に置いています。具体的なタイル、スプライト、音楽、テキスト、キャラクターは保護される表現です。4434 このシリーズの最初の記事は、本日著作権と明記するよう訂正したFAQでこう書いています。作風、手法、システムは著作権で保護されず、具体的な表現が保護される、と。34 第2節から第6節のすべては、私の読みでは手法です。歩数カウンター、時計、星の付いたカード、スコアを持つフレーズ。

商標は標章を保護します。 株式会社ポケモン自身の日本語サイトは、「ポケットモンスター・ポケモン・Pokémon」は任天堂、クリーチャーズ、ゲームフリークの商標であると記載しています。60 製品を売るために使われる名前は商標の問題です。同じ名前を、ポケモンカードをスキャンするアプリがそうせざるを得ないように、それが何であるかを説明するために使うのは指名的使用(nominative use)であり、私たち自身の世界設計書はそれをほかのあらゆるカードアプリと同じやり方だと説明しています。そしてそれは、Kiradexのルールがすでに引いている線でもあります。37

特許は、請求された方法を一つひとつのステップとして保護します。 日本と米国は、任天堂と株式会社ポケモンに特許を付与しています。その請求項はゲームプログラムであり、プログラムがコンピュータに何をさせるかとして記述されています。1161 特許の請求項はステップの列挙です。私の読みでは(法的助言ではありません)、請求項がゲームに及ぶのは、そのゲームが請求項のすべてのステップを、それぞれ裁判所が解釈するとおりに行うか、またはその均等物を行う場合だけで、均等物は両国の裁判所が認めています。米国最高裁はこの均等論をステップごとに、「to each of the individual elements of a claim」(請求項の個々の要素それぞれに)適用し、日本の最高裁は1998年に、請求項と一部が異なる製品がなおその範囲に属する条件を示しました。6263 したがって、ステップを変えたり取り除いたりすることは、変更後のゲームが請求項の外にあるという主張にはなっても、結論にはなりません。外にあるかどうかはその解釈と均等によって決まり、ここで扱う唯一の事件では、まだどの裁判所も判断を下していません。第9節では、ここで問題になる4つの請求項を読みます。

以下の記録は、すべての事件を三つのうちのどれで争われたかによって分類しています。特許の事件は一つだけでした。

2016年から2026年までの縦のタイムライン。各出来事に根拠の印が付いている。UraniumとPrismについては報道が根拠を挙げていないため、著作権という根拠は私の読みである。日付は文書または報道によるもので、報道が日を示していない2025年11月は月の半ばに置いている。著作権:2016年8月13日、Uraniumの開発者が削除通知を受けてダウンロードを取り下げる。2016年12月21日、Prismに停止通告書。2018年8月29日、Essentialsツールキットの削除が報じられる。2024年3月22日、DMCA通知が報じられたのちRelic Castleがオフラインに。2025年2月21日、中国で1億700万元の和解。特許:2024年9月18日、Pocketpairに対する提訴。2024年11月8日、3件の特許が明らかに。2024年11月30日、Palworldが投げての召喚を削除。2025年5月8日、滑空がグライダーに移行。2025年9月2日、US 12,403,397が成立。2025年11月4日、再審査が命じられる。2025年11月、東京での請求が旧バージョンに絞り込まれる。2026年3月25日、最初のOffice Actionで再審査対象のすべての請求項が拒絶。2026年7月22日、関連する分割出願の拒絶が維持されたと報じられる。特許の出来事のいずれも侵害についての判断ではない。どちらでもないもの:Palworldの発売、株式会社ポケモンの声明、PalworldのEarly Access終了、そして予定されている2026年10月1日と11月9日の期日。

日付と根拠で並べた記録。第8節と第9節で引用した日付入りのページをもとにfigures.pyで描画。43

8. ファンゲーム、ツールキット、フォーラム:何が措置を招いたか

Pokémon Uranium、2016年8月:削除通知、そして開発者への書簡はなし

Uraniumは停止通告書を受け取ったゲームとしてよく語られます。Aftermathが2026年10月1日に掲載したファンゲーム特集も、このゲームは「was reportedly issued cease and desists from the legal teams at Nintendo and The Pokémon Company」(任天堂と株式会社ポケモンの法務チームから停止通告を受けたと伝えられる)と書いています。64 しかし開発者自身は当時、別のことを言っていました。Kotakuは2016年8月13日、9年の作業ののちに制作したファンたちがダウンロードリンクをすべて削除したと報じ、彼らの声明を全文掲載しました。「After receiving more than 1,500,000 downloads of our game, we have been notified of multiple takedown notices from lawyers representing Nintendo of America.」(私たちのゲームが150万回以上ダウンロードされたのち、Nintendo of Americaの代理人弁護士による複数の削除通知について知らされました)。そして「While we have not personally been contacted, it’s clear what their wishes are, and we respect those wishes deeply.」(私たちが直接連絡を受けたわけではありませんが、彼らの望みは明らかであり、その望みを深く尊重します)。Kotakuはさらに、開発者たちが「haven’t received any cease & desist letters from Nintendo’s lawyers yet」(任天堂の弁護士からの停止通告書はまだ一通も受け取っていない)と述べたと付け加えています。5 私たち自身の世界設計書はこれを停止通告書としていました。正確な文は、Uraniumは削除通知ののちに取り下げられた、そしてその名前がタイトルに入っていた、というものです。375

Pokémon Prism、2016年12月:発売4日前の停止通告書

Prismは種類が違いました。ポケモン風の新しいゲームではなく、『クリスタル』そのもののROMハックで、8年をかけて作られ、クリスマス当日の公開が予定されていました。Kotaku、2016年12月29日:「Nintendo hit them with a cease and desist four days before release」(任天堂は公開の4日前に停止通告を突きつけた)。そしてすべてが「seemed ready for an official release until December 21st, when representatives of Nintendo sent a cease and desist to the project」(12月21日に任天堂の代理人がプロジェクトに停止通告を送るまでは、正式公開の準備が整っているように見えた)。その後、作者は自分のサイトを閉鎖しました。そのサイトはほかに2本のROMハック、Pokémon BrownとRijon Adventuresもホストしていました。6 翌日のNintendo Lifeも、同じ日付と12月25日の公開予定を伝えています。65 書簡の墨塗りされたスキャンが、Prismの協力者から送られたと称する第三者によってInternet Archiveに投稿されています。アップロード者の説明は論争的で、私はスキャンを読んでいないため、これはこの記事の出典ではなく、文書への手がかりにとどまります。66

Pokémon Essentials、2018年8月:ツールキット

Essentialsは、RPGツクール(RPG Maker)でポケモン風のゲームを作るための無料のツールキットでした。TechSpotは2018年8月29日、Ars Technicaの報道を受けてこう伝えています。任天堂がDMCAの削除要請を送り、ツールキットのWikiをホストしていたFandomがそれに従い、PokéCommunityのファンゲームのセクションからダウンロードが削除された。TechSpot自身の見方は、「the assets Pokemon Essentials uses appear to be identical to the ones in Pokemon games」(Pokemon Essentialsが使っているアセットは、ポケモンのゲームのものと同一に見える)というものでした。7

Relic Castle、2024年3月:フォーラム、そして確認されなかった送り主

私たち自身の調査ブリーフは、Relic CastleをEssentialsとともに2018年の削除としてまとめていました。33 実際は2024年3月です。GamesRadar+、2024年3月22日:2014年から続いていたファンフォーラムがオフラインになり、その声明は「the Relic Castle website has been taken down following a DMCA takedown notice」(Relic CastleのウェブサイトはDMCAの削除通知を受けて閉鎖された)と述べていました。GamesRadar+によれば、サイトは「didn’t host these games directly」(これらのゲームを直接ホストしてはいなかった)ものの、それらへのリンクを許しており、通知の送り主は確認されていません。8

ファンプロジェクトはどう見つかるのか、見つけた弁護士の言葉で

Don McGowanは株式会社ポケモン(The Pokémon Company)の最高法務責任者でした。2024年3月、Aftermathがファンプロジェクトへの停止通告書を同社がどう扱っていたかを尋ねると、彼はこう答えました。「Short answer: thanks to you folks.」(手短に言えば、あなたたちのおかげです)。彼がロースクールの学生に語るところでは、この世で最悪なのは、ファンプロジェクトが「gets press, because now I know about you」(報道されること。そうなれば私があなたたちのことを知ってしまうから)だそうです。そして後半。「You don’t send a takedown right away. You wait to see if they get funded (for a Kickstarter or similar); if they get funded then that’s when you engage. No one likes suing fans.」(すぐに削除要請を送るわけではありません。資金が集まるかどうか(Kickstarterなどで)を待つのです。資金が集まったら、そこで動きます。ファンを訴えたい人などいません)。67 Video Games Chronicleは翌日、同じ発言を伝えました。68

中国、2025年:ゲーム丸ごとのコピー

記録のなかで最大の賠償は、ファンゲームではなく、著作権と不正競争の事件です。The National Law Reviewの報道によれば、2025年2月21日、広東省高級人民法院は、2021年12月に提訴された「Pokémon: Remastered」というゲームをめぐり、株式会社ポケモンに対する1億700万元の和解を発表しました。同社は5億元を請求し、深圳での第一審で1億700万元を認められていました。69 報道が要約する第一審の理由づけは、オマージュを書く人なら誰でも精読する価値があります。被告のゲームのキャラクター、主人公、マップはオリジナルと「one-to-one」(一対一)で対応し、そのシステムは「highly similar or even completely consistent, and many numerical system designs are the same」(極めて類似しているか、完全に一致してさえおり、数値システムの設計の多くが同じ)でした。69 私の読みでは、数値は、ほかのすべてもコピーしたゲームについての認定の一要素にすぎません。それでも第14節が、ひと握りのきりのいい数値だけを出発点として取り、ゲームの数値がきりのいい値でなかった箇所では独自の範囲を定め、ゲームのテーブルを決して取り込まない理由はここにあります。

記録が示すもの

四つのファンの事件はどれも、ポケモン自身の表現を使っていました。Uraniumは名前をタイトルに使い、開発者自身の数えでは150万回ダウンロードされていました。Prismは『クリスタル』のROMハックで、ゲーム自身のコードとアートの上に作られていました。Essentialsは、記者がゲームのものと同一だと評したアセットを同梱していました。Relic Castleはそうしたゲームにリンクしていました。5678 私の読みでは、いずれの根拠も著作権でした。二つは報じられたDMCA通知で、これは著作権の通知です(ただしRelic Castleへの通知の送り主は確認されていません)。残る二つについて報道は根拠を挙げていませんが、どちらのゲームもオリジナルの表現の上に作られており、Uraniumは名前も掲げていたので、商標の問題でもありました。特許による措置は一つもありませんでした。元最高法務責任者は、その引き金を付け加えています。報道、そして資金です。67

私の読み: 記録が示しているのは、ポケモンの表現に対する措置、そして注目度と資金の組み合わせに対する措置であり、ジャンルに属することを理由にゲームに対してとられた措置ではありません。第11節のトリビュートゲームはどれもジャンルに属し、有料で販売され、措置の対象になったとは報じられていません。この読みはこれまでに起きたことについてのものであって、これから起きることについての約束ではありません。

9. Palworld:メカニクスをめぐる唯一の事件

Palworldは読み方を変える事件です。記録のなかで特許をめぐって争われている唯一の事件だからです。そして、まだ終わっていません。

声明、2024年1月

PocketpairはPalworldを2024年1月19日に発売しました。10 1月25日、株式会社ポケモンはコーポレートサイトに「他社ゲームに関するお問い合わせについて」と題するお知らせを、日本語で、その下に英語の文章を添えて掲載しました。英語の文章はこうです。「We have not granted any permission for the use of Pokémon intellectual property or assets in that game. We intend to investigate and take appropriate measures to address any acts that infringe on intellectual property rights related to the Pokémon.」(当該ゲームにおけるポケモンの知的財産やアセットの使用を一切許諾していません。ポケモンに関する知的財産権を侵害する行為については、調査のうえ適切な措置をとる予定です)。ゲームの名前は挙げられていません。70 その上の日本語の文章は、英語が省いていることを一つ多く述べています。問い合わせのなかには、そのゲームがポケモンに似ているという意見(ポケモンに類似しているというご意見)が含まれていた、ということです。70 同じ日のNintendo Lifeの報道は、ゲームの名前を挙げていました。71

提訴、2024年9月

任天堂と株式会社ポケモンは2024年9月19日、Pocketpairを相手取り、東京地方裁判所に「on September 18, 2024」(2024年9月18日に)特許権侵害訴訟を提起したと発表しました。Palworldが「infringes multiple patent rights」(複数の特許権を侵害している)として、「an injunction against infringement and compensation for damages」(侵害の差止めと損害賠償)を求めるものです。9 Pocketpairの2024年11月8日の報告が、特許と請求の内容を明らかにしました。10

特許 出願 登録
JP 7545191 2024年7月30日 2024年8月27日
JP 7493117 2024年2月26日 2024年5月22日
JP 7528390 2024年3月5日 2024年7月26日

原告らはPalworldの差止めと、それぞれに500万円と遅延損害金の支払いを求めています。「compensation for a portion of the damages incurred between the date of registration of the patents and the date of filing of this lawsuit」(特許の登録日から本訴訟の提起日までに生じた損害の一部の賠償)です。10 Google Patentsは、3件すべての権利者として任天堂と株式会社ポケモンを挙げています。111213 3件ともPalworldの発売後に出願されましたが、ゼロからの出願ではありません。GamesRadar+は日本の弁理士、栗原潔氏を引いて、3件はいずれも2021年12月に登録されたとする親特許の分割特許だと報じています。72 Google Patentsのファミリーの表は、別の書き方をしています。3件それぞれが2021年12月22日の優先日を示し、その日に出願された出願から分割によって派生しています。7493117と7545191はJP 2021-208275、7528390はJP 2021-208276からです。この2件の出願はのちにJP 7398425 B2(2023年12月14日)とJP 7349486 B2(2023年9月22日)として公開されました。2021年12月は出願日であり、保存したページのなかに、どちらについても登録日は見つけられませんでした。111213

3つの請求項が述べていること

以下は各特許の請求項1で、Google Patentsによる日本語からの機械翻訳に基づいています。正文は日本語であり、請求項は訴訟中に訂正されることがあり、Googleのページにはそれが反映されないことがあります。7333 私が要約し、翻訳自体の言葉を引用符で示します。

JP 7493117、表示。 「the first mode」(第1モード)において、プログラムは「a direction of aim in the virtual space based on a first operation input which is a directional input」(方向入力である第1の操作入力に基づく仮想空間内の照準方向)を決定します。第2の入力で照準をフィールドキャラクターに向け、「a first indicator is displayed」(第1の表示が表示される)。第3の入力でプレイヤーキャラクターに「a capture item for capturing the field character in the aiming direction」(フィールドキャラクターを捕獲するための捕獲アイテムを照準方向へ)放たせます。命中すると「a capture success determination」(捕獲成功判定)を行います。そして表示は「information indicating the ease of making a positive judgment of the successful capture judgment」(捕獲成功判定で肯定的な判定がなされることの容易さを示す情報)です。11

JP 7545191、投てき。 ボタンを押すと、第1カテゴリ群の捕獲アイテムか、第2カテゴリ群の戦闘キャラクターのどちらかを放つ構えになります。方向入力で照準を定め、「using an operation button different from the operation button」(その操作ボタンとは異なる操作ボタンを用いた)入力で、どの捕獲アイテムまたは戦闘キャラクターかを選びます。最初のボタンを離すと選んだものを投げます。命中した捕獲アイテムは捕獲判定を開始し、戦えるところに放たれた戦闘キャラクターは「a battle between the combat character and the field character on the field to commence」(フィールド上で戦闘キャラクターとフィールドキャラクターの戦闘を開始)させます。12

JP 7528390、騎乗。 プレイヤーキャラクターは操作入力によって制御されます。自分が所有する「a plurality of types of rideable characters」(複数種類の騎乗可能キャラクター)の一つに乗り、「when a first operation input is performed while the player character is in the air」(プレイヤーキャラクターが空中にいるあいだに第1の操作入力が行われたとき)、「an airborne rideable character」(空中の騎乗可能キャラクター)に搭乗して空中を移動します。13

GamesRadar+も、栗原氏と弁理士法人Siarasia(Automaton経由)から同じ対応関係を伝えています。7545191は狙って投げる捕獲、7493117は捕獲のしやすさの表示、7528390は搭乗と騎乗です。72

ゲームが変えたこと

Pocketpairの2025年5月8日のお知らせが、何をしたかを述べています。2024年11月30日に配信されたパッチv0.3.11は「removed the ability to summon Pals by throwing Pal Spheres and instead changed it to a static summon next to the player」(パルスフィアを投げてパルを召喚する機能を削除し、プレイヤーの隣に静的に召喚する方式に変更した)。v0.5.5からは「gliding will be performed using a glider rather than with Pals」(滑空はパルではなくグライダーで行う)。お知らせは、「these changes were indeed a result of the ongoing litigation」(これらの変更は実際に係争中の訴訟の結果である)とはっきり述べ、Pocketpairは「to dispute these claims and assert the invalidity of the patents in question」(これらの請求を争い、当該特許の無効を主張する)ことを続けるとしています。74 私の読みでは、それぞれの変更は一つの請求項の一つのステップに触れています。一つ目はJP 7545191の請求項1にある戦闘キャラクターの投てきによる放出、二つ目はJP 7528390の空中での騎乗です。変更後のゲームがいずれかの請求項の外に出たかどうかは、裁判所がそれらのステップをどう解釈するかにかかっています。Pocketpairのお知らせが伝えているのは何を変えたかであって、認定ではなく、どの裁判所もまだ判断していません。

絞り込み、2025年11月

Automatonは2026年6月12日、日本のスタッフが確認した東京地方裁判所の記録とGames Frayに基づいて、原告らが「revised the scope of their claims in November 2025 so that they now apply only to older versions of Palworld」(2025年11月に請求の範囲を修正し、Palworldの旧バージョンにのみ適用されるようにした)と報じました。同じ報道によれば、「While the plaintiffs are still seeking an injunction against Palworld, limiting the lawsuit to older versions of the game appears to reduce the likelihood that the current version will be directly affected.」(原告らは依然としてPalworldの差止めを求めているものの、訴訟をゲームの旧バージョンに限定したことで、現行バージョンが直接影響を受ける可能性は下がったように見える)。裁判所の記録には、2026年10月1日に技術説明会が、2026年11月9日に裁判所の暫定的な見解の提示が予定されていると記されていました。29

2026年10月4日時点で、Pocketpairの重要なお知らせの一覧には、2025年5月8日以降この訴訟についての掲載はなく、10月1日の技術説明会で何があったかを報じた名のある媒体も見つけられませんでした。判決、和解、差止めはいずれも報じられていません。30 PalworldはEarly Accessを2026年7月に終えました。Steamは発売日を「9 Jul, 2026」と記載し、Automatonは発表された日付を7月10日と報じています。7529

先行技術としてのファンゲーム

記録には、独立した段落に値する皮肉があります。Automatonは2026年7月22日、日本の特許庁が任天堂と株式会社ポケモンの分割出願No. 2026-019762に対する拒絶を維持したと報じました。この出願は「in-game monster-capturing system」(ゲーム内のモンスター捕獲システム)を記載したものです。主な根拠の一つが、2013年にYouTubeに投稿されたファンゲームPokémon Generationsの動画でした。任天堂側はそのファンゲームが自社の著作権を侵害していると主張しましたが、審査官は、Automatonの要約によれば、「whether an invention infringes on copyright or not has no bearing on determining inventive step」(発明が著作権を侵害しているか否かは、進歩性の判断に何ら関係しない)と答えました。この拒絶はその分割出願に関するもので、東京で主張されている特許に関するものではありません。任天堂にはこれに対して審判を請求するために3か月の期間がありました。76 第8節の事件が扱ったような種類のプロジェクトであるファンゲームが、メカニクスについての証拠になったのです。

米国側:1件の特許、再審査中

私が探した限りでは、Pocketpairに対する米国での訴訟は報じられていません。米国の特許はあります。任天堂と株式会社ポケモンに譲渡されたUS 12,403,397は、2023年3月1日に出願され、2025年9月2日に成立しました。61 その請求項1は、フィールド上でプレイヤーキャラクターを動かし、入力によって「a sub character」(サブキャラクター)を召喚します。サブキャラクターが現れる場所に敵がいれば、戦闘は「a first mode in which the battle proceeds based on an operation input」(操作入力に基づいて戦闘が進行する第1モード)で進み、いなければサブキャラクターは自動で移動を始めます。第2の入力でサブキャラクターをある方向へ送り、そこにいる敵とのあいだで「a second mode in which the battle automatically proceeds」(戦闘が自動で進行する第2モード)が始まります。61

Engadgetは2025年11月4日、USPTOの長官がこの特許の再審査を自ら命じ、2002年のコナミの出願と、それ以前の任天堂の公開文献を先行技術として挙げたと報じました。7778 法律事務所MBHBは2026年4月3日、再審査(No. 90/020,162)で2026年3月25日付の最初のOffice Actionが出され、特許のすべての請求項が35 U.S.C. § 103のもとで自明であるとして拒絶されたと書いています。応答期限は2026年6月25日、延長すれば2026年9月25日です。79 任天堂の応答や、その後の措置についての報道は見つけられませんでした。

各特許の請求項1から選んだ12のステップを、JP 7493117、JP 7545191、JP 7528390、US 12,403,397、Kiradexの5列に対して並べたマトリクス。ステップは要約であり請求項の全文ではなく、法的な注記は私の読みである。入力によって制御または移動されるプレイヤーキャラクターはJP 7528390とUS 12,403,397のステップであり、Kiradexもこれを行う(コレクターが広場を歩く)。JP 7493117が請求するのは、方向入力による照準、捕獲のしやすさの表示、捕獲アイテムの投てき、捕獲判定。JP 7545191が請求するのは、照準、捕獲アイテムの投てき、捕獲判定、ボタンを押し続けて捕獲アイテムまたは戦闘キャラクターを構え、離して投げること、別のボタンでどれかを選ぶこと、放たれた戦闘キャラクターによる戦闘の開始。JP 7528390が請求するのは、所有する複数の騎乗可能キャラクターの一つに乗ること、空中での入力による飛行する乗り物への搭乗。US 12,403,397が請求するのは、操作に従って戦い、方向へ送られると自動で戦う、召喚されたサブキャラクター。Kiradexは捕獲、戦闘、騎乗のステップのいずれも行わない。

読んだ4件の特許の請求項1から選んだ捕獲、戦闘、騎乗のステップと、そのうち2件が共有する移動のステップ、そしてアプリ。measure_patent_claims.out.txtと米国の請求項をもとにfigures.pyで描画。4373

オマージュにとっての意味

私の読みであり、法的助言ではありません。 請求項が製品に及ぶのは、その製品が請求項のすべてのステップを、裁判所が各ステップを解釈するとおりに行うか、またはその均等物を行う場合だけで、均等物は両国の裁判所が認めています(第7節)。Pocketpairは投げての召喚と滑空を変更し、侵害も特許の有効性も引き続き争うとしています。Automatonは、それらの変更が原告による旧バージョンへの絞り込みに寄与した可能性があると報じる一方、差止めは依然として求められているとしています。7429 どちらも現行のゲームが請求項の外にあるという認定ではなく、どの裁判所もまだ判断していません。Kiradexは請求されたステップを一つ行います。コレクターが入力によってフィールド上を移動することで、これは米国の請求項の最初のステップであり、JP 7528390のステップの一部でもあり、ほとんどのゲームが共有するステップです。Kiradexには捕獲も、投げる物体も、生き物も、戦闘も、乗り物もありません。そして4件の請求項はどれも捕獲、戦闘、騎乗のいずれかのステップも要件としているので、私の読みでは、どれもKiradexを記述していません。これは4件の特許についての読みであって、権利侵害予防調査(freedom-to-operate search)ではありません。任天堂と株式会社ポケモンは私が読んでいないほかの特許も持っており、私は歩数カウンター、時計で動くイベント、広まっていくフレーズについての特許を調べていません。第14節の「決してしないこと」のリストは、ここで読んだ捕獲、戦闘、騎乗のステップからアプリを遠ざけるものであり、それ以上のものではありません。

10. 各社が公表しているもの

私が探した限りでは、どちらの会社も、ファンゲームについての方針を公表していません。公表されているのはもっと範囲の狭いもので、二つの文書はどちらも同じ方向を指しています。

株式会社ポケモンの日本のサイト規約

日本の公式サイトの規約ページには二次的著作物についての段落があり、それは一方向のライセンスです。ポケモン財産(Pokémon property)、すなわちページが著作権、商標、特許、営業秘密、プライバシー権、パブリシティ権で保護される素材と定義するものに基づいて二次的著作物を作成または利用する人は誰でも、株式会社ポケモンのグループ、任天堂、クリーチャーズ、ゲームフリーク、およびそれらの指定する者に対し、あらゆる目的でそれを利用するための、非独占的で、再許諾可能で、無償で、永続的で、取消不能な、全世界でのライセンスを与えることになります。次の文(原文は「個人的な利用を超えた…利用を許諾するものではありません」)は、私の理解では、各社があなたの作品をどう利用しても、それによってあなたがポケモン財産やあなたの二次的著作物を個人的な利用を超えて利用することが許諾されるわけではない、と述べています。準拠法は日本法で、東京地方裁判所が第一審の専属的管轄裁判所です。60 同じページは、キャラクターや商品についての企画やアイデアを外部から受け付けていないこと(企画・アイデア…一切公募をしておりません)、そしてポケットモンスター、ポケモン、Pokémonの名称が任天堂、クリーチャーズ、ゲームフリークの商標であることを述べています。60

pokemon.comの米国の法的情報ページは、二次資料によれば英語のファンアート条項があるとされる場所ですが、2026年10月4日に私の取得ツールにボット判定を返し、そのアーカイブのコピーも同じブロックを返しました。私はそれを突破しようとはしていないので、その文面はここでは未検証であり、この記事では引用していません。80

任天堂の「ゲーム著作物に関するガイドライン」

任天堂の動画・画像共有向けのガイドラインは、動画や画像の共有サイト向けに作るコンテンツで、「for which Nintendo owns the copyright」(任天堂が著作権を有する)ゲームプレイの映像やスクリーンショットを使うことを認め、「We encourage you to create videos that include your creative input and commentary.」(創意工夫やコメントを盛り込んだ動画を作ることを奨励します)と述べています。収益化は任天堂が列挙する方法でのみ認められ、「you may not sell any videos, music, or images that you created using Nintendo Game Content」(任天堂のゲーム著作物を使って作成した動画、音楽、画像を販売してはならない)とされています。ほかに何かを作る人にとって重要なのはQ6です。ファンアート、音楽、そしてゲームプレイの映像とスクリーンショット以外のコンテンツはガイドラインの対象外であり、「Any other use of Nintendo’s intellectual property and creation of content outside of this scope is subject to the relevant laws of the applicable jurisdiction.」(任天堂の知的財産のそれ以外の利用や、この範囲外のコンテンツの作成は、適用される法域の関連法令に従う)とされています。81

それが意味するもの

私の読み: ファンゲームのためのセーフハーバーはありません。任天堂のガイドラインは映像とスクリーンショットを対象とし、それ以外はすべて一般の法律に委ねています。株式会社ポケモンの規約は二次的著作物を同社にライセンスさせ、作り手には個人的な利用を超えるものを何もライセンスしません。8160 代わりに存在するのは権利行使についての裁量であり、第8節の記録がその裁量のこれまでの姿です。Kiradexにとっての実際上の帰結は、ブリーフの「決してしないこと」のリストにある2行です。ポケモン財産の二次的著作物になるものは何も作らないこと。そしてどちらの会社のファン向け窓口やアイデア受付の窓口にも何も送らないこと。

11. トリビュートゲーム、彼ら自身の言葉で

Coromon、Nexomon: Extinction、Cassette Beasts、Temtem、Monster Sanctuary、Moonstone Islandは、いずれもピクセルまたはローポリの世界で捕まえて育てるループを出荷し、いずれも有料で販売されており、私が見つけた限りでは、どれも措置の対象になったとは報じられていません。彼らが自分たちをどう説明しているかが、この記事のなかで最も実用的な指針です。それが、現役のスタジオが実際にしていることだからです。

ストアページは誰の名前も挙げていない

私は7本のゲーム、つまりこの6本とPalworldのSteamストアの記録について、2026年10月4日にSteamのapp details APIで取得し、その単語を数えました。短い説明と長い説明のなかで、7本のどれも「Pokémon」と書いていません。書かれているのは「monster-taming RPG」(モンスターを手なずけるRPG、Coromon)、「a return to classic monster catching games」(古典的なモンスター捕獲ゲームへの回帰、Nexomon: Extinction)、「Fusion System」を備えた「Collect awesome monsters」(すごいモンスターを集めよう、Cassette Beasts)、「an online creature-collection adventure」(オンラインのクリーチャー収集アドベンチャー、Temtem)、「Monster taming meets metroidvania」(モンスターテイミングとメトロイドヴァニアの出会い、Monster Sanctuary)、「card-based encounters」を備えた「a creature-collecting life-sim」(カードベースの遭遇を備えたクリーチャー収集型の生活シミュレーション、Moonstone Island)、そして「Fight, farm, build and work alongside mysterious creatures」(謎の生き物たちと共に戦い、育て、建て、働こう、Palworld)です。31 その単語を含む記録が一つだけあります。Temtemのレビュー引用欄に、Rock Paper Shotgunによる「A Pokemon-like that listens to what fans want」(ファンの望みに耳を傾けるポケモン風ゲーム)というプレスの一文が載っているのです。31 この7本の記録では、スタジオ自身の言葉が、売るためにその名前を使うことは一度もありません。

インタビューでは自由に名前を挙げる

インタビューでは、同じ開発者たちがポケモンについて率直に語っています。出発点となり、そこから離れていった影響源としてです。Nintendo Lifeはシリーズ30周年に合わせ、2026年3月2日に公開した特集で、そのうちの何人かに話を聞きました。CremaのGuillermo Andrades:「In the early days of developing Temtem, we wanted to create almost a 1:1 homage to Pokémon」(Temtemの開発初期、私たちはほぼ1対1のポケモンへのオマージュを作りたいと思っていました)。その後チームは「different approaches and unique twists」(異なるアプローチと独自のひねり)のための余地を見いだしました。Nexomonのリード開発者JVemon:「Strong inspirations needed to be drawn if we were to tap into the same player base.」(同じプレイヤー層に届くためには、強いインスピレーションを引き出す必要がありました)。CoromonのJochem Pouwelsは、草むらを「a little slot machine of possibility」(可能性の小さなスロットマシン)と呼びました。Moonstone IslandのSandy Spink:「I got an atomic purple Game Boy Color and Pokémon Blue for my sixth birthday.」(6歳の誕生日に、クリアパープルのゲームボーイカラーと『ポケットモンスター 青』をもらいました)。そしてBytten StudioのTom Coxon:「I’ve never felt like Pokémon was the only thing a monster-collecting RPG could be.」(モンスター収集RPGがポケモンでしかありえないと感じたことは一度もありません)。32

意図を最もはっきり表しているのはCassette Beastsです。Nintendo Lifeが2023年4月に報じたところでは、その出発点の問いは「How can two people make a monster-collecting game that does stuff that Pokémon doesn’t do?」(2人で、ポケモンがしないことをするモンスター収集ゲームをどう作るか)でした。Jay Baylis:「We love Pokémon, sure, but we’re not making a game meant to be a tribute or derivative.」(もちろんポケモンは大好きですが、トリビュートや派生作品のつもりでゲームを作っているわけではありません)。82 Temtemの2018年4月の発表は、Gematsuによって、同媒体自身の言葉で「a massively multiplayer creature collection adventure game inspired by Pokemon」(ポケモンに着想を得た大規模マルチプレイヤーのクリーチャー収集アドベンチャーゲーム)と報じられました。83

なぜうまくいくのか

私の読み: これらのスタジオのあいだで実際に機能している規範は、法律とガイドラインが指し示すものと同じです。自分がどこから来たかを説明するために会話のなかでポケモンの名前を出すのはよい。売るためには決して使わない。すべてを自分で描く。そしてループを自分のものと言えるほど十分に変える(Cassette Beastsの合体、Moonstone Islandのバトルの代わりのカード)。Kiradexは、そのどれよりもこのジャンルから遠いところにあります。生き物も、捕獲も、バトルもまったくなく、借りるものもより少ない。歩くこと、時計、カード、言い回しです。

12. 技法を、数字つきのルールとして

ブリーフはこれらのルールから組み立てられています。それぞれのルールはメカニクスを一般的な言葉で述べ、それが依拠する計測済みの事実を挙げています。数値は昔のゲームの数値であり、私たち自身の調整の出発点として残すもので、取り込むテーブルとしては決して扱いません。第8節の中国の事件が、その区別の理由です。69

要素 ルール 出典
歩数の刻み 歩数で動くものは毎歩ではなく128〜512歩の粗い刻みで進め、報酬がメーターではなく出来事として届くようにする 第2世代はタマゴが256歩ごと、なつき度が512歩ごと。第3世代は128歩ごとに手持ちの各ポケモンに50パーセントのなつき度の抽選、タマゴは256歩ごと
歩数の予算 歩く量で制限されるものは秒ではなく歩数で消費する。短・中・長の保護は100、200、250歩、外出1回は500歩 むしよけスプレー(第1世代から第3世代まで不変)、『エメラルド』のサファリゾーン
1日の時間帯 端末自身の時計で1日をいくつかの名前の付いた時間帯に区切る。私たちのものは6、9、17、20時で、ゲームの4、10、18時ではない 『クリスタル』のTimesOfDay、KiradexのDaylight.Phase
約束事 決まった曜日に繰り返すイベント、決まった1つの曜日の週1回の抽選、連絡相手1人につき1つの曜日に最大1つの枠 3つの曜日に20分間のむしとりたいかい、金曜日のラッキーナンバー、24の再戦の枠
成長 同じ長さの4段階で、最後の段階はその4倍の長さ。戻ってきたときに経過時間から計算する。熟した収穫は段階の長さ4つ分待ってから落ち、非常に長い不在だけが植物を消す 『エメラルド』のきのみ:4〜96時間、実がなった段階が終わると収穫されなかった実は消え、段階の長さ71倍分の不在で木が消える
安全な部屋 そこに立っているあいだは1日の変化が決して発火しない場所 『エメラルド』はポケモンセンターの中では1日の更新をスキップする
星 星は4つ、遊びの種類も4つ、星ごとにカードの色が変わる。1つの活動に星2つは与えず、買える星は決して作らない 『エメラルド』の4つの星と5つのカードの色
グリッド ボックスは30の1ページ、6×5 第3世代のボックス、1ボックス20から拡大
段差 ルートに置き、町には決して置かない。最初のルートに10〜25の段差のセル 『エメラルド』:ルートに段差のセル726、7つの町には0、101〜104番道路に13〜24
連勝 7つずつのセットで、5セットと10セットに節目 タワーの7戦の挑戦、35戦目と70戦目のブレーン
広まる言い回し スコアは決められた範囲内のランダムな値から始まり、1日5ずつ変動し、頂点で古びて、0で再び新鮮になる。新しいものはスコアが高い場合にだけ古いものを置き換える。2つの場所が出会うと、共通する言い回しはスコアの高いほうが勝つ。5つ保持する 『エメラルド』の流行語、スコアは30〜127で始まる。『エメラルド』はセーブデータの最初のフレーズを無条件で受け入れ、完全な同点をコイントスで決めるが、ブリーフはその二つを外し、範囲も独自に定める
希少な教え手 見つけにくい教え手が1人(私たちの教え手は一度に1つの部屋にいて毎週移動する)、接触によって出会う。会うたびに(1日最大1回)、隠されたリストの次の言葉を決まった順序で教える Hipster:プレイヤーの5人に1人、33の隠された言葉
コレクションの抽選 研究対象であって実装対象ではない。プレイヤーの持ち物すべてと照合する抽選は大きなコレクションに報いるが、賞品はランダムであり、このシリーズの装飾アイテムは決してランダムにしない 『エメラルド』のロトくじコーナー、『クリスタル』の週1回のラッキーナンバー、キャラクターの記事の装飾アイテムのルール
割り込み 求められていない割り込みはすべて、1回ごとに最長から再スタートするタイマーとコイントスで制限し、出入口では決して起こさない 『クリスタル』の電話のタイマー:電話のあと20分、来ないあいだは10分、5分、3分、そして50パーセントの抽選
上限 作った場所に置けるものは16、寝室は12、保持する他人の場所は20 『エメラルド』のひみつきち、寝室、ひみつきちの数の上限
他人の世界 ほかのプレイヤーの場所、ニュース、言い回しが、同じ時間にオンラインである必要なしに自分の世界に届くようにする 『エメラルド』の5,188バイトの混ぜ合わせレコード
表現 メカニクスに自分自身の表現を加える。ゲームの名前、アート、音楽、テキスト、コードは使わない 2016年から2024年の記録、Circular 33
請求されたステップ 読んだ請求項の捕獲、戦闘、騎乗のステップを外す。狙って投げる捕獲アイテムなし、捕獲の表示なし、放たれる戦闘の仲間なし、空中の乗り物なし、2つのモードで戦う召喚された助っ人なし JP 7493117、7545191、7528390、US 12,403,397

表の出典:歩数カウンター。121415411716 時計。1845192146223 カードとボックス。2324 段差。39 連勝。25 レコードの混ぜ合わせ。4285826 抽選。5636 電話。59 記録と請求項。4411121361

二つのルールには一言ずつ添える価値があります。安全な部屋は、コードを読まなければ思いつかなかったものです。ひとりでに変わっていく世界には、変わらない場所が必要であり、Kiradexにとってそれはコレクター自身の部屋です。そして表現のルールは、法律の話の後半全体を1行にまとめたものです。だからこそ、それは免責事項ではなく設計の表のなかに置かれています。フォージがパレットに従うのと同じように、1ピクセルずつ従うルールなのです。

13. Apple流:世界の中の歩数、カレンダーから得る1日

ブリーフのどの部分にも、新しいフレームワークは必要ありません。必要なのは二つの判断を正しく下すことです。歩数をどこから得るか、そして1日とは何か。

1歩とは、通りではなく広場での1歩

iOSには、人の実際の歩数を数える方法が二つあります。Core MotionのCMPedometerはiOS 8.0から使え、「An object for fetching the system-generated live walking data」(システムが生成するリアルタイムの歩行データを取得するためのオブジェクト)であり、使うにはアプリのInfo.plistに、システムが許可ダイアログで表示する利用目的の説明が必要です。HealthKitのstepCount数量タイプも同じくiOS 8.0からで、「A quantity sample type that measures the number of steps the user has taken」(ユーザーが歩いた歩数を計測する数量サンプルタイプ)です。8485

ブリーフはどちらも使いません。第14節の植木鉢を育てる歩数は、広場での歩数です。サーバーはすでに、歩けないタイルへの移動を拒否し、コレクターが移動できる頻度にレート制限をかけています。移動先が隣のタイルであることはまだ確認していないので、1歩を数えるとは、1タイル分の受理された移動を数えることになります。ブリーフの受け入れテストがそれを固定します。86 私の読み: ピクセルの飾りを育てるために子ども向けアプリがモーションや健康データの許可を求めるのは釣り合いがとれていません。収集のためでもないのに収集アプリに健康データの許可を持ち込むことになり、植木鉢をフィットネストラッカーに変えてしまいます。それは別の製品です。昔のゲームも、数えていたのは世界の中の歩数でした。

1日とは、コレクターのカレンダー上の1日

Kiradexはすでに端末の時計から時刻を読んでいます。Daylight.Phase(hour:)は6〜9時を朝、9〜17時を昼、17〜20時を夕方、残りを夜に対応させ、-plazaHour起動引数がUIテストのために時刻を固定します。45 1日1回のイベントには、もう一つの考え方が必要です。日付キーです。FoundationのCalendarがそれを直接与えてくれます。startOfDay(for:)は「the first moment of a given Date」(与えられたDateの最初の瞬間)を返し、isDate(_:inSameDayAs:)は二つの日付が同じ日に当たるかどうかに答えます。どちらもiOS 8.0から使え、Calendar.currentを渡せば、コレクター自身のカレンダーで答えます。8788 以下は朝の木箱の判定のスケッチで、まだアプリには入っていません。木箱はDaylightの朝の始まりである06:00に届き、開けられるまで待っているので、判定が問うのは今日の木箱が届いたかどうかと、それが開けられたかどうかだけです。時刻の読み方は広場のステージがすでにしているのと同じで、テストが-plazaHour付きでアプリを起動したときはDaylight.forcedHourから、それ以外はコレクターの時計から読みます。だからブリーフのUIテストで動かせます。

/// Whether a crate is waiting for this collector now: today's crate has
/// arrived (it comes at 06:00, the start of Daylight's morning) and they
/// have not opened one today. It does not leave at 09:00.
func crateIsWaiting(lastOpened: Date?, now: Date = .now,
                    calendar: Calendar = .current) -> Bool {
    let hour = Daylight.forcedHour ?? calendar.component(.hour, from: now)
    guard hour >= 6 else { return false }
    guard let lastOpened else { return true }
    return !calendar.isDate(lastOpened, inSameDayAs: now)
}

これは形のうえでは『エメラルド』のUpdatePerDayです。1日の状態は到着時に日付から計算され、それが正しくあるために動き続けなければならないものは何もありません。22 深夜0時をまたいで開いたままのアプリのためには、二つの通知が判定を再び有効にします。NSCalendarDayChangedは「posted whenever the calendar day of the system changes, as determined by the system calendar, locale, and time zone」(システムのカレンダー、ロケール、タイムゾーンによって決まる、システムの暦日が変わるたびに通知される)もので、iOS 8.0から使えます。UIKitのsignificantTimeChangeNotificationは「a change to a new day (midnight), a carrier time update, or a change to, or from, daylight savings time」(新しい日への変化(深夜0時)、キャリアによる時刻更新、夏時間の開始または終了)で通知されます。8990

サーバーに必要なもの

広場のサーバーは現在、プレゼンス専用です。位置とプリセットの台詞を中継するだけで、何も保存しません。8633 ブリーフの二つの項目がそれを変えますが、両者は種類が異なります。広まる言い回しには、広場の部屋ごとに小さな永続レコードが必要です。2つの単語のインデックス、スコア、頂点、変動の向き、そして最後に変動を適用したサーバーの日付で、誰が言い回しを提案したか、誰が運んだかについては何も含みません。このレコードは人ではなく部屋に属します。週替わりのホールのロゼットには、コレクターごとの参加回数が必要で、こちらは人に属します。参加の履歴であり、サーバーがコレクターを識別するキーとなる識別子に紐づけて保存されます。現在その識別子は、アプリが自分で作るものです。コレクターが初めて広場に参加したときに端末上で生成されるUUIDで、アプリのストレージに保持され、接続のたびに送信され、サーバーはそれをUUIDとして読みます。86 アプリの世界設計書は、代わりにGame CenterのプレイヤーIDをサーバーのキーにする予定で、それについてこう書いています。「That is a persistent identifier, which COPPA counts as personal information when combined with other data」(これは永続的な識別子であり、COPPAはほかのデータと組み合わされた場合に個人情報とみなす)。そのため設計にはプライバシーポリシーがあり、サードパーティの分析も広告もなく、「deletion on request」(求めに応じた削除)があり、「to collect as little as possible from anyone」(誰からもできる限り少なく収集する)ように作られています。37 私の読みでは、アプリ自身のUUIDも、一度作られて保持されるので永続的な識別子です。したがってこれらのルールは、参加回数が2つの識別子のどちらに紐づけて保存されるにせよ適用されます(その方法はブリーフの項目5に書いてあります)。私の読み: 言い回しの毎日の変動のように、コレクター間で共有されるものはすべて、スマートフォンではなくサーバーの日付で動かすべきです。スマートフォンの時計は先へ進められるからです。木箱のように、個人的で装飾的なものはスマートフォンを信頼してかまいません。シールを早く開けるために自分の時計を進めても、誰も損をしないからです。

コスト

ここにあるものはどれもまだ作られていないので、何も計測していません。日付キーはカレンダーの呼び出し1回、歩数カウンターはコレクター1人につき整数1つです。どちらもプロファイルに現れることはないと予想していますが、ビルドをスマートフォンで計測するまでは、事実としてそうは言いません。

14. ブリーフ:Kiradexが作るものと、通らなければならない確認

この節は私のまとめであり、アプリのために書いたものです。どの要素も第2節から第6節のメカニクスを一つ受け継ぎ、表現はすべてKiradex自身のものに置き換えています。独自のパレット、フォージで描いたタイル、プリセットの台詞、そしてキラの星です。それぞれに、似せてはならないものと、テスト、キャプチャ、スクリプトで実行できる確認を挙げています。法的な注記は読みであって、助言ではありません。

すでに存在し、その上に積み上げるもの:16ピクセルのタイルでできた広場(プリセットの台詞はサーバーが保持し、サーバーはプレゼンス専用で何も保存しない)。独自の時間帯(朝6〜9時、昼9〜17時、夕方17〜20時、夜)を持つDaylight.swiftで、これはすでに『クリスタル』の4、10、18時ではなく、今後もそのままです。テーマを持つ週替わりのホール。本物のスキャンから得たパトロンのティア、ピン、レベルを載せたコレクターのカード。そしてコレクターそれぞれの部屋。86453533

1. 窓辺の植木鉢:部屋の中で何かを育てる歩数カウンター

  • メカニクス。 すべてのコレクターの部屋の窓辺に、鉢植えが1つあります。広場とルートでの歩数がそれを育てます。256歩ごとに成長段階が1つ進み、段階は4つ(苗床、芽、葉の茂り、花)。最後の段階は4倍長く続き、そのあと押し花を1つ落とします。押し花は部屋の飾りで、町の14本のパレットのランプのうち、決まった順序で次のランプの色になり、決してランダムには選ばれません。そして植物は芽からやり直します。部屋の中の歩数は決して数えません。部屋は安全な場所です。『エメラルド』がひみつきちの中でどくを止め、ポケモンセンターの中で1日の更新を止めるのと同じです。(ルール:歩数の刻み、成長、安全な部屋)1142234
  • 理由。 歩くことは広場で唯一変わらない動詞です。粗い刻みが花を出来事にします。そして花は置くことのできるものなので、部屋を育てることにつながります。
  • 歩数は広場の歩数であり、健康データではありません。 Core MotionもHealthKitも使いません(第13節)。
  • 似せてはならないもの。 タマゴ、ふ卵器、孵化するもの全般、きのみの木、きのみの名前やスプライト、収穫量の段階と結びついた水やりの仕組み、育て屋。生き物に変わるものは一切なし。どの文字列にも「berry」「egg」「hatch」(きのみ、タマゴ、孵化)を含めないこと。
  • 受け入れ条件。 サーバーテストでボットに1タイル単位で2,048歩歩かせ、256、512、768歩で段階が変わること、1,792歩で押し花が1つ落ちて植物が芽に戻ること(花の段階は1,024歩続く)、次の変化が2,048歩であること、そして部屋のマップの中での歩数と、2タイル以上の受理された移動では変化しないことを確認します。各段階の部屋のキャプチャがフォージで描かれた植物を示し、パレットチェックがすべてのピクセルがフォージのパレットに含まれることを確認します。

2. 朝の木箱:朝のイベントを持つ毎日の時計

  • メカニクス。 Kiradex自身の朝の始まり、コレクターの時計で06:00(Daylight.Phase.morningは6時に始まる)に、カードショップの前に配達の木箱が届き、開けられるまでそこにあります。開けると、決まったリストの次のものがもらえます。シール、フレームの色、あるいは言い回しのための言葉(項目6)です。木箱は1日1つで、決してたまりません。1日の状態は到着時にローカルの日付から計算し、動き続けるタイマーには決して頼りません。(ルール:1日の時間帯、約束事、成長)4522
  • カウントダウンなし、運なし。 このシリーズの装飾アイテムのルールは「never random, never on a countdown」(決してランダムにせず、決してカウントダウンにしない)です。36 したがって木箱に期限はありません。09:00に去ることはなく、中身は一つのリストから順番に出てくるので、1日飛ばしても次のシールが遅れるだけで、失われることは決してありません。朝は木箱が届く時間であって、逃してはならない時間枠ではないのです。
  • 1週間の形。 『クリスタル』のように1週間に名前の付いた曜日を与えますが、約束事は1日に最大1つです。ホールの審査日は予定どおり週1回のまま、そしてある平日の夕方に店主がショーウィンドウを並べ替えます。1921
  • 似せてはならないもの。 むしとりたいかい(火・木・土曜日の時間制限付きの捕獲)、ガンテツのボール作り、ラジオのくじ番組、ポケギアや電話。ゲーム内の電話は一切なし。
  • 受け入れ条件。 -plazaHour 7で起動したUIテストは開いていない木箱を表示し、-plazaHour 21で起動したものも同様です。-plazaHour 5で起動したものはまだ何も表示しません。日付キーのユニットテストは、同じローカルの日付に2回開けた木箱が1回しか付与しないこと、そして日付を1日進めると再び有効になることを示します。3日飛ばしてから木箱を開けるテストは、3つ先のものではなく、リストの次のアイテムを受け取ります。

3. 星の付いたコレクターのカード

  • メカニクス。 誰かにタップされたときに開くカードに、最大4つの星が付きます。星はそれぞれ別の種類の遊びに対応し、カードの縁は星が増えるたびにKiradex独自の順序で変わります。星なしは無地、そこからマット、箔押しの縁取り、ホロの縁、そして4つでフルキラです。提案する星は、いずれも実際の収集か広場での遊びに基づきます。スキャンで本物のセットを1つ完成させること、異なる部屋を100か所訪れること、週替わりのホールで入賞すること、そして30の異なる日にスキャンすることです。パトロンのティアはカード上の別の行のままで、決して星にはしません。(ルール:星)23
  • なぜ30日連続ではないのか。 ドシエは30日間のスキャンの連続記録を提案していました。私はそれを、決して失効しない30の異なる日に変更しました。途切れる連続記録は、1週間留守にした子どもを罰することになるからであり、またこのシリーズのキャラクターの記事が記録しているとおり、PEGIが2026年6月から失効するログインの連続記録をレーティングの対象にしているからです。3336
  • 似せてはならないもの。 「トレーナーカード」という名前。トレーナーカードのレイアウト(右に肖像、下にバッジの列、IDナンバーとおこづかい)。緑、ブロンズ、カッパー、シルバー、金のカードのパレット。バッジの形。ジムへの言及。殿堂入りの時間。星はKiradexのキラの星としてのみ描きます。
  • 受け入れ条件。 スナップショットテストがカードを星0〜4でレンダリングし、5つの縁がその順に現れることを確認します。ユニットテストが、どの購入経路も星を設定しないことを証明します(StoreKitのトランザクションは星のフィールドに決して触れない)。文字列カタログを「Trainer」で検索しても何も見つかりません。

4. ルート上の一方通行の段差

  • メカニクス。 広場の先のルートに、1セル分の高さの一方通行の段差を置きます。そこから歩いて降りると1列下がり、決して登り直すことはできません。段差の並びがあるたびに帰り道は別の経路になるので、短いルートにループが生まれます。最初のルートに段差のセルを10〜25、101〜104番道路の13〜24に対応する数です。町には置きません。(ルール:段差)39
  • 誰が決めるのか。 建物の調査は、見下ろし視点では自由な高さが読み取りにくいという理由で段差を拒否しました。1セル分の一方通行の段差には高さがなく、歩行グラフの中の向きを持つ辺があるだけです。このブリーフは拒否を覆すのではなく範囲を絞るものであり、決定はこのシリーズの高低差とルートの記事に委ねます。3533
  • 似せてはならないもの。 ポケモンの段差のタイル(上端が明るい草の縁と、暗い影の線)、そのジャンプのアニメーションや効果音。フォージで、Kiradexのパレットを使った石の縁石や生け垣の段として、独自の降下フレームとともに描きます。
  • 受け入れ条件。 サーバーの歩行検証が段差のセルに向きを持つ辺を持ちます。テストが逆向きの1歩が拒否されることを確認します。幅優先探索のスクリプトが、行きとは異なる帰り道を報告します。

5. 7回ずつのセットを持つ週替わりのホール

  • メカニクス。 ホールがすでに予定している週1回の審査はそのまま残します。そこに、勝つことではなく参加することに対してフロンティアの形を加えます。参加7回ごとにコレクターのカードにホールのロゼットが1つ付き、参加35回と70回、つまり5セットと10セットで、ホールの管理人が展示を見に出てきます。参加は連続した週に限らず、いつ参加しても数えます。理由は項目3と同じです。ロゼットは参加と入賞から得られ、決して購入からは得られません。(ルール:連勝)25
  • データ。 参加回数はコレクターの識別子に結びついた参加の履歴なので、アプリ自身のルールのもとでは個人情報です。サーバーがコレクターを識別するキーとなる一つの識別子(その時点でどちらであれ)に紐づけて保存し、それ以外には何も紐づけません(現在はアプリが広場のために生成するUUID。世界設計書の予定どおりサーバーがGame CenterのプレイヤーIDをキーにするようになればそちら。どちらも永続的な識別子です)。プライバシーポリシーの対象とし、分析や広告には決して送らず、削除の求めがあればコレクターのほかの記録とともに消去します。記録するのは一つの累計だけで、個々の参加のログは残しません。世界設計書は保存期間を定めていません。それは、設計書がすでに求めている弁護士の確認に委ねる事項です。3786
  • 似せてはならないもの。 コンテストの部門(かっこよさ、うつくしさ、かわいさ、かしこさ、たくましさ)、ランクの名前(ノーマル、スーパー、ハイパー、マスター)、コンテスト会場のステージ、アピールのラウンド、バトルタワー、フロンティアのシンボル、ポケモンのリボンのデザイン。Kiradexのロゼットは独自のもので、独自のパレットで描きます。
  • 受け入れ条件。 サーバーテストが模擬の参加者に70回参加させ、7回、14回と続くロゼットと、35回と70回での管理人の訪問を確認します。最上位のパトロンでテストしても採点に違いが出ないことを示します。削除テストはコレクターを削除し、その識別子のもとに参加回数が何も残っていないことを確認します。

6. 今週の言い回し:広場から広場へ広まるフレーズ

  • メカニクス。 広場の部屋はそれぞれ一つの言い回しを持ちます。Kiradex独自のプリセット語彙から選んだ2語で、気持ちを表す言葉と収集の言葉の組み合わせです(「lucky binder」、「quiet holo」)。ある組が提案されると、サーバーはそれに25〜100のあいだの頂点を与えます。これはKiradex独自の範囲です(『エメラルド』の範囲は30〜127で、7ビットのフィールドの上限の内側にあります)。開始スコアは25からその頂点までのあいだです。スコアは頂点まで1日5ずつ上がり、頂点で言い回しは古びます。それから1日5ずつ下限の0まで下がり、そこで新鮮になって再び上がります。1日の変動が頂点や下限を越えそうなときは、そこで止まります。コレクターは掲示板で新しい組を提案できます。それが部屋を乗っ取るのはスコアが厳密に高い場合だけで、同点なら部屋は自分のものを保ちます。これはKiradexの単純化です。『エメラルド』はセーブデータの最初のフレーズを比較なしで受け入れ、完全な同点をコイントスで決めます。コレクターが部屋から部屋へ移動すると、言い回しはその人とともに旅をし、2つの部屋の言い回しが出会うところでは、スコアの高いほうが勝ちます。町のコレクターたちは今の言い回しを繰り返します。そのうちの1人、言葉集めの人は一度に1つの部屋にいて毎週移動します。彼と話すと、隠されたリストの次のプリセットの言葉が、決まった順序で、決してランダムではなく、1日に最大1語ずつ解放されます。(ルール:広まる言い回し、希少な教え手)428
  • サーバー。 部屋ごとに小さな永続レコードを持ちます。2つの単語のインデックス、スコア、頂点、変動の向き、そして最後に変動を適用したサーバーの日付です。読み込み時に、サーバーはその日付から経過した1日ごとに5ポイントを1日ずつ適用し、それから今日の日付を保存します。そうすれば、部屋が何回読まれても、サーバーが再起動しても、1日は1回だけ適用されます。『エメラルド』のUpdatePerDayも、保存した日数で同じことをしています。それを今日のものと比較し、差を流行語に渡し、それから今日の日数を保存するのです。22 このレコードは部屋に属します。誰が言い回しを提案したか、運んだかについては何も含みません(第13節)。
  • 子どもの安全。 言葉はプリセットだけで、サーバーが保持し廃止もできるリストから選びます。広場のプリセットの台詞がすでにそうなっているのと同じです。自由入力も、ユーザーが作った言葉もありません。86
  • 似せてはならないもの。 かんいかいわの単語グループと単語(33のTrendy Sayingsを含む)、ムロタウンの集会所、キンセツシティの老人、Hipsterの見た目、名前の付いた機能としてのレコードの混ぜ合わせ、流行についてのテレビ番組。
  • 受け入れ条件。 サーバーテスト:コレクターが部屋Aから部屋Bへ歩くと、部屋Aのスコア90の言い回しが部屋Bのスコア60の言い回しと出会い、Bの言い回しがAのものになります。部屋のものと同じスコアの新しい組は乗っ取りません。変動テストは、スコア45、上昇中、頂点60で言い回しを始めます。次のサーバー日付に3回読んでも60ではなく50のままです。サーバーを再起動しても、その日付では50と読めます。次に読み込みのない10日間を置くと、最初の読み込みで10日分がまとめて適用され、60まで上がって古び、20まで下がります。1日1回ずつ読んだ場合と同じ結果です。スコア10の古びた言い回しは、3日後には0に触れて上昇に転じたうえで5と読めます。91 スクリプトがプリセット語彙をpokeemeraldのかんいかいわの単語リストと比較し、共通する複数語の項目がないことを確認します(「hello」のようなありふれた単語は避けられず、問題ありません)。言葉集めの人のテスト:コレクターが彼と、それぞれ別の日にn回目の会話をすると、隠されたリストのn番目の言葉が解放され、同じ日の繰り返しでは何も解放されません。

決してしないこと

  1. 世界のどこにもポケモンの表現を置かない: 生き物も、生き物のシルエットも、それに似せたオリジナルの生き物も、トレーナーも、アイテムも、地名も、音楽も、効果音も、タイルも、スプライトも、パレットも、画面レイアウトも、どのポケモンのゲームからも取らず、なぞらず、描き直さない。37
  2. シリーズの語彙を機能名にしない: ポケモン図鑑、モンスターボール、ポケ〜と名の付くものすべて、トレーナーカード、ジム、バッジ、四天王、殿堂入り、サファリゾーン、むしよけスプレー、ひみつきち、レコードの混ぜ合わせ、かんいかいわ、Trendy Saying、コンテスト、ポケナビ、ポケギア、マッチコール、バトルサーチャー、バトルタワー、フロンティア。これらのうちどれが登録商標かは確認していません。合わせれば製品を派生物と印づけてしまいますし、トリビュートゲーム自身のストアの説明文はシリーズの名前さえ使わずに済ませています。31
  3. 請求された捕獲、戦闘、騎乗のステップを一つも行わない: 何かを捕獲するために狙って投げるものはなし。捕獲のしやすさの表示はなし。戦うために放たれる仲間はなし。飛行や滑空の乗り物はなし。2つのモードで戦う召喚された助っ人はなし。11121361
  4. 逆コンパイルのコードやデータを使わない: アプリにもフォージにも入れない。逆コンパイルは研究と計測のためのものであり、そのコードとアセットはゲームから派生したものです。
  5. マーケティングで「Pokémon」を使うのは、名前を説明的に用いる1行に限る: アプリ自身のルールが認める1行です。App Storeの名前、サブタイトル、アイコン、スクリーンショット、広告、トレーラーには一切入れない。3731
  6. ポケモンへの郷愁を土台にしたクラウドファンディングやプレスへの売り込みをしない。 報道、そして資金調達が、株式会社ポケモンの元最高法務責任者が語った引き金です。67
  7. ギャンブルの形をとらず、装飾アイテムに運の要素を入れない: スロットマシンなし、ゲームコーナーなし、抽選なし、ランダムなアイテムなし。有料でも無料でも。3336
  8. 株式会社ポケモンや任天堂にアイデアやファン作品を送らない。 両社のファン向けやアイデア受付の窓口も使わない。両社の規約はそうした作品を自社にライセンスさせ、外部からのアイデアは受け付けないと述べています。60
  9. 識別に必要な範囲を超えてカード画像を使わない: 同梱しない、マーケティングのアートに使わない、グッズに載せない。37
  10. ゲームの報酬に健康データやモーションデータを使わない(第13節)。

このブリーフに含めないもの

コインとゲームコーナー(上で拒否済み)。毎日の抽選(スキャンしたカードのコレクター番号と照合する版を下書きしましたが、賞品がランダムなので取りやめました)。電話とテレビ(広場のプリセットの台詞がすでに語っていますし、子どものスマートフォンに電話をかけてくる世界は、私が作りたい世界ではありません)。大量発生と群れ(群れる生き物がいません)。パソコンのボックス(コレクションをページにどう並べるかは部屋の記事の担当です)。自転車といあいぎりの木(ルートの話に属します)。ひみつきちの上限(部屋の上限は部屋の記事の担当です)。そしてポケスロンからのものすべて。

正直な限界

読んだ特許は4件で、日本のものが3件、米国のものが1件。Google Patentsから取得し、日本の請求項は機械翻訳で読みました。歩数カウンター、時計、広まるフレーズについての特許調査はしておらず、弁護士にも相談していません。Palworldの事件は2026年10月4日時点でまだ係属中でした。技術説明会が10月1日に予定されていましたが結果は報じられておらず、裁判所の暫定的な見解は11月9日に予定されています。米国の再審査の次の段階は報じられていません。株式会社ポケモンの米国の法的情報ページにはアクセスできませんでした。上の各項目は、私たち自身の表現として使ってよいと私が考えるメカニクスであり、その考えのどれもが一つの読みです。297980

重要なポイント

アートを描く人へ

  • すべてのピクセルを、自分のパレットと自分のルールから、自分で描くこと。記録のなかで措置を招いたファンプロジェクトはすべて、ゲーム自身の名前、アート、コードを使っていたか、それらを使ったゲームにリンクしていました。5678
  • メカニクスそのものは表現でなくても、メカニクスの見た目は表現です。段差は石の縁石にでき、星は自分の星にでき、カードの色は自分の順序にできます。描く前に、各要素が何に似てはならないかを言葉にしましょう。
  • 語彙は自分のものにすること。トレーナーカード、サファリゾーン、ひみつきちなどは、製品を派生物と印づけます。トリビュートゲーム自身のストアの説明文は、シリーズの名前さえ使わずに済ませています。31

エンジンを作る人へ

  • 歩数は人ではなく世界の中で数えること。サーバーが検証する1タイルの移動を数え、飾りのためにCore MotionやHealthKitを使うことは決してしない。8684
  • 1日は到着時に日付キー(startOfDay(for:)、isDate(_:inSameDayAs:))から計算し、NSCalendarDayChangedで再び有効にし、バックグラウンドで動き続けるものは何も持たないこと。それがSwiftで書いた『エメラルド』のUpdatePerDayです。87888922
  • 共有されるものはサーバーの時計で、個人的で装飾的なものはスマートフォンの時計で動かすこと。
  • 逆コンパイルのコードやデータは決して出荷しないこと。読み、計測し、引用するためのものです。

ループを設計する人へ

  • 歩くことには粗い刻み(128〜512歩)で報い、予算は秒ではなく歩数で消費させ、不在のコストを小さくすること。『エメラルド』の熟したきのみは段階の長さ4つ分待ってから落ち、非常に長い不在だけが木を消します。1214153
  • 1週間に名前の付いた曜日を与え、約束事はそれぞれ最大1つにし、何も変わらない安全な部屋を一つ用意すること。192122
  • 星は4つ、遊びの種類も4つ、売り物は一つもなし。プレイヤーが子どもなら、途切れない連続記録ではなく参加回数を数えること。そして運や時間制限で得る装飾アイテムは作らないこと。2336
  • 他人の世界が自分の世界に届くようにすること。スコア、変動、接触のルールを持つ言い回しは、プレイヤーが出会ったときに、何の告知もなく旅をします。426
  • 自分のジャンルの特許の請求項をステップごとに読み、自分の設計がどのステップを実際に行っているか(ここでは入力によってキャラクターを動かすことがその一つです)を書き留め、各請求項をその請求項たらしめているステップは外すこと。そのうえで、どの特許を読んだかをはっきり述べること。これは私の読みであり、法的助言ではありません。11121361

よくある質問

訴えられずに、ポケモンに着想を得たゲームを作れますか

それは誰にも約束できませんし、これは法的助言ではありません。とはいえ、記録には一貫性があります。この記録のなかで2016年から2024年にかけて削除措置を招いたファンプロジェクトは、ポケモン自身の名前、アート、コードを使っていたか、それらを使ったゲームにリンクしていました。そしてメカニクスをめぐって争われた唯一の事件であるPalworldは、捕獲アイテムを狙って投げることなど、特定のステップを要件とする請求項を持つ特許に依拠しています。567810 著作権はシステムや操作方法を保護しませんが、商標は名前を保護し、特許はゲームの方法を請求できます。4411 Coromon、Temtem、Cassette Beastsのようなトリビュートゲームは、独自のアートでこのジャンルを出荷しており、私が数えた開発者自身が書く欄であるSteamページの短い説明と長い説明では、その名前を一度も使っていません。Temtemのページには一度だけ、プレスの引用のなかにその名前があります。31

Pokémon Uraniumは停止通告書を受け取ったのですか

開発者自身の説明によれば、受け取っていません。2016年8月13日にKotakuが報じた彼らの声明は、150万回を超えるダウンロードのあと「been notified of multiple takedown notices from lawyers representing Nintendo of America」(Nintendo of Americaの代理人弁護士による複数の削除通知について知らされた)こと、そして「we have not personally been contacted」(私たちが直接連絡を受けたわけではない)ことを述べており、ダウンロードリンクは彼ら自身が削除しました。5 Pokémon Prismは実際に受け取りました。2016年12月21日、予定していた公開の4日前のことです。665

任天堂と株式会社ポケモンは、どの特許でPalworldを訴えているのですか

2024年11月8日のPocketpairの報告で挙げられた、日本の特許3件です。第7545191号(構えた状態から捕獲アイテムまたは戦闘キャラクターを狙って投げ、アイテムやキャラクターは2つ目のボタンで選ぶ)、第7493117号(捕獲が成功する見込みの表示)、第7528390号(所有するキャラクターへの騎乗、空中で飛行するキャラクターに搭乗することを含む)。3件とも2024年、Palworldの発売後に、2021年12月22日に出願された出願にまで優先権をさかのぼる分割出願として出願されました。1072111213 2つのモードで戦う召喚されたサブキャラクターについての米国特許12,403,397は再審査中であり、Pocketpairに対する米国での訴訟は報じられていません。6179

Palworldの訴訟は終わったのですか

2026年10月4日時点では終わっていません。Automatonは2026年6月、東京地方裁判所の記録に基づいて、原告らが2025年11月に請求をPalworldの旧バージョンに絞り込みつつ、なお差止めを求めていること、そして2026年10月1日に技術説明会が、2026年11月9日に裁判所の暫定的な見解の提示が予定されていることを報じました。判決、和解、差止めはいずれも報じられておらず、Pocketpairは2025年5月8日以降、この訴訟について何も掲載していません。2930

任天堂はファンゲームを認めていますか

私が探した限りでは、任天堂やポケモンが公表しているガイドラインで、ファンゲームを対象とするものはありません。任天堂の「ゲーム著作物に関するガイドライン」はゲームプレイの映像とスクリーンショットを対象とし、知的財産のそれ以外の利用は「is subject to the relevant laws of the applicable jurisdiction」(適用される法域の関連法令に従う)としています。株式会社ポケモンの日本のサイト規約は、二次的著作物を同社にライセンスさせ、作り手には個人的な利用を超えるものを何もライセンスしません。8160 私の読みでは、セーフハーバーはなく、あるのは権利行使についての裁量だけです。同社の元最高法務責任者は、引き金は報道、そして資金調達だと語っています。67

昔のポケモンのゲームで、歩数カウンターはどう動いていたのですか

フィールドでの一歩一歩が一つのルーチンを通ります。『金・銀・クリスタル』では、それが256歩ごとに手持ちのタマゴを孵化へ近づけ、512歩ごとに手持ちのなつき度を上げ(なつき度のルーチンは256歩ごとに呼ばれ、2回に1回動きます)、4歩ごとにどく状態のポケモンにダメージを与え、自転車で1,024歩走ると自転車屋の店主から電話がかかってくるようにしています。『エメラルド』では、128歩ごとに手持ちの各ポケモンが50パーセントの確率でなつき度を得て、タマゴは256歩ごとに、手持ちの順に孵化の準備ができた最初のタマゴまで、サイクルを1つ失います。サファリゾーン(500歩)とむしよけスプレー(100、200、250歩)は、歩くことで消費される予算です。121415411617

『金・銀』のリアルタイムクロックは何を変えたのですか

1日には三つの時間帯があり、朝は4:00から、昼は10:00から、夜は18:00からです。むしとりたいかいは火・木・土曜日に20分間開かれ、ラッキーナンバーの抽選は週1回、金曜日です。24人のトレーナーは、それぞれ1つの曜日の1つの時間帯に再戦の電話をかけられ、16個の日替わりフラグが深夜0時にリセットされます。1819214620 『エメラルド』はその上にカレンダーを加えました。実がなるまで4〜96時間かかるきのみと、1日5ポイントずつ変動する流行語です。34

当サイトの関連記事。iPhoneでつくるピクセルアートの世界はこのシリーズ最初のガイドで、町を描くためのタイルシステム、パレット、RealityKitのレシピを扱っており、その法的なFAQは本記事の第7節から第10節の短縮版です。ピクセルアートの建物は町の家、ホール、そして植木鉢が置かれるはずの部屋を作り、町にまだないものの一つとして一方通行の段差を挙げています。ピクセルアートの人々は256歩を歩くはずのコレクターについての記事で、項目3を連続記録から変更した根拠である、装飾アイテムと子どもについてのルールを扱っています。

出典


  1. pret、pokecrystal/engine/overworld/events.asm、コミット5beda23(877行目からのCountStep:DoRepelStep、wStepCount、コメント「Every 256 steps, increase the happiness of all your Pokemon」「Every 256 steps, offset from the happiness incrementor by 128 steps」とcp $80、「Every 4 steps, deal damage to all poisoned Pokemon」、育て屋の経験値の歩数処理、1279行目からのDoBikeStepとcp HIGH(1024)および65,535の上限)、https://github.com/pret/pokecrystal/blob/master/engine/overworld/events.asm。定数と行番号は、本記事のための筆者の証拠フォルダにあるmeasure_systems.pyが出力(出力ファイルmeasure_systems.out.txt)、2026年10月4日実行。挙動の説明はコードについての筆者の読み。 ↩↩↩↩↩↩↩↩↩↩↩

  2. pret、pokecrystal/engine/events/happiness_egg.asm、コミット5beda23(107行目のStepHappiness、108行目のコメント「Raise the party’s happiness by 1 point every other step cycle」、110〜115行目のld hl, wHappinessStepCount、inc a、and 1、ld [hl], a、ret nz、cp EGGによるタマゴの除外)、https://github.com/pret/pokecrystal/blob/master/engine/events/happiness_egg.asm。1バイトのwStepCountが一周するたびに、engine/overworld/events.asmのCountStepから呼ばれる。行番号はmeasure_systems.pyが出力、出力ファイルmeasure_systems.out.txt、2026年10月4日再実行。なつき度が512歩ごとに上がるというのは、この切り替えについての筆者の読み。 ↩↩↩↩↩↩↩↩

  3. pret、pokeemerald/src/berry.c、コミット731ad5b(BerryTreeTimeUpdate、1089行目の* 71による消去判定、1109行目と1127行目のminutesUntilNextStage *= 4、1071行目の再成長10回でのリセット、1252行目でstageDuration * 60を返すGetStageDurationByBerryType、CalcBerryYieldInternal、1064〜1072行目のBerryTreeGrowで、実がなった段階の終わりにberryYield = 0とし段階をBERRY_STAGE_SPROUTEDに戻す処理、43種のきのみのstageDurationの値)およびpokeemerald/src/clock.c(UpdatePerMinute)、https://github.com/pret/pokeemerald/blob/master/src/berry.c。段階の長さ別の件数(1時間:5、3時間:12、4時間:1、6時間:11、12時間:1、18時間:5、24時間:8)と最初の実までの時間はmeasure_systems.pyが導出、出力ファイルmeasure_systems.out.txt、2026年10月4日。 ↩↩↩↩↩↩↩↩↩↩↩

  4. pret、pokeemerald/src/dewford_trend.c、コミット731ad5b(ファイル冒頭のコメント:流行度は「Initialized as a random value between 30-127 inclusive」、受け入れと「boring」のルール、SAVED_TRENDS_COUNT (5)、レコードの混ぜ合わせのルール。96行目のclockRand = days * 5を含むUpdateDewfordTrendPerDay。369〜383行目のSeedTrendRngで、Random() % 98を引いて30を足す。151行目からのTrySetTrendyPhraseで、158〜169行目の初回提出の分岐は、セーブデータが一度も流行を変えておらず一度もレコードを混ぜていない場合に比較なしで言葉を設定し、181行目の比較はSORT_MODE_NORMALのCompareTrendsを使う。332〜337行目と366行目:流行度、次に最大流行度、完全な同点ならRandom() & 1)、https://github.com/pret/pokeemerald/blob/master/src/dewford_trend.c、および同じコミットのinclude/global.h(643行目と644行目のtrendiness:7とmaxTrendiness:7。したがってスコアは127を超えられない)。行番号はmeasure_systems.pyが出力。 ↩↩↩↩↩↩↩↩↩↩↩

  5. Jason Schreier「Pokémon Uranium Creators Pull Game After A Reported 1.5 Million Downloads」Kotaku、2016年8月13日(ページ上の日付。東部時間20:34で、UTCでは8月14日)、開発者の声明を全文掲載、2026年10月4日閲覧、https://kotaku.com/pokemon-uranium-creators-pull-game-after-1-5-million-do-1785258831。 ↩↩↩↩↩↩↩↩

  6. Heather Alexandra「Pirates Leak Pokémon Prism After Nintendo Shuts It Down」Kotaku、2016年12月29日(12月21日の停止通告、予定されていたクリスマスの公開、Pokémon BrownとRijon Adventuresの公開停止)、2026年10月4日閲覧、https://kotaku.com/pirates-leak-pokemon-prism-after-nintendo-shuts-it-down-1790598623。 ↩↩↩↩↩↩↩

  7. Cohen Coberly「Nintendo slaps fan game creation tool ‘Pokemon Essentials’ with DMCA takedown」TechSpot、2018年8月29日、Ars Technicaの報道を受けたもの(Fandomの対応、PokéCommunityからのダウンロードの削除、アセットについての引用)、2026年10月4日閲覧、https://www.techspot.com/news/76202-nintendo-slaps-fan-game-creation-tool-pokemon-essentials.html。 ↩↩↩↩↩

  8. Catherine Lewis、GamesRadar+「After almost 10 years, unofficial Pokemon website known for sharing fan-made games shuts down after reportedly receiving a DMCA takedown notice」2024年3月22日(Relic Castleの声明、ホストではなくリンク、送り主は未確認)、2026年10月4日閲覧、https://www.gamesradar.com/after-almost-10-years-unofficial-pokemon-website-known-for-sharing-fan-made-games-shuts-down-after-reportedly-receiving-a-dmca-takedown-notice/。 ↩↩↩↩↩↩

  9. 任天堂株式会社および株式会社ポケモン「Filing Lawsuit for Infringement of Patent Rights against Pocketpair, Inc.」共同ニュースリリース、2024年9月19日(2024年9月18日に東京地方裁判所に提訴、差止めと損害賠償)、2026年10月4日閲覧、https://www.nintendo.co.jp/corporate/release/en/2024/240919.html。 ↩↩

  10. Pocketpair「Report on Patent Infringement Lawsuit」重要なお知らせ、2024年11月8日(2024年1月19日のPalworld発売、特許第7545191号、第7493117号、第7528390号の出願日と登録日、差止めと、各原告への500万円および遅延損害金)、2026年10月4日閲覧、https://www.pocketpair.jp/en/news/report-on-patent-infringement-lawsuit/。 ↩↩↩↩↩↩

  11. Google Patents、JP7493117B2「Game program, game system, game device, and game processing method」(権利者は任天堂株式会社と株式会社ポケモン。出願日2024年2月26日。優先権の表は優先日を2021年12月22日とし、優先権を主張する出願の表は同日出願のJP2021208275AをJP7398425B2として挙げ、公開文献の一覧はJP7398425B2を2023年12月14日公開としている)、請求項1はGoogleによる日本語からの機械翻訳、2026年10月4日保存、本記事のための筆者の証拠フォルダにあるmeasure_patent_claims.pyで抽出(出力ファイルmeasure_patent_claims.out.txt)、https://patents.google.com/patent/JP7493117B2/en。日本語の文が正文。 ↩↩↩↩↩↩↩↩↩↩

  12. Google Patents、JP7545191B1「Game program, game system, game device, and game processing method」(権利者は任天堂株式会社と株式会社ポケモン。出願日2024年7月30日。優先日2021年12月22日、親出願JP2024031879Aを経由。これはJP2021208275Aと同じファミリーの分割で、2021年12月22日出願、2023年12月14日にJP7398425B2として公開)、請求項1はGoogleによる機械翻訳、2026年10月4日保存、measure_patent_claims.pyで抽出、https://patents.google.com/patent/JP7545191B1/en。日本語の文が正文。 ↩↩↩↩↩↩↩↩

  13. Google Patents、JP7528390B2「Game program, game system, information processing device, and information processing method」(権利者は任天堂株式会社と株式会社ポケモン。出願日2024年3月5日。優先日2021年12月22日、同日出願のJP2021208276Aのファミリーで、2023年9月22日にJP7349486B2として公開)、請求項1はGoogleによる機械翻訳、2026年10月4日保存、measure_patent_claims.pyで抽出、https://patents.google.com/patent/JP7528390B2/en。日本語の文が正文。 ↩↩↩↩↩↩↩↩

  14. pret、pokeemerald/src/field_control_avatar.c、コミット731ad5b(543〜604行目のTryStartStepCountScript。565行目のShouldDoBrailleRegicePuzzleとIslandCave_EventScript_OpenRegiEntrance、570〜590行目の5つのShouldDo...Call判定を含む。なつき度については620行目の(*ptr) %= 128、どくについては645行目の(*ptr) %= 4で、ひみつきちではスキップ)、https://github.com/pret/pokeemerald/blob/master/src/field_control_avatar.c。行番号はmeasure_systems.pyが出力。 ↩↩↩↩↩↩↩↩

  15. pret、pokeemerald/src/pokemon.c、コミット731ad5b(5914行目からのAdjustFriendship。species != SPECIES_EGGでタマゴを除外。FRIENDSHIP_EVENT_WALKINGについて、5950〜5952行目のコメント「50% chance every 128 steps」とif (Random() & 1) return;。2100行目の歩行の補正値{ 1, 1, 1})、https://github.com/pret/pokeemerald/blob/master/src/pokemon.c、およびsrc/field_control_avatar.c(624〜626行目で手持ちの各枠についてAdjustFriendship(mon, FRIENDSHIP_EVENT_WALKING)を呼ぶUpdateFriendshipStepCounter)。行番号はmeasure_systems.pyが出力、2026年10月4日再実行。平均256歩に1回という値は、128歩の刻みでの50パーセントの抽選から導出。 ↩↩↩↩↩↩

  16. pret、pokered/scripts/SafariZoneGate.asm、コミットd2704a6(186行目のボール30個、188行目と190行目のHIGH(502)/LOW(502)、214行目の500円の文、続く192〜194行目のld a, PAD_UP、ld c, 3、call SafariZoneEntranceAutoWalk、195行目のSetEvent EVENT_IN_SAFARI_ZONE。歩数そのものはengine/events/hidden_events/safari_game.asmで減算され、ここではエミュレートしていない)、https://github.com/pret/pokered/blob/master/scripts/SafariZoneGate.asm、および731ad5bのpokeemerald/src/safari_zone.c(61行目のsSafariZoneStepCounter = 500)、https://github.com/pret/pokeemerald/blob/master/src/safari_zone.c。行番号はmeasure_systems.pyが出力。 ↩↩↩↩↩

  17. pret、d2704a6のpokered/engine/items/item_effects.asm(ItemUseRepelのld b, 100、ItemUseSuperRepelのld b, 200、ItemUseMaxRepelのld b, 250)、https://github.com/pret/pokered/blob/master/engine/items/item_effects.asm、および731ad5bのpokeemerald/src/data/items.h(holdEffectParamが100、200、250)、https://github.com/pret/pokeemerald/blob/master/src/data/items.h。行番号はmeasure_systems.pyが出力。 ↩↩↩↩↩

  18. pret、5beda23のpokecrystal/constants/misc_constants.asm(36〜38行目のMORN_HOUR 4、DAY_HOUR 10、NITE_HOUR 18)およびpokecrystal/engine/rtc/rtc.asm(TimesOfDayテーブルと50行目のそのコメント、未使用のBetaTimesOfDay)、https://github.com/pret/pokecrystal/blob/master/constants/misc_constants.asm、https://github.com/pret/pokecrystal/blob/master/engine/rtc/rtc.asm。行番号はmeasure_systems.pyが出力。 ↩↩↩↩

  19. pret、5beda23のpokecrystal/maps/Route35NationalParkGate.asm(38〜40行目の火曜、木曜、土曜の曜日判定)およびpokecrystal/constants/script_constants.asm(293行目と294行目のBUG_CONTEST_BALLS 20、BUG_CONTEST_MINUTES 20)、https://github.com/pret/pokecrystal/blob/master/maps/Route35NationalParkGate.asm。行番号はmeasure_systems.pyが出力。 ↩↩↩↩↩↩↩

  20. pret、5beda23のpokecrystal/constants/engine_flags.asm(wDailyFlags1とwDailyFlags2、各8フラグ)、https://github.com/pret/pokecrystal/blob/master/constants/engine_flags.asm。measure_systems.pyで計数。 ↩↩↩↩

  21. pret、5beda23のpokecrystal/engine/overworld/time.asm(241行目の.GetDaysUntilNextFriday)およびpokecrystal/engine/events/lucky_number.asm(所有するすべてのポケモンのIDとの照合と3段階の賞)、https://github.com/pret/pokecrystal/blob/master/engine/events/lucky_number.asm。行番号はmeasure_systems.pyが出力。賞の段階はルーチンについての筆者の読み。 ↩↩↩↩↩↩↩↩

  22. pret、731ad5bのpokeemerald/src/clock.c(UpdatePerDay。38行目で保存された日数VAR_DAYSを読み、41行目で今日のものと比較し、43行目でdaysSinceを計算し、44〜54行目でそれを使って11回の呼び出しを行い、55行目で今日の日数を保存する。そのうち2つがUpdateFrontierManiacとUpdateFrontierGambler。28行目の!InPokemonCenter()のガードが1日ごとと1分ごとの更新の前にある)、https://github.com/pret/pokeemerald/blob/master/src/clock.c。行番号はmeasure_systems.pyが出力。 ↩↩↩↩↩↩↩↩↩↩

  23. pret、731ad5bのpokeemerald/src/trainer_card.c(267〜280行目の星の数ごとのホウエンとカントーのカードのパレット、663〜677行目のCountPlayerTrainerStars、679〜692行目のGetRubyTrainerStarsで、『ルビー』『サファイア』のカードについては殿堂入りまでの時間、caughtAllHoenn、687行目のbattleTowerStraightWins > 49、hasAllPaintings。711〜743行目の9,999と999の上限)、https://github.com/pret/pokeemerald/blob/master/src/trainer_card.c。行番号はmeasure_systems.pyが出力。『ルビー・サファイア』はクローンに含まれていないため、そのルールはそれらのカードを解釈するこのコードから読み取った。 ↩↩↩↩↩↩↩↩↩

  24. pret、pokered/constants/pokemon_data_constants.asm(MONS_PER_BOX 20、NUM_BOXES 12)、pokecrystal/constants/pokemon_data_constants.asm(MONS_PER_BOX 20、MONS_PER_BOX_JP 30、NUM_BOXES 14)、pokeemerald/include/pokemon_storage_system.h(TOTAL_BOXES_COUNT 14、IN_BOX_ROWS 5、IN_BOX_COLUMNS 6、ボックスの名前と壁紙)、https://github.com/pret/pokeemerald/blob/master/include/pokemon_storage_system.h。行番号はmeasure_systems.pyが出力。 ↩↩↩

  25. pret、731ad5bのpokeemerald/include/constants/battle_frontier.h(MAX_STREAK 9999、FRONTIER_STAGES_PER_CHALLENGE 7)およびpokeemerald/src/frontier_util.c(88〜94行目のフロンティアブレーンの連勝テーブルで、4列目が補正値。1656〜1693行目のGetFrontierBrainStatusで、1662行目のwinStreakNoModifier + sFrontierBrainStreakAppearances[facility][3]と1674行目の比較。2111行目からのIncrementWinStreak)。各連勝が何を数えるかは、同じコミットの各施設のスクリプトから読み取った。タワー、パレス、アリーナ、ファクトリーのバトルルームは、相手を倒すたびにBattleFrontier_EventScript_IncrementWinStreakを呼び、バトル数が7に達すると挑戦を終える(各ルームのscripts.incのcase 7:タワー51行目、パレス70行目、アリーナ107行目、ファクトリー104行目)。ピラミッドはBattlePyramid_WarpToNextFloorでそれを呼び(data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc、88行目)、7フロア目のあとプレイヤーを頂上へ送る(93行目)。ドームは優勝したトーナメントごとに1回、BattleFrontier_BattleDomeLobby_EventScript_WonChallengeでそれを呼び(data/maps/BattleFrontier_BattleDomeLobby/scripts.inc、44行目と45行目)、IncrementWinStreak(src/frontier_util.c、2130〜2134行目)がdomeWinStreaksとdomeTotalChampionshipsの両方を増やす。トーナメントはDOME_ROUNDS_COUNT 4ラウンド(include/constants/battle_dome.h、8行目)。(src/battle_dome.cのIncrementDomeStreaksも同じことをするはずだが、そのマクロdome_incrementstreaksはdata/のどこでも使われていない。)include/constants/battle_pike.hは4行目でNUM_PIKE_ROOMS 14を定め、全回復と部分回復、状態異常の部屋、ノンプレイヤーキャラクターのいる部屋など9種類の部屋を列挙し、src/battle_pike.cは1401行目でチューブの連勝をNUM_PIKE_ROOMSで割る、https://github.com/pret/pokeemerald/blob/master/src/frontier_util.c。行番号はmeasure_systems.pyが出力。 ↩↩↩↩↩↩

  26. pret、731ad5bのpokeemerald/src/record_mixing.c(67〜78行目の混ぜ合わせレコードのレイアウトで、オフセット0x1434で終わり、16バイトの詰め物を加えて計0x1444バイト)、https://github.com/pret/pokeemerald/blob/master/src/record_mixing.c。行番号はmeasure_systems.pyが出力。 ↩↩↩↩↩↩

  27. pret、731ad5bのpokeemerald/include/constants/tv.h(POKENEWS_COUNTDOWN 4、NUM_NORMAL_TVSHOW_SLOTS 5、5足す20のTV_SHOWS_COUNT。番組の種類はmeasure_systems.pyで通常11、レコードの混ぜ合わせ専用19、大量発生1と計数。84行目のNUM_CUTIES_RIBBONS 4は、Spot the Cutiesの呼び出し元が比較に使う定数)、https://github.com/pret/pokeemerald/blob/master/include/constants/tv.h。 ↩↩↩↩↩

  28. pret、731ad5bのpokeemerald/src/easy_chat.c(5429〜5436行目のTrendy Sayingsについてのコメント)、pokeemerald/include/constants/easy_chat.h(NUM_TRENDY_SAYINGS 33)、pokeemerald/src/mauville_old_man.c(120行目の(trainerId % 10) / 2)、pokeemerald/include/constants/mauville_old_man.h(5つの種類)、https://github.com/pret/pokeemerald/blob/master/src/easy_chat.c、https://github.com/pret/pokeemerald/blob/master/src/mauville_old_man.c。行番号はmeasure_systems.pyが出力。 ↩↩↩↩↩↩↩

  29. Automaton West「Nintendo and The Pokémon Company have reportedly narrowed Palworld lawsuit to older versions of the game only, likely thanks to ‘preventive’ updates by Pocketpair」2026年6月12日(Automatonの日本のスタッフが確認した東京地方裁判所の記録、およびGames Fray。2025年11月の修正、依然として求められている差止め、2026年10月1日と11月9日の期日、発表された7月10日の発売)、2026年10月4日閲覧、https://automaton-media.com/en/news/nintendo-and-the-pokemon-company-have-reportedly-narrowed-palworld-lawsuit-to-older-versions-of-the-game-only-likely-thanks-to-preventive-updates-by-pocketpair/。 ↩↩↩↩↩↩

  30. Pocketpair、重要なお知らせの一覧、2026年10月4日閲覧(最新のお知らせは2026年1月12日のカードゲームについてのもの、訴訟についての最新は2025年5月8日)、https://www.pocketpair.jp/en/news/category/important-en/。報告がないことは筆者が見つけられた範囲のことであり、証明ではない。 ↩↩↩

  31. 筆者による計数、2026年10月4日:下書きの隣にあるfigures/steam_names.pyで、本記事のための筆者の証拠フォルダに保存した7本のSteam app detailsの記録(steam_*.html。Coromon 1218210、Nexomon: Extinction 1196630、Cassette Beasts 1321440、Temtem 745920、Monster Sanctuary 814370、Moonstone Island 1658150、Palworld 1623730)について、「Pokémon」または「Pokemon」をフィールドごとに数えたもの。短い説明と長い説明ではすべてゼロ。Temtemのreviewsフィールドに1件、Rock Paper Shotgunの引用。出力ファイルfigures/steam_names.out.txt。 ↩↩↩↩↩↩↩

  32. Nintendo Life「’The Single Best Game Concept Ever’ - Pokémon-Inspired Devs Talk The Series That Started It All」2026年3月2日(Andrades、JVemon、Pouwels、Spink、Coxon)、2026年10月4日閲覧、https://www.nintendolife.com/features/the-single-best-game-concept-ever-pokemon-inspired-devs-talk-the-series-that-started-it-all。 ↩↩

  33. 筆者の調査ドシエ「Homage without borrowing」2026年10月4日、Kiradexリポジトリのdocs/research/homage/01-homage.md:本記事の第14節の元になったブリーフ、建物の調査による段差の拒否(その8.8節)、有料のランダムアイテムとスロットマシンについてのコレクションの調査の記述、広場のサーバーのプレゼンス専用の設計。非公開リポジトリ。 ↩↩↩↩↩↩↩↩↩↩↩

  34. Blake Crosley「Pixel-Art Worlds on iPhone: What the 16-Bit Masters Knew」blakecrosley.com、2026年10月3日、2026年10月4日更新(フォージの14本のランプに58色。法的なFAQは10月4日に著作権と明記し、Palworldの特許を加えるよう訂正)、https://blakecrosley.com/blog/pixel-art-world-on-iphone。 ↩↩↩↩↩

  35. Blake Crosley「Pixel-Art Structures: Houses, Halls and Interiors on iPhone」blakecrosley.com、2026年10月3日(部屋、ホール、そして町にないものの一つとしての「a one-way ledge」)、https://blakecrosley.com/blog/pixel-art-structures-on-iphone。 ↩↩↩↩

  36. Blake Crosley「Pixel-Art People: Characters and a Creator on iPhone」blakecrosley.com、2026年10月3日(2026年6月以降のPEGIによる有料ランダムアイテムと失効するログインの連続記録のレーティング、すべての装飾アイテムは「purely visual, never random, never on a countdown」(純粋に見た目だけで、決してランダムにせず、決してカウントダウンにしない)というルール)、https://blakecrosley.com/blog/pixel-art-characters-on-iphone。 ↩↩↩↩↩↩↩↩

  37. 筆者のアプリ、Kiradexリポジトリのコミットb1b78b1(2026年10月4日)、docs/WORLD.mdの第1節「Can this exist without being sued」(Kiradex Worldのルール、名前を説明的に用いる1行、識別目的に限ったカード画像、そして本記事が訂正する以前のUraniumについての記述)、第2節(できる限り少なく収集するよう作られた設計、146〜149行目)、第3節のデータの段落(Game CenterのプレイヤーIDをキーにするサーバー、ほかのデータと組み合わされた場合にCOPPAが個人情報とみなす永続的な識別子、プライバシーポリシー、サードパーティの分析や広告なし、求めに応じた削除、199〜206行目)。非公開リポジトリ。 ↩↩↩↩↩↩↩↩

  38. 筆者による計測、2026年10月4日、注で引用するすべての行を出力するよう2026年10月5日に拡張:本記事のための筆者の証拠フォルダにあるmeasure_systems.pyを、pretのpokered(d2704a6)、pokecrystal(5beda23)、pokeemerald(731ad5b)、pokefirered(037335f)のシャロークローンに対して実行。それぞれ2026年9月22日、9月29日、10月1日、9月26日付のmasterブランチのコミット(各クローンでgit show -s)。各定数をファイル名と行番号付きで出力し件数を導出、出力ファイルmeasure_systems.out.txt。各リポジトリのREADMEは、ビルドする各ROMのSHA-1を記載している。例:https://github.com/pret/pokeemerald/blob/master/README.md。 ↩↩

  39. 筆者による計測、2026年10月4日:本記事のための筆者の証拠フォルダにあるmeasure_map_features.pyで、731ad5bのpretのpokeemeraldにあるすべてのdata/maps/*/map.jsonを対象に、一意な各レイアウトのmap.binをプライマリとセカンダリのmetatile_attributes.binと突き合わせ(段差はMB_JUMP_*、マッハ専用はMB_MUDDY_SLOPEとMB_CRACKED_FLOOR、ダート専用はレールとMB_BUMPY_SLOPE、MB_TALL_GRASS)、全マップのOBJ_EVENT_GFX_CUTTABLE_TREEオブジェクトを計数。本記事のために再実行し、出力は下書きの隣にfigures/measure_map_features.out.txtとして保存。数えているのはセルであって地形ではなく、共有レイアウトは1回だけ数えている。 ↩↩↩↩↩↩↩↩↩

  40. pret、コミット5beda23のpokecrystal/engine/overworld/events.asm(892行目と893行目のコメント行「decrease the hatch counter of all your eggs until you reach the first」と「one that is ready to hatch」、898行目と899行目のfarcall DoEggStepとjr nz, .hatch。.hatchは928行目でPLAYEREVENT_HATCHを読み込み、それがHatchEggScriptを実行する。そのラベルは999行目で、1000行目にcallasm OverworldHatchEggがある)および同じコミットのpokecrystal/engine/pokemon/breeding.asm(174行目からのDoEggStep:wPartySpeciesを順にたどり、EGGでないものは飛ばし、タマゴについては185行目でdec [hl]を実行し、カウンターが0になると189行目で非ゼロの結果を返して戻る)、https://github.com/pret/pokecrystal/blob/master/engine/pokemon/breeding.asm。後ろのタマゴが次の刻みを待つというのは、この早期の戻りについての筆者の読み。 ↩

  41. pret、731ad5bのpokeemerald/src/daycare.c(890行目の(daycare->mons[1].steps & 0xFF) == 0xFF、898行目の++daycare->stepCounter == 255、GetEggCyclesToSubtract、903行目からの手持ちのループで、907行目でMON_DATA_SANITY_IS_BAD_EGGを飛ばし、911行目でeggCycles != 0のときだけ減算し、そうでなければ922行目でgSpecialVar_0x8004 = iを設定して923行目で戻るので、ループはそのタマゴで終わる。続いてShouldEggHatchがsrc/field_control_avatar.cの554〜557行目でEventScript_EggHatchを開始する)、https://github.com/pret/pokeemerald/blob/master/src/daycare.c。行番号はmeasure_systems.pyが出力。 ↩↩↩

  42. pret、731ad5bのpokeemerald/src/battle_setup.c(1792行目のSTEP_COUNTER_MAX 255、1796行目のHasAtLeastFiveBadges())、https://github.com/pret/pokeemerald/blob/master/src/battle_setup.c、および037335fのpokefirered/src/vs_seeker.c(855行目のvsSeekerChargeSteps == 100)、https://github.com/pret/pokefirered/blob/master/src/vs_seeker.c。行番号はmeasure_systems.pyが出力。 ↩↩

  43. 筆者による図、2026年10月4日描画(請求項のマトリクスの法的な注記は2026年10月5日に描き直し)。下書きの隣にあるfigures/figures.pyで、measure_systems.out.txt、measure_map_features.out.txt、measure_patent_claims.out.txt、保存した米国特許のページ、第8節と第9節で引用した日付入りの記録のページ、Kiradex/World/Daylight.swiftから描画。スクリプトは描画前に元の値を読み直してアサートする。ゲームのアートもロゴも使っていない。 ↩↩↩↩↩↩

  44. U.S. Copyright Office, Circular 33: Works Not Protected by Copyright、https://www.copyright.gov/circs/circ33.pdf、このシリーズ最初の記事で引用したもの(その注19、2026年10月2日閲覧)。 ↩↩↩↩

  45. 筆者のアプリ、Kiradexリポジトリのコミットb1b78b1:Kiradex/World/Daylight.swift(Phase.init(hour:):case 6..<9: self = .morning、9..<17は昼、17..<20は夕方、それ以外は夜。100〜105行目の、-plazaHour起動引数を読むDaylight.forcedHour)、Kiradex/World/PlazaStage.swift(58行目の、設定されていればDaylight.forcedHourを使うdaylight(at:))、KiradexUITests/KiradexUITests.swift(-plazaHour 21で起動した歩行)。非公開リポジトリ。 ↩↩↩↩↩

  46. pret、5beda23のpokecrystal/constants/phone_constants.asm(CONTACT_LIST_SIZE 10)およびpokecrystal/constants/engine_flags.asm(wDailyRematchFlags 24、wDailyPhoneItemFlags 10、wDailyPhoneTimeOfDayFlags 24。電話の枠は曜日別に月曜3、火曜3、水曜4、木曜4、金曜4、土曜3、日曜3、時間帯別に朝9、昼7、夜8で、measure_systems.pyで計数)、https://github.com/pret/pokecrystal/blob/master/constants/phone_constants.asm。 ↩↩↩↩↩

  47. pret、731ad5bのpokeemerald/include/constants/flags.h(名前の付いた12個のFLAG_DAILY_*フラグ、うち9個はきのみの贈り物)、https://github.com/pret/pokeemerald/blob/master/include/constants/flags.h。measure_systems.pyで列挙。 ↩

  48. pret、731ad5bのpokeemerald/include/constants/berry.h(20〜26行目の段階の定数、130行目のBERRY_TREES_COUNT 128)、https://github.com/pret/pokeemerald/blob/master/include/constants/berry.h。行番号はmeasure_systems.pyが出力。 ↩

  49. 筆者による列挙、2026年10月5日:本記事のための筆者の証拠フォルダにあるenumerate_berry_yield.py。731ad5bのpokeemeraldのsrc/berry.cからCalcBerryYieldInternalを出力し(1210〜1234行目:何も水をやっていなければreturn min、そうでなければ(max - min) * (water - 1)から(max - min) * waterまでをNUM_WATER_STAGES(4)で割って四捨五入した範囲でrandMin + Random() % (randMax - randMin + 1))、43種のきのみのminYieldとmaxYieldを読み(1〜2が14種、2〜3が14種、2〜4が5種、2〜6が5種、3〜6が5種)、水をやった段階の数ごとにありうるすべての収穫量を列挙する。出力ファイルenumerate_berry_yield.out.txt。 ↩

  50. Serebii.net「Pokéathlon」(『ハートゴールド・ソウルシルバー』。3種目からなるラウンド、1位のボーナス、日替わりのショップ、「Daily & Weekly Events」の見出し)、2026年10月4日閲覧、https://www.serebii.net/heartgoldsoulsilver/pokeathlon.shtml。二次資料であり、計測していない。 ↩

  51. pret、731ad5bのpokeemerald/src/tv.c(1115行目でTryPutPokemonTodayOnAirから呼ばれるTryStartRandomMassOutbreak、1652行目のゲームクリアのフラグ、1654〜1657行目の既存の大量発生のループ。このループはi < LAST_TVSHOW_IDXで回り、LAST_TVSHOW_IDXは49行目でTV_SHOWS_COUNT - 1と定義されているので、25枠のうち0〜23枠を調べる。1563行目からのStartMassOutbreakは1578行目でoutbreakDaysLeft = 2を設定し、テレビで流れる大量発生のニュースであるDoTVShowPokemonNewsMassOutbreakから4906行目で呼ばれる。1716〜1737行目のUpdateTimeBeforeMassOutbreakは毎日daysBeforeOutbreakをカウントダウンし、GetRandomActiveShowIdxはそれが0になったときにだけ大量発生のニュースをテレビに出す(800行目)。1659行目のrbernoulli(1, 200)、1661行目と1662行目の空き枠の判定で、3118行目からのFindFirstEmptyNormalTVShowSlotは最初のNUM_NORMAL_TVSHOW_SLOTS(5)枠だけから放送されていない枠を探す。1680行目のprobability = 50、1682行目のdaysBeforeOutbreak = 1)、https://github.com/pret/pokeemerald/blob/master/src/tv.c、およびsrc/battle_main.c(5098行目からのHandleEndTurn_FinishBattle。5102〜5108行目で通信、録画された通信、初回、サファリ、カードeリーダー、ミツルのチュートリアル、フロンティアのバトルをスキップし、5126行目でTryPutPokemonTodayOnAirを呼ぶ)。行番号はmeasure_systems.pyが出力。 ↩↩↩

  52. pret、037335fのpokefirered/src/trainer_card.c(通信用カードの星:850行目のHasAllKantoMons()、886行目のberriesPicked >= 200 && jumpsInRow >= 200)、https://github.com/pret/pokefirered/blob/master/src/trainer_card.c。行番号はmeasure_systems.pyが出力。 ↩

  53. pret、731ad5bのpokeemerald/include/constants/pokemon.h(100行目のCHAMPION_RIBBONから始まるリボンID)、https://github.com/pret/pokeemerald/blob/master/include/constants/pokemon.h。 ↩

  54. pret、731ad5bのpokeemerald/src/field_specials.c(呼び出し元の一つである1386行目のif (GetRibbonCount(leadMon) > NUM_CUTIES_RIBBONS)。contest_util.c、battle_tower.c、post_battle_event_funcs.cにあるコンテスト、バトルタワー、バトル後の呼び出し元も同じ>の判定を使う)およびsrc/tv.c(2253行目からのTryPutSpotTheCutiesOnAir:レコードの混ぜ合わせ用の空き枠と、まだ生成されていないSpot the Cutiesの番組を必要とし(2258行目)、2262行目で「NOTE: Show is not active until passed via Record Mix.」というコメントとともにshow->cuties.active = FALSEを設定する)、https://github.com/pret/pokeemerald/blob/master/src/tv.c。 ↩

  55. pret、731ad5bのpokeemerald/include/constants/coins.h(MAX_COINS 9999)、https://github.com/pret/pokeemerald/blob/master/include/constants/coins.h。 ↩

  56. pret、731ad5bのpokeemerald/src/lottery_corner.c(16〜19行目の4つの賞品、64行目の「do not calculate ticket values for eggs」というコメント、70行目と94行目の2桁以上のルール)、https://github.com/pret/pokeemerald/blob/master/src/lottery_corner.c、およびinclude/constants/flags.hのFLAG_DAILY_PICKED_LOTO_TICKETとsrc/clock.cのSetRandomLotteryNumber。行番号はmeasure_systems.pyが出力。 ↩↩

  57. pret、731ad5bのpokeemerald/src/bike.c(sMachBikeSpeeds、ダートじてんしゃのトリックの処理)、https://github.com/pret/pokeemerald/blob/master/src/bike.c。 ↩↩

  58. pret、731ad5bのpokeemerald/include/constants/global.h(SECRET_BASES_COUNT 20、DECOR_MAX_SECRET_BASE 16、DECOR_MAX_PLAYERS_HOUSE 12)、https://github.com/pret/pokeemerald/blob/master/include/constants/global.h。 ↩↩

  59. pret、5beda23のpokecrystal/engine/overworld/time.asm(45行目のReceiveCallDelays:db 20, 10, 5, 3。添字はwTimeCyclesSinceLastCallで、CheckReceiveCallTimerがタイマーが切れるたびに最大3まで1ずつ増やし(47〜59行目)、InitCallReceiveDelay(12〜14行目)が0に戻す。Script_ReceivePhoneCallは各電話のあとにそれを呼ぶ、engine/phone/phone.asmの431行目)およびpokecrystal/engine/phone/phone.asm(119行目の「50% chance for a call」というコメント、時間帯と電波範囲の判定)、https://github.com/pret/pokecrystal/blob/master/engine/phone/phone.asm。行番号はmeasure_systems.pyが出力。 ↩↩↩

  60. 株式会社ポケモン、ポケットモンスターオフィシャルサイト、ご利用について(サイト規約)、二次的著作物の段落、外部からのアイデアを受け付けない旨の段落、商標の行、2026年10月4日閲覧、https://www.pokemon.co.jp/rules/。本文中の翻訳は筆者によるもの。 ↩↩↩↩↩↩

  61. Google Patents、US12403397B2「Storage medium, information processing system, information processing apparatus, and game processing method」(権利者は任天堂株式会社と株式会社ポケモン。2023年3月1日出願、2025年9月2日成立)、請求項1、2026年10月4日保存、https://patents.google.com/patent/US12403397B2/en。 ↩↩↩↩↩↩↩

  62. Warner-Jenkinson Co. v. Hilton Davis Chemical Co., 520 U.S. 17 (1997)、コーネル大学ロースクールのLegal Information Instituteが掲載する判例集編纂官による要旨(syllabus)、2026年10月5日保存(裁判所は「adheres to the doctrine of equivalents」(均等論を堅持する)とし、それによれば文言上侵害しない製品や方法も、その要素と請求された要素とのあいだに「equivalence」があれば「may nonetheless be found to infringe」(それでも侵害と認定されうる)。均等論は「to each of the individual elements of a claim, rather than to the accused product or process as a whole」(被疑製品や方法全体ではなく、請求項の個々の要素それぞれに)適用される。要旨は要約であり、判決の一部ではない)、https://www.law.cornell.edu/supct/html/95-728.ZS.html。 ↩

  63. 最高裁判所第三小法廷、1998年2月24日判決、1994(O)1083号、ボールスプライン軸受事件。知的財産高等裁判所が均等論についての重要判決一覧で公開している英訳による、2026年10月5日保存(製品が請求項と一部で異なる場合でも、五つの要件を満たせば「regarded as identical with the construction as indicated in the scope of the patent claim」(特許請求の範囲に記載された構成と同一とみなされる)。第一の要件は「this part is not the essential part of the patented invention」(その部分が特許発明の本質的部分ではないこと)、最後の要件は「such as the fact that the products had been intentionally excluded from the scope of the patent claim in the patent application process」(出願手続において製品が特許請求の範囲から意識的に除外されたという事情など)の特段の事情がないこと)、https://www.courts.go.jp/ip/eng/assets/ip/eng/chizai_en/chizai_en-pdf-1640.pdf、リンク元はhttps://www.courts.go.jp/ip/eng/hanrei/Important_IP_Judgment_by_Category/Patent/Doctrine_of_Equivalents/index.html。日本語の判決が正文。 ↩

  64. Ana Diaz「Pokémon Fangames Evolve Beyond Their Origins」Aftermath、2026年10月1日(初出は2026年9月30日、Fansplaining)、2026年10月4日閲覧、https://aftermath.site/pokemon-fangames-fansplaining/。アプリの世界設計書がUraniumについての文の出典としていたもの。 ↩

  65. Nintendo Life「Fan-Made Pokémon Prism Game Leaks Online After Nintendo Shutdown Notice」2016年12月30日(12月21日の書簡、予定されていた12月25日の公開)、2026年10月4日閲覧、https://www.nintendolife.com/news/2016/12/fan-made_pokemon_prism_game_leaks_online_after_nintendo_shutdown_notice。 ↩↩

  66. Internet Archive「Nintendo’s Cease and Desist to Pokémon Prism」。Prismの協力者から墨塗りのスキャンを送られたと称する第三者がアップロード。アップロード者の説明は党派的であり、本記事のためにスキャンは読んでいない、https://archive.org/details/pokemon-prism-cease-desist。 ↩

  67. Luke Plunkett「Pokémon’s Former Chief Lawyer On Shutting Down Fan Games & Honeymoon Business Deals」Aftermath、2024年3月13日(Don McGowanへの「What I Do」インタビュー)、2026年10月4日閲覧、https://aftermath.site/pokemon-lawyer-cease-desist-fan-project-pikachu-movie/。 ↩↩↩↩

  68. Chris Scullion「Former Pokémon lawyer says fundraising and press coverage lead to fan project takedowns」Video Games Chronicle、2024年3月14日、2026年10月4日閲覧、https://www.videogameschronicle.com/news/former-pokemon-lawyer-says-fundraising-and-press-coverage-lead-to-fan-project-takedowns/。 ↩

  69. The National Law Review「Guangdong Higher People’s Court: 107 Million RMB Settlement in Pokémon Copyright and Unfair Competition Case」2025年2月23日(2月21日の発表、2021年12月の提訴、5億元の請求、第一審の理由づけ)、2026年10月4日閲覧、https://natlawreview.com/article/guangdong-higher-peoples-court-107-million-rmb-settlement-pokemon-copyright-and。 ↩↩↩

  70. 株式会社ポケモン「他社ゲームに関するお問い合わせについて」コーポレートニュース、2024年1月25日(日本語の本文と、その下の英語の声明)、2026年10月4日閲覧、https://corporate.pokemon.co.jp/media/news/detail/335.html。 ↩↩

  71. Nintendo Life「The Pokémon Company Releases Official Statement About Palworld」2024年1月25日、2026年10月4日閲覧、https://www.nintendolife.com/news/2024/01/the-pokemon-company-releases-official-statement-about-palworld。 ↩

  72. GamesRadar+「Palworld developer reveals the exact patents it’s alleged to have infringed upon in the Nintendo lawsuit, and they all have application dates after the survival game’s release」2024年11月8日(3件の特許の対応関係。Automaton、栗原潔氏、弁理士法人Siarasia経由。2021年12月の親特許)、2026年10月4日閲覧、https://www.gamesradar.com/games/survival/palworld-developer-reveals-the-exact-patents-its-alleged-to-have-infringed-upon-in-the-nintendo-lawsuit-and-they-all-have-application-dates-after-the-survival-games-release/。 ↩↩↩

  73. 筆者による抽出、2026年10月4日、2026年10月5日に書き直し:本記事のための筆者の証拠フォルダにあるmeasure_patent_claims.pyが、保存したGoogle Patentsのページからタイトル、権利者、日付を読み、ページ自身の請求項コンテナ(日本のページでは<claim num="1">、米国のページではCLM-00001)から請求項1を丸ごと取り出す。日本の3件の特許については日本語の原文とGoogleによる英語の機械翻訳を別々に、米国の特許については英語の原文を、切り詰めずに出力する。出力ファイルmeasure_patent_claims.out.txt。最初の版は請求項の節を平坦化して3,000文字で切っており、そのJP 7545191の「請求項1」は請求項2にまで食い込んでいた。旧版は新版の隣に保管している。 ↩↩

  74. Pocketpair「Regarding the lawsuit, changes to Palworld and the future」重要なお知らせ、2025年5月8日(2024年11月30日のパッチv0.3.11、パッチv0.5.5、変更は「a result of the ongoing litigation」(係争中の訴訟の結果))、2026年10月4日閲覧、https://www.pocketpair.jp/en/news/regarding-the-lawsuit-changes-to-palworld-and-the-future/。 ↩↩

  75. Steam、Palworld(app 1623730)のapp details、発売日「9 Jul, 2026」、2026年10月4日にストアAPIで取得、https://store.steampowered.com/app/1623730/Palworld/。 ↩

  76. Automaton West「Nintendo patent tied to Palworld lawsuit stays rejected as JPO shuts down objections in unusually sharp-tongued notice」2026年7月22日(分割出願No. 2026-019762、2013年のPokémon Generationsの動画、進歩性についての審査官の理由づけ、3か月の期間)、2026年10月4日閲覧、https://automaton-media.com/en/news/nintendo-patent-central-to-palworld-lawsuit-stays-rejected-as-jpo-shuts-down-objections-in-unusually-sharp-tongued-notice/。 ↩

  77. Engadget「Nintendo’s patent on summoning fighting NPCs is being reexamined」2025年11月4日(長官の命令、先行技術として挙げられた2002年のコナミの出願と任天堂の公開文献)、2026年10月4日閲覧、https://www.engadget.com/gaming/nintendo/nintendos-patent-on-summoning-fighting-npcs-is-being-reexamined-180949135.html。 ↩

  78. Claire Jackson「US Patent Office Reexamining Controversial Pokemon Patent」Kotaku、2025年11月4日、2026年10月4日閲覧、https://kotaku.com/pokemon-patent-summoning-nintendo-palworld-monsters-2000641133。 ↩

  79. Andrew H. Velzen「Pokémon Reexam Receives First Action from USPTO」MBHB、2026年4月3日(再審査No. 90/020,162、2026年3月25日付で35 U.S.C. § 103のもとすべての請求項を拒絶した最初のOffice Action、2026年6月25日と9月25日の応答期限、請求項1の引用)、2026年10月4日閲覧、https://www.mbhb.com/intelligence/snippets/pokemon-reexam-receives-first-action-from-uspto/。 ↩↩↩

  80. The Pokémon Company International、法的情報ページ、https://www.pokemon.com/us/legal/information:2026年10月4日に筆者の取得ツールにボット判定を返し、Wayback Machineのコピーも同じブロックを返した。未検証。 ↩↩

  81. 任天堂「Nintendo Game Content Guidelines for Online Video & Image Sharing Platforms」およびそのFAQ(販売についてのA5、その他のコンテンツについてのQ6とA6)、2026年10月4日閲覧、https://www.nintendo.co.jp/networkservice_guideline/en/index.html。 ↩↩↩

  82. Nintendo Life「Cassette Beasts Dev On Doing What Pokémon Doesn’t In A Zelda-Inspired Overworld」2023年4月26日、2026年10月4日閲覧、https://www.nintendolife.com/features/cassette-beasts-dev-on-doing-what-pokemon-doesnt-in-a-zelda-inspired-overworld。 ↩

  83. Gematsu「Crema Games announces Pokemon-inspired multiplayer creature collection game Temtem」2018年4月30日、2026年10月4日閲覧、https://www.gematsu.com/2018/04/crema-games-announces-pokemon-inspired-multiplayer-creature-collection-game-temtem。 ↩

  84. Apple Developer Documentation「CMPedometer」(iOS 8.0、「An object for fetching the system-generated live walking data」、利用目的の説明の要件)、2026年10月4日にJSONとして取得、https://developer.apple.com/documentation/coremotion/cmpedometer。 ↩↩

  85. Apple Developer Documentation「stepCount」(HKQuantityTypeIdentifier、iOS 8.0)、2026年10月4日にJSONとして取得、https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifier/stepcount。 ↩

  86. 筆者のアプリ、Kiradexリポジトリのコミットb1b78b1:server/app/rooms.py(WALKABLE、is_walkable、may_move)、server/app/main.py(156行目からの_playerで、160行目で各接続のプレイヤーのidをUUIDとして、ハンドルと見せるカードとともに読む。歩けないタイルへの移動を拒否する_tile。217行目からの移動ハンドラで、222行目でプレイヤーのタイルを設定する)、server/app/lines.py(「The preset lines: everything anyone can say in the plaza. Nothing is typed」(プリセットの台詞:広場で誰もが言えることのすべて。何も入力しない))、Kiradex/World/PlazaStage.swift(333行目の@AppStorage("plaza.id")プロパティで、そのIDは一度だけ作られ、入力も表示もされないと述べるドキュメントコメントの下にある。そして空のときに576行目と577行目でそれをUUID().uuidStringに設定するjoin())、Kiradex/World/PlazaClient.swift(135行目でそのIDを送るhelloメッセージ)。非公開リポジトリ。 ↩↩↩↩↩↩↩

  87. Apple Developer Documentation「startOfDay(for:)」(Calendar、iOS 8.0)、2026年10月4日にJSONとして取得、https://developer.apple.com/documentation/foundation/calendar/startofday(for:)。 ↩↩

  88. Apple Developer Documentation「isDate(:inSameDayAs:)」(Calendar、iOS 8.0)、2026年10月4日にJSONとして取得、https://developer.apple.com/documentation/foundation/calendar/isdate(:insamedayas:)。 ↩↩

  89. Apple Developer Documentation「NSCalendarDayChanged」(NSNotification.Name、iOS 8.0)、2026年10月4日にJSONとして取得、https://developer.apple.com/documentation/foundation/nsnotification/name-swift.struct/nscalendardaychanged。 ↩↩

  90. Apple Developer Documentation「significantTimeChangeNotification」(UIApplication、解説の例)、2026年10月4日にJSONとして取得、https://developer.apple.com/documentation/uikit/uiapplication/significanttimechangenotification。 ↩

  91. 筆者による確認、2026年10月5日:下書きの隣にあるfigures/saying_drift.pyで、ブリーフが提案する変動のルールを受け入れテストの数値で実行し、10日分をまとめて適用した結果が毎日10回読んだ結果と等しいことをアサートする。出力ファイルfigures/saying_drift.out.txt(同じ日付に3回読んだあとと再起動後に50、10日後に20で古びた状態、古びたスコア10の言い回しは3日後に5で上昇中)。 ↩

関連記事

Pixel-Art Structures: Houses, Halls and Interiors on iPhone

How Pokémon, the SNES RPGs and Stardew build houses, interiors and floors, measured from source, and how Kiradex's town …

80 分で読める

Pixel-Art People: Characters and a Creator on iPhone

How the best pixel-art games build and dress their people, measured, and how we rebuilt Kiradex's collector, its wardrob…

79 分で読める

iPhone Duoへのアプリ対応:実例でたどる準備と提出

iPhone Duo向けにアプリを準備して提出する方法。レイアウトを切り替えるSDKスタンプ、実アプリで全ポーズを歩いた結果、スクリーンショット、App Storeのルールまで。

46 分で読める