作ったもの
ポケモン関係
3genSearch
第3世代(ルビー/サファイア/エメラルド/ファイアレッド/リーフグリーン)の乱数調整のためのツール。
タイマー以外の乱数調整に必要なほぼすべての機能が揃っている。
もともと開発していたQuan氏から開発を引き継いだ。(ただし内部のコードはほぼすべて書き換えた)
UIを改良したいと考えているが、時間が無くて手を付けられていない。
https://gyazo.com/371b5e0380da42e064734b25aee47bec
https://gyazo.com/758e277c5f2209d107b7d81c55a5825e
Pokemon3genRNGLibrary
3genSearchの乱数関連の処理をまとめたC#用クラスライブラリ。
「オブジェクト指向っぽさ」を理解するために試行錯誤した結果、速度が大きく落ちた。
初めて「他者に使われる」ということを想定してコードを書いたので、アクセシビリティについての理解が深まった。
これも3genSearch同様手直ししたいと思っているが、手が付けられていない。
PokemonPRNG
ポケモンで使われている疑似乱数アルゴリズムをまとめたC#用クラスライブラリ。
現在実装されているのは32bit LCG(第3/4世代で使われている)のみ。
自分が乱数調整ツールを作るうえで欠かせないライブラリ。
イタ電ツール
この手法により、エメラルドの孵化乱数の難易度と所要時間が大きく引き下げられた。
名前が気に入っている。
Em裏ID総当たり補助ツール
「エメラルドでセーブデータの解析をせずに裏IDを調べたい」という人のためのツール。
エメラルドの裏IDの生成アルゴリズムを利用して効率的にしらみつぶしができる。
ファクトリーツール
エメラルドのバトルフロンティアの施設「バトルファクトリー」でレンタルできるポケモン、及び出現する敵トレーナーを乱数調整を利用して制御するためのツール。
リスト出力のみで、検索は自力でするしかないのが欠点。
チューブツール
エメラルドのバトルフロンティアの施設「バトルチューブ」でランダムに発生するイベントを、乱数調整を利用して制御するためのツール。
ものひろいツール
特性「ものひろい」を持ったポケモンが戦闘終了後に持ってくる道具を調整するためのツール。
「ふしぎなアメ」を効率的に集めることができます。
あんまり誰もやっていない乱数調整なので、SNSに投稿すればプチバズが狙えるかもしれません。
RSタワーツール
ルビー/サファイアのバトルタワーで戦う敵トレーナーとその手持ちポケモンを調整するためのツール。
Windows FormでGUIプログラムを作り始めた頃のもの。
COReader
ポケモンコロシアムの乱数調整で最も面倒な初期seed厳選(目標のseed(疑似乱数列の項)に近いseedを引くまでリセットを繰り返す作業)を、画像認識(テンプレートマッチング)を使って効率化しようと思い立って1日で作った。
1回の厳選作業が40秒ほどで終わり、既存のツール(8回分の操作結果をマウスで入力)に比べて、10秒ほど短縮された。
乱数列上での距離が1億以内にあるseedを引くまで厳選をするとすれば、確率は約1/43なので、1回あたり10秒の短縮が最終的には大きな差になる。
操作がコントローラのボタンで完結する(既存のツールだとコントローラとマウスの操作を交互に繰り返す必要がある)ので、ユーザの負担を大きく軽減する。
自動で入力されていく様子は見ていて楽しい。
ムウマの瞬き検出及び瞬きからのseed検索にも対応した。
COStatReader
ポケモンコロシアムのステータス画面を読み取るツール。
初期seed厳選の次に面倒な「操作のズレの調整」のために、毎回ステータスを打ち込んで検索ボタンを打ち込むのが結構な労力に感じたので作った。
COSearch
ポケモンコロシアムの乱数調整のためのツール。
「とにかくバトル」を利用した消費方法の計算を、従来のツールより大幅に高速化。100万単位の消費方法も数秒で出力されます。
XDReader
ポケモンXDのseedを「とにかくバトル」を利用して検索するためのツール。
COReaderと同様、キャプチャした画像を読み込んで判定を行う。
検索に用いるデータベースの大幅な軽量化に成功しており、実行ファイルに埋め込んである。
4genSearch
第4世代(ダイヤモンド/パール/プラチナ/ハートゴールド/ソウルシルバー)の乱数調整のためのツール。
最も有名な第4世代用乱数調整ツールであるPHSではカバーしきれていない分野(メロメロボディを利用した乱数調整、大量発生やラジオを利用したスロット入れ替え等)が多くあり、必要なツール類が分散していたため、統合的なルールを開発することにした。
オリジナルの機能として「ペラップの音程を利用した初期seedの特定」がある(詳細は同梱のtxtファイル参照)。
開発が中断している。
8denSearch
第8世代(ソード/シールド)の乱数調整のためのリスト出力&消費補助ツール。
詳しくは上記の記事で。
巣穴選択画面に力を入れた。操作していて楽しい。
Den(巣穴)と掛けたネーミングをとても気に入っている。
SwShRNGLibrary
8denSearchの乱数関連の処理をまとめたC#用クラスライブラリ。
A For Shine Tool
Discordのポケモン乱数調整サーバに設置されている第8世代乱数調整用初期seed検索botのコマンド入力を補助するためのツール。
スマホでも使えるブラウザアプリを作る練習として作った。
興味を持っていたReactを触ってみたかった。
JSの練習も兼ねていた。
ちょっと結果出力の口が悪い。
疑似乱数生成アルゴリズムの考察
「bitシフトが行列で表現できるのが面白い!」と思ったのが代数学に興味を持ったきっかけだったように思う。
やっていることは3つとも大体一緒()