低レートブリーダーの備忘録

レートより孵化厳選とマイナーを好む。

外部脳を実装しよう!【ポケモンSV】

休日前は寝るのが遅くなるのにポケモンとともに起きて睡眠不足なので初投稿です。すともです。

 

藍の円盤が決まりましたね!

12月ということで結局今月レギュを頑張らないといけなくなってしまいました。

その為というわけでは無いですが、思いついたので戦闘記録データベースアプリ、通称 ††(ただのデータベース)を作成しました。

 

目次

 

 

ポケモンのバトルにおける強さとは

何でしょう?

たぶん色々あると思います。

・構築力

・考察力

・プレイング

・試行回数

・運

etc

挙げたらキリがないと思っています。

その全てが正しいのでしょう。

 

足りない力は補う。

例えば構築力で言えば

・構築共有する

・記事からパk…リスペクトする

とか可能なことはあるのです。

出来る環境かどうかは置いておいて。

 

 

僕はこのゲームにおいて常々思っていることがあります。

「覚えることが多すぎる」

 

環境上位がこれだけいて~これにはこう!

構築記事で見たことあるからこれ!

この構築にはこういう選出がしたい!

あそこでああすりゃ良かったニャ、はい反省会終わり!(出典ロケット団

 

 

果たしてそんなに覚えていられるのでしょうか?

 

 

答えはノーです。

少なくとも僕には不可能です。

 

覚える、というのはそれだけリソースを消費します。

それでいながらバトルにおける強さの源流に近い部分に存在すると考えています。

知識があるから構築が作れて、

分かっているから考察が出来て、

知っているからプレイングに反映出来る。

リソースを消費すればその分だけ潜る回数やら思考力は落ち、最終日に

「何も、なかった」

とかいう羽目になります。

 

だから僕は今まで無駄なアイデアを書き散らして、要らない思考をブログという形で処理していました。

こんな事を思っているせいでリソースが足りないなんて阿保らしい。

でも足りていないのは明白で、対戦中も目の前のポケモンしか見えていません。

覚えることをこれ以上捨てることは出来るけど、でもそれはなぁ…

何とかして容量を増やす方法なんて…

 

 

そうだ、脳みそを増量しよう!

     ~完~

 

 

外置きデータは何が正しいのか

冗談はさておき。

実際に情報を外部に置くとなると何が良いのでしょうか。

 

ポケモン対戦は

構築→選出→対戦

という工程を踏んでいます。

構築を組む段階のデータは巷に転げまわっています。

これをAIかなんかで拾って組ませることで自分に情報を入れない。

確かに可能でしょう。知らんけど。

でもそれって使えるんですか?

そもそもAIなんて扱えないし。

気づいたら変なポケモン入れてる馬鹿だゾ、絶対構築変わってるゾ

 

対戦はどうでしょうか。

そのポケモンのページを開いて~これがこうだから~ってやってたら当然負けます。

何より選択の幅が広すぎます。

やったことをメモしておくのは正しいのですが。

しいて言うならダメ計がここにおけるデータの外置きでしょう。

なら要りませんね。

 

そう考えると選出が一番しっくり来ます。

自分も相手も63で少なく、それでいて試合に直結する。

何が来たかを覚えているならこれにはこれを合わせる、なんてのもできる。

でも種類が多すぎる。

 

実際に選出画面に来るまでに持っていなければならない情報量が多いうえに、活用が難しい。

 

どの工程においても言えることではあるが、特にこの工程においては顕著です。

このポケモンは出てきやすい!

でもこのポケモンも出てきやすいぞ!

どっちな~んだいっ!

LOSE!何で負けたか明日まで考えといてください😁

 

これは経験則で処理できる人もいますが、統計(適当)を取ることでも処理が可能です。

そのくせ取るのも簡単。

だって構築メモってる人がいるくらいですからね、そりゃよゆーっすよ(疲労困憊)

 

他の利点として

・初手以外も透ける為メタが貼りやすい→構築、プレイングに影響

・簡単な計算で出来る癖にちょっとおもろい(?)

・データ数が増えると数字が大きくなって気持ちいい(???)

とか。

僕はタイプ統一とか使ってきたせいか、メタってハメて絶頂するのも好きなので都合が良いです。

 

あまり重点的に言及されているのを見かけたことはありませんが、構築単位で変わってしまうというバカでかい欠点を抱えているせいでしょう。

記事とか見ると大体経験則で強い人には標準搭載みたいですし。

まぁ1シーズン貫き通すなら問題にならないのでこれでいきましょう。

 

ここまでの簡単なまとめ

・情報が多すぎる!

・選出を外部に記録しちゃうぞ!

 

 

ポケモン(個人)バトルデータベース

とりあえず現状で欲しい機能をまとめる(作成後に記事を書いていることは秘密)

・相手のパーティを記録する

・パーティから選出確率を算出する

 ・難しい計算はめんどいので、今までの選出率と、他のポケモンが居た時の選出率まで

・自分のパーティと勝敗を記録する

・相手の選出を記録する

こんなところだろう。

一部不要なデータも付いているが、将来的に勝率とか相手選出予想に合わせたこちらの選出予想とか実装するかもしれないので。

将来的に、を行った記憶がないことはさておき。

 

必要なのはアプリケーションとデータベース。

まぁ業務で一か月しか触ってないけどC#で行けるっしょで開始。

作り始めが火曜とかだった気がするので、金曜午前までで多くても20時間、集中してなかったからほんとは10時間かそこらで終わってそう。

 

使用物(ガバガバ英語があったらごめん)

Visual Studio 2022のC# Windows Form Apprication

・その中で使えるSQL server LocalDB

 

実際に作ったのがこんな感じ、パーティとかポケモンは適当

適当テストの内容は確認していないけど

・パオジアンは50%の確率で出てた

・パオが選出されたときは100%先発

・ディンルーも選出されたときは100%先発、その時にカイリューはいなかった

 ・パオディンルーの時はディンルー先発でパオは後ろにいなかった

とかそんなことが分かるように組みました。

データ数が増えたらちゃんとそれっぽい確率になると思います。

 

コード見せてもつまんないしオワってる記述してるのでデータベースの方をチラ見せ

右のIDをポケモン識別として左に入れて登場数、選出数、先発数を記録しています。

この辺の構築は正規化とかで調べると出るけど僕はてきとーです。

人に触らせるものではないので。

とりあえずこれでサブポケモンが居る時のメインポケモンの選出率を出すことが出来ます。

もっとスマートな方法もあると思いますが、個人だしOK!

 

 

今月の目標

目指せ200試合。

ライブラリ(笑)を作成したのでせっかくならまともな確率を知りたいので現実ギリ行けそうな値。

また、これを作ったことでデータの外置きに加え、

・データを入れる喜びの為に試合数を稼ぐ

・構築の固定化で奇形構築作成自我の抑制

・記事を書く気が出た

・コードを書きたいキチゲの消化

のでだいぶアドバンテージを稼いでる。

今月は頑張るぞ!

 

 

 

まずは構築の決定からですね(白目)(固定停泊地)(絶対捕食回転斬)