2016年12月24日土曜日

PennantSpirits ver0.31

更新方法

pennant.exe、pic.pena、及び各datフォルダにある/recordbase/injurybase.datを上書き

追加したもの

・パワー、ミートの細分化
・成績シミュレーションシステム搭載
・ 査定システムの新装
・個人詳細起用法

機能自体は既に告知したとおり。

一括から全選手の査定を行えるので 、実名選手の査定も多少は楽になるはず。
datフォルダ内のplayer_new.csvには2016年終了時のデータが入っているので、
例によって特殊モードからNキー+Cキーでインポート可能。
Ctrlキーを押しながらN+Cで既存選手を削除せずそのまま追加。
また、FREEに退団などで入りなかった選手、監督のデータ、及びNPBを去った選手を何人か入れています。
コーチの分も作るべきなんだろうけど面倒くさい。
csvデータの追加自体はそんなに難しいことではないので要望があればまた書きます。
解説しなくてもファイル見たら法則がわかるかな。

その他

そういえばCSV能力インポート作り変えるの忘れてました。
 監督絡みは結局ほとんど手付かずのまま。
他にもやろうと思ってて忘れてる部分があるかもしれませんが勘弁してください。
それといつも通りバグ報告をお願いします。

2016年12月22日木曜日

二刀流とかについて

詳細起用

手抜き気味ですが各選手の細かい起用法を設定できるようにしました。


後からレイアウトが変わったので下部分がNPB公式サイトのようにスカスカなのは勘弁してください。
中○日で先発登板といった設定もできるようになり、今まではローテを順に消化するだけだったのがかなり変わっています。
それ以外のところは割りと適当だったり。
コメントにあった二刀流についてですが、それっぽいのには対応しています(上画像の野手起用の部分)。
形だけなので例えばMVPに選ばれても投手成績しか表示されないし投手扱いなのでいくら打ってても打たれまくったら二軍に落とされます。
そんなに細かく作り込むつもりはないです。
その理由はいくつかあるのですが、大前提として二刀流起用とは即ち実質的に大谷選手を再現するための専用の起用法となっている点があります。
普通、打撃C守備Eの右翼手Xと打撃A守備Dの右翼手Yがいた場合、Yを右翼にしてXをDHに回すところ、このYが投手も兼ねていた場合、負担を考えてDH起用しかされなくなる。という、これが今季の起用法。
昨季及び今季は負担を減らすためかDHor投手での出場しかありませんでしたが1年目・2年目は外野手起用が多く、投手として登板するときDH解除するときもあればそのまま投げることも。その際打順も上位になったり下位になったり。
そういった起用法を正確に再現しても来年以降またガラッと変わる可能性があります。
また昨年のように打撃不振の場合は野手起用を減らしていましたが、投手成績が芳しくないときはそのまま投手起用を減らすのか、投手だけに絞るのか、ローテの谷間にするのか、リリーフでも起用するのかなど方針が不明。

今の時代に一人にシーズン400イニング投げさせるチームはいません。
だからゲーム内でもよほど深刻なチーム事情がない限りそんなふうにならないようにしています。
同じように二刀流投手にローテ1番手としてフル回転させながらほとんどの試合で出場させることはないだろうと(とりあえずは)判断していますが、もしかしたら来季それをさせるかもしれません。
重要なのは選手の負担がどれだけかかるか・耐えられるかではなく、どれだけ起用するのが「普通」であるかという点なのです。
過去には400イニング投げさせるチームもあったのです。

大抵の選手の起用法はどのチームも似通っていて、すなわち一般的なセオリーの采配が決まっているため、
もし状況にそぐわない起用があってもノイズとして片付けるか、場合によっては監督の特色として再現すればいいだけなのですが、
サンプルが一人しかいない以上どれが「二刀流における普通の起用法」であるのかが判断できません。
そのため、とりあえずは「大谷選手の能力であれば先発で20試合程度登板、野手としては指名打者で400打席程度は立つ」ことを目安に実装しています。

成績シミュレーション

新機能のこれについて予め説明。
メイン画面

成績投入…設定した比に応じた成績を代入する(打席数は査定範囲内で最も高かったものを採用)
AUTO…下記2つから選択したほうの計算を常に行う
成績計算…その能力で残すと思われる成績を計算する
能力計算…成績から能力を逆算する
固定…上記3つの選択を自動で解除しない

救援投手は先発投手と扱いが違うのでチェックボックスに入れると救援投手用の計算が行われます。
なお、一括査定などでは投球回と登板数の比率から先発・救援を判断しています。

設定画面

今季~4年前…成績を代入する際にそれぞれの年数ごとの比率を設定
信用打席…信用打席数に達していない場合、査定能力*打席数/信用打席+現在の能力*(1-打席数/信用打席)で能力を算出します。
NPBのみ、一軍のみ…査定範囲をそれぞれ設定します。選ばなかった場合、一軍用に成績補正が行われます。
FIPベース…投手の変化球を防御率ではなくFIP(というかK%)から求めます。

いくつかやることが残っていますが次回の更新は土曜日あたりにするつもりです。
使用球設定についてですが、査定能力と組み合わせた場合の調整が間に合いそうにないのでデフォルト推奨としておきます。

2016年12月5日月曜日

次回更新予定その2

とりあえず変化球はこの形式に決まり。
表示する順は今は数値順ですが方向順でも並べられるようにするつもり。
旧式のものを残すかは未定。
プレイヤーが変化球を編集(ベースのスライダーやカットボールなどを編集or選手の能力を直接編集)できるようにするかは未定ですが、
もしそうなったときに旧式のものは邪魔なので。
成績は表示する量を増やしてみましたが、場所を変えたせいで視点を上下しなきゃいけなくなってちょっと見づらいかな~という気がしなくもない。

それとは別に、100段階にしたい特殊能力も多数。
例えば対左・右はミート・パワーを左右別に分けると現状より更にパラメータが増えすぎるので避けましたが、特殊能力を細かくするのはあり。
また死球避け系は3段階しかなく、暴投や与死球率に至ってはコントロール依存。
後者は制球を3つに分けて与四球・与死球・暴投から制球を表示みたいな感じにしようとも思いましたが最終的にはやめました。
この辺も細く設定できるようにはしたい。

それから、成長バランスもちょっと弄っていて、前はなんか面倒な式にしていて成長値についてもざっくりした説明しかできなかったのですが、今回からは経験値がたまったときに能力が上がる確率に変わりました。
プロスペクトのいわゆる素材型の選手を再現する際、成長値よりもピーク年齢に強く依存してしまう問題があり、以前からピーク年齢が早い選手ほど成長しやすく劣化を緩めるなど工夫はしていましたが、それもちょっと限界かなと思ったり。
OOTPの成長システムを調べたところ、PECOTAやZiPSで求めた成績予想を元にポテンシャルを割り出しそれに徐々に近づいていく・・・みたいなシステムらしく、すごく合理的なシステムだなあと改めて関心。

よくある画面の大きさの要望について。
だいぶ前に一回広げましたがやはり足りないと思う場面はあるのでいずれ広げたいです。
しかしその作業が糞面倒くさいのも事実。前やったときは何ヶ月かかけてやったので。
単純に解像度そのままでウィンドウ二倍とかならいつでもできますが。