2033年4月3日日曜日

PennantSpirits

PennantSpiritsホームページ
pennant.webcrow.jp
最終更新:ver0.40

公式Twitter
https://twitter.com/PennantSpirits

2017年10月25日水曜日

生存報告と開発休止

生存報告。
とりあえずここで一度、無期限開発休止(終了ではなく)宣言をします。

作る意欲がわかなくなるのは過去にも何度かありました。そのたびにこのゲームをぼんやりとプレイして選手の成績などを見ていると勝手に製作のモチベーションが上がってきていたものですが、今回はそれが希薄です。

ずっと期待してプレイしてくれていたプレイヤーの方や今は亡きライアル君には申し訳ないですが、思わせぶりな状態で放置して期待を持たせ続けるのはもっと申し訳ないので。
バグへの対応や選手成績データの更新は行おうと思っていますが、やる気が起きるまでは新たな機能を実装したり仕様を大幅に作り変えたりはしないつもりです。
モチベーションが戻ったら作ろうと思っているもの。
  • トレード
    一度実装はしていたのですが難点が多く、AIを組み直して実装するつもりでしたが未だそこに至らず。
  • ドラフトモード
    今はなんJでやってるのかは知りませんが、ドラフトで実在選手を1チーム分指名してパワプロなどを使って編成しオートペナントを回すあれ。
    指名表を作ったりくじの手間を省いたりするだけでなく、「総年俸○万以下」「1球団○人まで・1リーグ○人まで」「5歳ごとにグループ分けしてそれぞれ人数制限」など、
    特殊なオプションを付けて指名選手を選ぶのが簡単になる利点があったり。
    これは結構前から構想があって、タイトルの未定のところから飛べるようにするつもりでした。

  • 過去の年代再現
    要はOOTPのヒストリカルモードのNPB版。
    ただし、OOTPがいずれNPBやKBOなどにも対応するつもりらしいので、このゲームでわざわざ実装する必要あるのか?と思ったり。
  • 守備関係の作り変え
    UZRを実装してWARを表示できるようにしたい。

この数年の間で何度も製作の手を止めたり空白期間があったりした中でよく作り続けられたなと我ながら驚き。
始めたての頃はプログラミングなんて初心者同然でコードも無茶苦茶でした(その辺りに書いたスパゲティコードが後々にまで悪影響を及ぼし続けてますが)。


製作に対する意欲が落ちてしまった理由はいくつかあります。

このゲームを作り始めて学ぶことは多かったのですが、創作欲求が湧いてもペナスピにつきっきりなため他のものに手を出しにくい状況が続いていて、今回これから少し離れて別のものに触っているうちにこちらを作る気力が失われていきました。 *1

また、このゲームの機能を拡張していってもお金が貰えるわけではなく、コネクションが広がるわけでもなく、かと言って今後に活かせる新たな経験が積めるわけではない、惰性による創作がメインになってしまうため、生産活動をしているはずが実質的には消費活動に向いてしまっているのが辛い。
「ゲーム制作初心者は大作を一つ作るのではなく小さいものをたくさん作れ」という言葉はこのゲームを作り始めてだいぶ経ってから知ったのですが、本当にその通りだと思います。

それから2年くらい前にあったデータ消失も痛かった。定期的に開発中のネタをTwitter で投下していけばプレイヤーの反応も見られるしRTなどでこのゲームを知りプレイしてくれる人が増えるのではみたいな淡い期待を持ちつつ、
実際モチベは最高潮に達していましたが、登録して2ヶ月ほどでアレが起きたので一気に色んな面で萎えてしまいました。
そこからどうにか元の形に戻しましたが、ver0.40は最後の力を振り絞ってやりきった感が強いです。


最後に、結構前からよく言われてた「キャッチャーが弱い」について。
これはいろんな仕様が合わさった結果のものです。
☆システムは以前ツイッターで説明した通り野手の場合「攻撃による得点生産力+守備による失点抑止力」の合計となっています。

