2015年12月31日木曜日

PennantSpirits ver0.20

進捗をTwitterでぽろぽろこぼしていたのでそこそこ大きな要素だけ。

・変化球100段階化、直球系の変化レベル導入
今までに比べて抑えるのに必要な変化レベルのハードルがかなり高くなっているので、
恐らくそのままデータ使ったらかなり打高になります。
一応こちらで何十年か回したデータを用意していますが。

・投手評価値の見直し
上の仕様変更に伴って。今までは球種を見ずに変化レベルだけでざっくり評価していましたが、
今回は球種ごとに評価を変えています。まあ普通にプレイする分にはあんまり影響ないんですが。
野手の評価値はまたいずれ見直します。

・成績書き出し
これが欲しかった人にとってはあるのとないのとでは結構違うんではないかと。結構適当。
選手データ画面の右上の歯車から。保存先はtxtファイルになっています。

・全体的なUI改善
大体フォントの変更。
しかも半端なところで中断したので旧式のが残ってる部分がかなりあります。

・個人成績画面の設定
項目が増えてくると別に必要ない、興味のない指標が邪魔になってくる人が出てくると思ったので。
右上のスパナマークから設定画面を表示します。

・画像差し替え
所謂MOD的な。
picフォルダにデフォルト画像と同名のデータを入れておくと画像が変わります。
よくわからない人はダウンロードしてからpicフォルダ(pl_icon.pngやtitleback.pngが入ってるやつ)を別の場所に移してみてください。
共通オプションからON/OFF切り替え可能。

・シーズンオフのスキップ
Zキーを押すと日程ボタンが春キャンプ前までスキップのボタンに変わります。
スキップ中は設定でオンにしている場合のみCPUが補強を行います。

0.201での追加点
・シーズン中の新人エディット
マスターモードオンで新戦力→Zを押しながら新外国人選手獲得で新人選手。
春キャンプ後からドラフト指名までの間にエディットしてください。

・シーズンオフのシステム画面
ただしセーブは不可。

・打撃成績画面でポジション別表示
a_20160101000031d39.png
むしろなぜ今までなかった。

2015年11月23日月曜日

近況

・デザインの一新
 ごちゃごちゃしていて見辛い的な意見が前からちらほらあり、
 長年同じUIで使い続けている自分はさほどそう感じていなかったものの
 どうにか見やすい画面にできないかと考えた末にフラットデザインに行きつきました

 確かに見やすい。title.png

 そしておしゃれ。こうして見ると改めてフォントのダサさが浮き彫りに・・・・
mainmenu.png

 フラットデザインにおいては縁取りは思いっきり邪道なんですが、
 選手アイコンの区切りが判断しにくいからここは縁を付けるかも。
order.png

 課題は一番の難点である成績画面の表の表示。
 フラットデザインは別に複雑でデータ量の多い表を表示するのに向いているわけではないですし。
 まあいろいろ考えてみます。

・変化球まわり
 今まで特殊能力の直球が役割を担っていた投手の速球に球威を設定。
 同時に変化球のレベルを70段階から100段階に。
 やはり70段階はしっくりこないし、100段階化は前からやりたことではあったので。
 数字変えるだけなら簡単なのですがそれに伴うバランス調整と見た目を変えるのが大変。
 今はオプションで矢印(パワプロ風)と色分け(ちょっとプロスピ風)を選択できるようにしているのですが、
 矢印の方は最初期に作ったものなので拡張性や汎用性が皆無。コードも長いし。
 正直、矢印は廃止してもいいかなとは思ってます。
 スペースの問題で今回から導入する直球の球威が表示できないのは致命的で、
 7段階しか表示できないこともあって今後の展開の障害になること間違いなし。
 お気づきの方もいるかもしませんが自分はテストプレイ時にほとんど使っていません。
 とはいえ、パワプロ風の見た目でとっつきやすさを確保していた部分があるから悪いことばかりでもないんですが。

 実名選手の再現をしたい人はしばらく待った方がいいかもしれません。

2015年11月17日火曜日

いまやってること

成績書き出しはβ版のころから作ろうと思っててそのままだったので作りました。
a_201511171840355ea.png

二軍戦にとっかかってましたが二軍用のオーダー設定とかも作らなきゃいけないことに気がついたので今回は途中止め。

今は日程生成に取り組んでいますが、正直難航しています。
今まで日程ははめ込み式というか、あらかじめ日程のひな型を決めておいて順位で組み合わせを決定といった形にしていましたが
2015年仕様や全160試合仕様など日程のパターンを変えたいとき、もう一度全カードをこちらで組みなおしてやる必要があるわけです。
この作業が非常に面倒くさい。
ということである程度ランダムで日程を生成してくれるプログラムを組みたいのですがこれが難しいんです。
とりあえずリーグ戦を組むとして2チーム×3対戦×6カードで総当たり。同じ組み合わせでホームビジター入れ替えてもう1節。
これで全チーム2試合ずつ(2×5)、ホーム・ビジターでもそれぞれ1戦ずつになります。これを14回繰り返して140試合。
こう書くと簡単そうに見えるんですがその1節を生成するプログラムがスマートに組めないのです。
手を抜いてある程度パターン化してもいいんですが今後二軍戦用のカレンダーを組んだりチーム総数を変えられるようになったり
したときに汎用性が無いと困る。
なのでだれか代わりに組んでくれる人を募集します

以下スレとかコメントとかへの回答。

Q.年俸が高騰しまくって辛い
A.まだその辺は調整中なので・・・
とりあえず少し要求金額を落としてみます。
Q.外人投手弱すぎ
A.最低レベルを上げて対処します。
Q.打高すぎるor投高すぎる
使用球を多少細かく選択できるようにします。
Q.伊倉が強すぎ
A.能力自体はそうでもないような、と思ったらピンチ+系や対走者+系がちょっと壊れてるので要調整。
Q.引退選手を見たい
A.技術的に不可能ではないですが全部記録していくと100年もすればデータ量が大変なことになりそう。
現実的には保存する選手は選択とか最新1000人までとかになるかなあ
Q.守備能力を0にできない、投手の野手練習が無意味、2年目のCSがおかしい、などなど
A.バグです。次回までには直します。

2015年10月31日土曜日

ver 0.19

かなり時間が空きましたが公開。
今回から開発環境がVisualStudioに変わりました。
ゲームも触ったらすぐにわかるレベルでサクサクになっていますが、
コンパイラが変わったことによりバグや画像・線のずれなどが生じています。
確認次第報告してもらえると助かります。

・開始後のエディット
大きく分けて二つ。

  1. 選手エディット

  2. 手順は
    システム→設定確認→設定4でMとAとSキーを同時押ししながらマスターモードをオンにする。(一度オンにするとそのデータではオフにはできない。)選手データを開き右上の歯車ボタンにカーソルを合わせ「Edit」をクリック。
    といった感じ。
    選手メモも編集できるようになりました。
    言い忘れてましたが今回ブックマーク周りが改善された他、最近見た選手を履歴から確認できるようになりました。
    説明面倒だし触ったら大体わかると思うので割愛。
    それにしても初期のグローバル変数・関数を乱用していたソースコードをよく再利用できるよう魔改造したものだと自画自賛。

  3. チームエディット

  4. こちらは作り直すのが大変なので開始前エディットを再び行えるようにしました。
    ただしシーズン中のものを弄ると問題が起きそうなので、
    春キャンプ直前かつマスターモードがオンになっているセーブデータ限定。
    やり方は上の条件を満たしてスタート画面で既存データ編集を選ぶだけ。

・変化球を7段階→70段階に変更
0~10で今までの1相当、11~20で2相当みたいな。
わかりにくかったらオプションから表示スケールを7段階にすれば今までの表記になります。

試合バランス変更
変化球レベルを細かくしたことに伴ってバランスも変わってます。実在選手の再現をする人は頑張ってください。
そのほか、過大だったキャッチャーのリードレベルの影響力を内野手の守備くらいまで落としたり、
暴投数を増やしたり、ほとんど機能していなかった一部の特殊能力を強化したり、などなど。

ドラフトのAI改善
競合が起きそうな場合、回避するようになった。だけ。
ひとまず10球団競合とかは減ったはず。

現役選手通算成績一覧
成績モードの歴代成績にあった未定のところが現役選手通算成績になってます。
上のボタンで投手・野手切り替え。