ところで、NPBにおける捕手の平均OPSをご存知でしょうか。
過去10年で見た場合、大体リーグ平均マイナス.110くらいになるようです。リーグ平均OPSが.700なら捕手は.590。全体的にかなり低く、規定打席数に達する選手もごくわずかです。

ゲーム内の初期選手で言うとこれくらいです。思っていたよりずっと低い打撃能力だったのではないでしょうか。
そのためドラフトなどの初期能力は低めであり、他のポジションと同じように成長させてしまうと打ちすぎてしまうのでそれもかなり抑えてあります。
正捕手のOPSが安定して.800を越えようものならそのチームは常に優勝争いを繰り広げられるほどのすさまじいアドバンテージを稼ぎ出します。

もちろん打撃だけでなく守備も大事だろうという見方もあるでしょうし、実際ゲームでも守備型捕手を獲得するよりそこそこ打てる選手は捕手にコンバートしたほうがずっとプラスだったため、
最低レベルの捕手能力の選手を正捕手に据えると大幅に失点が増えるようにはしました。
ですが「打てるけど守備が残念な捕手」と「打てないけど守備に定評がある捕手」とでは守備貢献度において(打撃ほど)大きな差が生まれません。
この辺も盗塁阻止の捕手の影響力に疑問がある点やリード力の判別が難しい点などのセイバーメトリクスの研究結果に反して差が出やすくしたつもりですが、それでも守備の影響力はたかが知れています。

それらの仕様が合わさり、打力は全体的に低めで安定しており、守備の影響もさほど大きくないために突出した選手が生まれにくいという結果になっているのではないかと思います。

*1:ちなみに今触っているのは野球とは全く関係の無いジャンルです。当ブログなどでもいずれ扱うようになるかもしれません。このゲームを作る過程でセイバーメトリクスなど統計的な視点における野球の見方やデータの扱い方についてたくさん勉強しましたが、その反動で野球関係のゲームはもう良いだろうと…
あと、ゲームに関係なく野球関係の記事は書きたいと思っています。どうしてもゲームを作りながらだとそういう記事が書きにくかったり。

2017年8月3日木曜日

PennantSpirits ver0.41

更新。
来週中には公開しますといいながら全然時間がとれずかなり時間が経ってしまいました。
オフの挙動がおかしかった部分など不具合の修正がメイン。
忙しいのは相変わらずなのでしばらくは同じような状況が続きそう。
アップデートは0.40以降を使用中ならpennant.exeを上書き、それ以前なら 0.40を介してアップデートしてください。

2017年6月18日日曜日

投手のHR/FBについて

以前2軍戦のHR云々の頃に日本語で投手のHR/FB(HR/OF)について調べてましたが、
その時は全然出てこなかったので仕方なく英語の記事を探しました。
するとあっさりFanGraphsで出てきました。

http://www.fangraphs.com/fantasy/pitcher-batted-ball-distance-correlation/
http://www.fangraphs.com/blogs/comparing-fips-and-xfips-using-batted-ball-distance/

Google翻訳にぶち込むだけの簡単なお仕事。

結論から言うと、「フライボールの飛距離は投手が関与できる」。
DIPSの理論で言えば、HR/FBは年度ごとの相関が少ないので外野フライから一定の本塁打数を見込んだxFIPこそ投手の実力とされてきましたが、
100%そうとは限らないということです。
感覚的にも、守備の影響をもろに受けるBABIPと違って球以外には打者と風くらいしか影響を受けないので投手の力がある程度反映されてもおかしくはないと感じたり。
ただしNPBでこの理屈が使えるかどうかは不明。
個人的にはMLBの0.308という相関より高い数値になるのではと予想しているのですが、投手ごとの全外野フライの飛距離データなんて持ってないので…

もし投手の力で飛距離が変わるとしたら、そういったパラメータを追加することで
二軍戦の本塁打数が少ない問題や投手のHR%の年度相関が低い問題などが解決する可能性があります。

2017年6月11日日曜日

PennantSpirits ver0.40

更新方法