WPAの実装
個人的に好きな指標なので。
現実の統計と照らし合わせて算出する数字ですが、
サンプルが無かったので百年くらい回して集めました。大体現実に近い数字になっているはず。
オプションでプレイ中の結果をサンプルに加算できます。
そんなのよりWAR追加しろとか言わないで。
あと、試合観戦モードでWキーとAキーを押すとその状況における先攻チームの勝率が表示されます。誰得。

起用法固定など
投手の配置変更した際に起用法を変更しない、オーダー設定した選手は試合中途中交代されない、などの設定を行えるようになりました。
結構やっつけなので次の次くらいには細かく設定できるようにします。

2015年9月1日火曜日

不具合?報告

実は長年酷使を続けてきたPCが7月にとうとう壊れまして、とりあえずということで安物のノーパソを使っていましたが
安物ということでものすごく重く使い勝手が悪いためまったく製作が捗っていませんでした。
近いうちにまともなPCを購入する予定。

それはそうと、さきほどDXライブラリのホームページをのぞいたらこんなページが。
PlayStation®4 , PlayStation®Vita 用 DXライブラリについて
http://homepage2.nifty.com/natupaji/DxLib/dxps.html
実は前からPC以外のプラットホーム(というか携帯機)でも遊べるようにしたいと思っていたものの、
製作に使っているDXライブラリはWindowsでしか動作させられないため諦めていましたが、
PS用DXライブラリなるものに移行すれば簡単にVitaとかでも動作させられるようになる、のか?
ただし利用には「Play,Doujin!」というプロジェクトに参加する必要があったりするので、気軽にというわけにはいかなさそう。
まあ、ver1.00にこぎつけないとどのみち・・・・ですが。

Q.Pに代打出ない
A.打撃能力の判定をミスってるからです。次回には直ってると思います。
Q.新人の強さを調整したい
A.気が向けば調整できるようにします。
Q.主力野手が成績不振で二軍落ちするとそのままシーズン終了まで二軍にいることがある
A.能力がいい選手をポンポン上げると各ポジションの配分がおかしくなったりするので、
その選手が守れるポジションの人数が空きが出てなおかつ他に不足しているポジションがない場合に
選ばれる可能性が生まれるという割と厳しめの条件になっています。
つまり他の選手との兼ね合いの問題がある為解決は一筋縄ではいかないってことです。
Q.バグがある
A.対応します。

2015年6月7日日曜日

PennantSpirits ver0.16

0.16公開。
アップデートは今まで通り開幕前にexeファイルとpic.penaを上書き保存。

・怪我、トレード関係のバグや不具合の修正
色々不安定なところがあったんで修正。
まだガバガバだとは思いますがましにはなっているかと。

・ゲームバランスの調整
主に試合部分。投手能力の影響力をアップ。FB・GBの仕様変更など。
また、今まではこっそりリーグ内が打高・投高によりすぎないように補正をかけており、
それによって球団ごとに有利不利が生まれることはなかったですが、
例えば全投手の能力を最低にしても意外と見れる成績になってたりしてました。
その仕様を今回撤廃(オプションでオンオフ切り替え有り)。
これと上述の投手の調整により全体の成績が不安定になっています。
生成される選手によってはちょっとした拍子にラビット並みに打高化したり、逆に投高に傾いたり。
実名選手の再現をする人は頑張ってください。。

・その他不具合修正、要望対応

2015年6月1日月曜日

バランス調整

先週中に更新するつもりでしたが頓挫。
実は今半年ぶりくらいの大規模なバランス調整を行っています。
それはずばりVORPの考えによるものです。

リーグ平均OPSが7割だとして、じゃあ(あえて誤解を招く言い方をするなら)リーグ全員の打者の平均能力がOPS.700か?というとそうではありません。
ゲームに出ている選手の大半は主力選手であり、即ちリーグ成績の大半のウェイトを主力選手が占めているわけです。
控え選手は控え選手相応の実力があり、その平均はまず間違いなく主力選手の平均成績に劣ります。
そのラインはNPBにおいては大雑把に言うと失点率ならリーグ平均の1.4倍、得点なら平均の0.7倍程度になるようです

話を戻します。
このゲームで何十年か回した後、一軍の主力の打力を二軍レベルに落とすと、そうしなかった場合に比べて
チーム平均600得点程度から400点前半まで落ちます。600×0.7=420なので概ね正常な数値と言えるでしょう。
この辺りは以前調整をしたのでその結果が出ていると言えます。
では投手はどうなるかというと、リーグ防御率4.0に対して4点台中盤。
4.0×1.4は5点超ですから、明らかに控え選手の能力が高すぎる。
実はこれも以前から薄々気が付いていた問題でしたが、投球は打撃と違い変化球の影響で複雑な計算式を用いており、安易に調整がし辛く問題を先送りにしていました。
これによって発生する問題は、リーグ防御率は低いのに防御率争いは三点弱になったり、一般にローテーションを守れる先発投手は貴重と言われている中でドラ2で防御率4.5程度で1シーズン働ける先発が取れてしまったり。
原因は投手能力というか変化球が(パワプロ等に比べればマシとはいえ)他の能力に比べて低めで、その影響力が自然と小さくなっていたせいだと思っています。
なので現在はドラフト新人の能力をインフレさせつつ試合バランスを取ろうと試行錯誤しています。
下手に弄ると今度は変化レベルが高いと奪三振率12とかになっちゃって大変。

これはずっと前から思っていたんですが変化レベルは99段階とか10段階とかにすればよかったなあと
まあ市販ゲームが7段階なので取っ付きやすさ重視でそれに倣ったんですが。

2015年5月25日月曜日

PennantSpirits ver0.15

0.15公開。
アップデートは今まで通りexeファイルとpic.penaを上書き保存。
それに加えて、datフォルダのnamedataフォルダの上書きとrecordbase内のinjurybase.datのコピペをしてください。

・怪我の追加
今回はほぼこれ。
ゲーム内では試合に出られる程度の怪我を軽傷と呼んでいます。出場不可能な怪我をまんま「怪我」と呼ぶのに対して軽傷というのはいささか不自然ではありますが、認知度が高くて簡潔な表現が思いつかなかったので・・・
選手データ下部で見られる疲労状態によって怪我のしやすさが変わります。
injurybase.datに怪我データがあり、開始時に読み込みます(開始後は変更不可)。
メモ帳で開くと編集が可能。
「1,25,30,50,0,0,0,0,1,1,0,7,0,頬骨のひび」のように並んでいますが、
左から順に全治最少日数、全治最大日数、発生率、劣化度合い(出場不可の怪我の場合0)、シーズンを棒に振る可能性があるか(0or1)、選手生命に関わる場合があるか(0or1)、投球や送球で発生する怪我(0or1)、走塁で発生する怪我(0or1)、守備の際の衝突で発生する怪我(0or1)、死球や乱闘で発生する怪我(0or1)、病気で発生する怪我(0or1)、識別ID、怪我の箇所(0=肩,1=腕,2=腰,3=膝,4=背中周辺,5=手,6=足,7=頭部)、怪我の名前(12文字以内)。
まあこれだけ見ても意味不明だと思うんで普通にそのまま使ってもらえればいいかと
また、1プレーごとに処理が入るので多少重くなってます。
補足という名の言い訳をするならば、調整不足のためバランス関係が甘く、能力の劣化で選手の能力がデフレ傾向になり、
結果外人が無双して三冠王取りまくるみたいなケースもあるかも。
あと、中継ぎは疲労値を割とがっつり高めに設定したので、長くても4~5年で壊るケースが大半だと思われます。

・マスクデータ編集
今まで編集できなかったものを。
成長系データ
ピーク年齢…この年齢が近づくと成長しやすくなり、過ぎて何年か経つと劣化が始まります。
成長値…高いほど成長速度が上がります。
これらは自動ボタンを押すことで自動で設定されます。
また、特殊モードでA+M+Iキーを同時押しすると全選手にそれを行います。

怪我系データ
シーズン疲労値…身体に溜まった疲労です。試合に出ると蓄積し、シーズンが変わると減ります。調子アイコンの数字とは別物です。
持病…1だと持病を持っていることになります。持病があるとその部位の疲労が取れにくくなります。
怪我状態…怪我が0だと普段通り、1だと軽傷、2だと出場不可。即昇格を1にしておくと怪我が完治すると即1軍に上げるようにします。主力などに。全治は文字通り全治期間。
怪我劣化度…怪我をしているときに劣化している能力を設定します。完治するとこの能力がプラスされるということです。