過去のものと同様、ver0.313のdatフォルダの入っているフォルダに0.40converter.exeファイルを放り込んで実行すれば変換されます。
不具合が起きるかもしれないので大事なデータの場合は要バックアップ。
後はpennant.exeとpic.penaファイル、それからpast_filesフォルダを上書きコピーするだけ。


セーブデータが肥大化した関係で配布データからdat1、dat2フォルダをカットしました。
起動時にそれらがない場合defoフォルダをコピーするようになっているので、初回の起動は通常より時間がかかります。

実在選手の顔ファイルはface_inportファイルで配布しています。
使い方はホームページ参照。

追加したもの

多すぎて書ききれませんがとりあえず全体的なUIの改修、試合ログ追加などを行いました。
一部機能は削ったり一時的に削除してたりします。

追記

0.401を公開しました。
0.40のデータを使っている場合は該当フォルダのrecord.datとrecord_2.datを削除してください。

2017年3月31日金曜日

デバッガー募集

ここのところはずっと選手の成長システム周りを弄っています。 将来性を絡めた調整も難しく、以前の練習システムの存続も怪しい。
かなり難航しています。

次回の公開は6月あたりが目標。
いつもは公開して数日の間に報告されたバグを修正し0.X1として再度公開しています。
が、今回は一部の人にだけ仮のものを配布しバグを報告してもらうデバッガー方式を取りたいと思っています。
何故このような方法を取るかと言うと、
  1. 今までの方法だと公開してからしばらくの間バグ報告待ちで製作が止められてしまうため。正式公開は一段落ついたところでしか行なえませんが、製作しながら仮公開したものをバグ報告してもらえれば作業の手を止めなくて済む。
  2. 公開してからバグ報告待ちだと、バグを探すのを目的としてプレイするのに比べてプレイ人数は多いもののバグの発見頻度・報告頻度が少ない点。それまでの仕様を知らずにバグだと思って報告するみたいな無駄になるケースも多い。
  3.  今回はアップデート内容の規模が大きすぎるので、バグ報告→バグ対応→バグ報告→バグ対応のループを延々繰り返すことになりかねない点。
形式的には鍵付きでゲームを上げてしてそこからダウンロードしてもらって、どこかのファイル共有サイトかアップローダーを使ってバグ内容と再現するセーブデータをアップしてもらう感じをイメージ。
この方式で問題になるのはやはり協力者がいるかどうか。
フリーゲームなので報酬は出ませんし、細かい仕様書も用意出来ないので今までのバージョンをプレイして多少なりとも仕様を知っている人だと捗ります。
別にプロのデバッガーと違って細かい挙動を完璧にチェックして回る必要はないですが、楽しむためのプレイではなくデバッグの為のプレイをしてくれる人が望ましいです。
例えば特定の極端な条件でプレイするとある場所で固まるみたいな。

仮公開期間は一週間くらいになると思いますし、それもしばらく先のことですが、もしデバッガーになってもいいよって人がいればこの記事のコメントなりTwitterなりでコンタクトをくれると嬉しいです。




現状実名査定してくれる人もいないのでデ バ ッ ガ ー 0 人になりそうな予感も。

2017年3月2日木曜日

試合画面

定期的な報告。
ほとんど手を加えてこなかった試合画面の改良に着手。簡単な試合ログも表示するようにしました。




今までは試合結果はその日のものしか記録していませんでしたが、
デザイン変更に合わせて年内の全試合分の成績を記録し後から見られるようにしました。

yahooスポーツのように試合の選評も作ろうかと思いましたがまた今度。

それから0.20くらいからスキップが重くなっていた問題を解決。
それ以前は開幕からシーズン終了まで30秒弱で終わっていたのが、
今では1分以上かかってしまう。
原因を突き止めたので改善したところ、以前と同じくらいの30秒弱程度に戻りました。
ただ自分のPCではそうだっただけで、スペックの落ちるPCだとやはりかなりもっさりしたりするかもしれないので、
たまには別のPCで動かすことも必要かもしれないですね。