その他データ
チーム愛…FAしやすさ。デフォルトは100
銭闘…年俸要求金額に影響。
勝執着…高いとチームの状態によって調子が変動。
MLB志向…MLBへの移籍のしやすさ。
故郷愛…地元チームへの移籍のしやすさ。
大半が入力しても意味のない値だったりするのは内緒

・名前
namedataフォルダのデータ形式変更。
今回からは「佐藤,150,サ」のようになっています。
左から名前、その名前の出やすさ、頭文字になっています。
苗字+名は外人だと変な感じになるので頭文字を設定しておいてT・ウッズみたいにするかも
ということで頭文字を用意してますが面倒くさいのでまだ全然です
日本人名は用途がないのでとりあえずフリガナ頭文字。

・その他
査定能力性の信頼度の設定の影響が少なすぎる不具合などバグを修正、日シリ出場チームの秋季キャンプを行わないなど仕様変更、試合バランス調整など

2015年5月20日水曜日

FB、GB

こんにちは。
去年追加した投手の特殊能力、FB(フライボール)・GB(グラウンドボール)について。
投手の緑能力(その他タブの能力)が寂しかったから追加してみたという側面もあるんですが。
今触ると我ながらなかなか適当な仕様だなと((
簡単に言うとFBは三振が取りやすくなる代わりに打球が上がりやすくなる、GBは三振が取りにくくなるかわりにゴロが増える特殊能力です。

話は変わりますが、野球で投手が野手を抑えるのに必要な能力は大きく分けて3つあります。
・三振を取る能力
・四球を出さない能力
・ゴロを打たせる能力
大体FIPみたいなものなんですが、NPBにおいてはフライBABIP>ゴロBABIPなので、
フライを打たせないことはイコール失点を減らすことに繋がります。
このゲームでは四球を出さない能力はほぼ制球に集約されており、
球速と変化球が三振を取る能力とゴロを打たせる能力を担うわけです。
変化球でも例えばカットやシュート系は奪三振能力が低い代わりに詰まらせてゴロを打たせやすく、フォーク系はその反対といった感じ。

この仕様の問題点としては、球速や変化レベルが高くてフライを打たせる投手やそれらが低くてゴロを打たせる投手を球種次第では再現できないケースがあるということ。
そこらを解決するためにFB・GBを導入したんですが、結構調整不足というか間に合わせ感が強いというか。
もうちょい倍率を弄れば変わるんだけど、ポリシーとして緑能力は単純なプラス(マイナス)能力にしたくないというのがあって色々難しい。
まあ正直ゴロアウトやフライアウトの数字出してるデータサイトは日本じゃ稀だし、GO/AOなんて表示させなきゃ誰も気にしなくて済んだんだろうけど。
つまり何が言いたいかと言うと、その辺りのゲームバランスはかなり不安定なので実在選手の再現とかする際はあまり気にしないでくださいってことです

2015年5月10日日曜日

PennantSpirits ver0.14

ver0.14公開
アップデートはいつも通りpennant.exeとpic.penaを上書き保存。
スレで上がったバグは一通り直したはず。

ここから昨日公開したつもりだった(けど公開できてなかった)記事。



ver0.13公開です。

・トレード
とりあえず自球団の分だけでも実装してみては?と言われたので実装しました。
バランス調整が適当で詐欺トレードができたり金銭の価値がほとんどなかったりであれですが、
とりあえず作ってみました感。
他球団からの申請や他球団同士のトレードはまだないです。
あと外人選手をトレードで獲得すると外人枠を無視してしまう不具合(仕様)があります。
獲得した際に自動的に二軍にセットする方法も考えましたが、
もし1軍27人・2軍満員だったら困りそうだったので。
あるいはシーズン中の外人選手のトレード獲得を全面的に禁止というのもありと言えばあり。
気になる人は外人選手を獲得しないようにしてください。
その他、バグも大量に潜んでそう。

・エディットに外人エディット・FREE枠追加
おおむね新人選手と同じです。
プロスピと違ってFREE枠の選手はプレイ開始後触れません。注意。

・日程画面にタイトル争い/注目選手追加
早送りの際にあったら便利かなと思うものを追加。
注目選手は選手データ画面の右上の虫眼鏡ボタンを選択すれば追加されます。

・チーム成績画面の拡張
今までは情報量が少なかったので。
全体のバランス調整も兼ねたもの。

・その他バランス調整・バグ修正など

2015年4月28日火曜日

打点王

こんばんは。
前に「打点王の数字が伸びにくい」「100打点がリーグに一人とかになる」という記事を書き、
そのあとパワーの性能引上げで解決しました。
最近またそれを感じるようになり生成選手のパワー型を増やすことで強引に解決させたのですが、
そのせいか本塁打数がラビット並みに増えてしまいがちだったのでまた解決策を探っています。

原因は思いつくだけで3つくらいあり、そのうち一番大きな影響を与えていると思われるのが
「打順が固定されない」という点です。
これはセーブ王の時にも悩んだ点なのですが、能力査定によって選手の評価がしょっちゅう変わることは
能力を参照する打順組み替えにも大きな影響を及ぼします。
例えばある年の日ハム打線では、90打点以上を記録する選手が4人いたにもかかわらず
100打点以上を記録したのは0人でした。
dajun.png
これはそれぞれ3~7番あたりをたらい回しにされて打点が分散したのだと思われます。
現実ではやはりよほど不振でなければ4番は固定され続けるケースが多い。
解決策としてはクリンナップは一定の水準の成績を残している間は打順固定にするとか?
そもそも左右で打順違うケースもあるからなあ・・・

ちなみにどの打順が一番打点を上げやすいか、と疑問に思いましたが
実際のNPBのデータを調べるのは不適当だと思い、(4番に最強打者がいるんだから一番多いのは当たり前)
ゲーム内で実験しました。
全選手の野手能力を弾道4・回復99・リード4・その他50、投手能力を球速148キロ、スライダー4、カーブ4、フォーク3
全打順を固定して両リーグDH有り、成長なしで5年ほど回し、各年の打点を記録。
daten.png
これが打順別の一人あたりの打点です。
やはり4・5番が一番稼ぎやすくなっており、このあたりの打順に固定された選手ほど打点王争いに有利です。
6番が少ないのは以外。サンプル数不足が原因?
そういえば昔少年野球か何かの本で「6番は第二の1番打者」って読んだような・・・

2015年4月24日金曜日

PennantSpirits ver0.11

公開です。前回から半年ぶりという。アップデート方法はReadmeファイルでどうぞ。
データ上書きするので、事前にバックアップを取っておいたほうが安全です。

結局、去年の年末に作っていたものからあまり進歩していません。
将来的なことを考えてデータをかなり大きめに取っているのでファイルのセーブやロードにかかる時間がストレスになるかもしれません。
久々のアップデートなので色々忘れているような気がして不安ですが、
まあ、いつも通りデバッガーになったつもりで。

今回増えた要素
・選手データ画面の情報量増加
選手の年度別の能力や選手メモなどを見られるようになりました。
記録系と成長系は分けて表示するようにしました。
・将来性の導入
正確には将来性を知ることが出来るようになった、という方が正しいです。
査定能力と同じように査定回数を変更できますが増やすと重くなります。推奨は月一回です
・コーチ、監督システム追加
とは言ってもガワだけです。
始めると解任や変更もできないので年齢が200歳とかになります。
・検索機能
左下のブックマークのあれを左右にカチカチやると検索メニューが出ます。
選手名で選手を検索できます、ただそれだけです
・チーム情報画面追加
これは全然出来てないです。これまで采配メニューにあった一覧や主力をこちらに移しただけです。
他のメニューは今後作ります。
・その他バランス調整、バグ対応
走力に伴った盗塁頻度の向上、三振の段階化など

追記:不具合を修正した0.12を公開しました。

2015年3月24日火曜日

とりあえず、

生きてます。
毎年のことですがシーズンオフに入って野球に触れる機会が減り、
なんJからも野球スレが減って見る機会が減り、野球から離れたことでゲーム制作のモチベも下がり、
といった感じで全くと言っていいほど触っていませんでした。

近いうちに最新版を配布します。
内容は
  • 選手の能力成長表
  • 将来性の表示
  • コーチ/スカウト制導入(ただし形だけ)
  • 個人成績のリーグ最高/最低を色分け強調表示
  • 試合バランス調整
  • その他バグ修正
あたりです。
まあ、大半が去年にやったものなんですが。