Front Office Football Central  

Go Back   Front Office Football Central > Main Forums > Dynasty Reports
Register FAQ Members List Calendar Mark Forums Read Statistics

Reply
 
Thread Tools
Old 03-25-2026, 11:31 AM   #1
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
Playtesting Chaos (Viperball + O27 baseball)

Rather than put a bunch of box scores in the original thread, I just wanted a cleaner more "dynasty style" place to write about game action now that I've had for weeks a pretty clean interface with shareable data.

I'll still weave in engine improvements and things I run across, but I just wanted somewhere to actually "play" the game even if I'm mostly doing playtests and sims to see how things work and trying to in many ways reverse engineer context from a sport we can't see.

This isn't an unusual problem for any text sim, but at least we know what football or basketball or baseball look like which makes the sims easier to make sense of. We don't know what Viperball actually looks like, so the imagination has to work harder to make sense of what's happening on the page.

I've enjoyed this challenge of asking myself with each out "is this plausible?" The biggest issue for a while in the college simulator was too many playoff upsets for my tastes, but the problem was the engine had created players that were all kind of even and so it made sense that no one team was dominant. I've since updated the engine to create far more distance between elite to doormat, but the engine has taken it too far and now you get too many superplayers who kind of break the game and turn it into arena football but outdoors.

I've worked pretty hard to get the game to look more like a football variant -- specifically improving defenses so it's not just an offensive game, but I envision a freeflowing game that's fast and tactical.

So that's what you're walking into currently, I'll do share outs of various games, seasons and box scores of interest as I continue to build on the engine, a lot has happened in the last month with it.


Last edited by Young Drachma : 05-04-2026 at 01:59 PM.
Young Drachma is offline   Reply With Quote
Old 03-25-2026, 12:59 PM   #2
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
I've already improved the engine around player generation to make things less super charged, the issue was largely that the diff between players within a band was very low, I expanded it so that you get wider differentiation between players on even elite teams.

But before I push that change, I'm running a single-season campaign where Rutgers is somehow really good and the Jersey in me is hoping to see if they can pull off an unthinkable playoff run in a sport that does not reward higher seeds.
Young Drachma is offline   Reply With Quote
Old 03-25-2026, 01:57 PM   #3
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
This Week 15 match between Montana (3-9) and South Dakota (0-12) isn't notable because of the talent, but because it was a shutout. I'm not sure I'd ever seen a shutout in this game before.

I've done a lot of work on producing an engine capable of a defensive team shining, but in this case it was too pretty inept teams coming together to produce a stinker where USD couldn't get the ball anywhere near the end zone.

Some notables:
- Average start is where the team got the ball post-score, because of the no-kickoffs thing, teams get the ball +/- their own 20 yard line based on the score differential. This seems like it'd make things unnecessarily unfair, but we track the differentials and good teams are able to overcome it. My thinking was always that if you bake "unfairness" into the game, teams are able to adjust and adapt to those conditions.

I think there's a lack of human element involved in a simulated sport that doesn't account for things like bad calls and blown calls that might impact the sport, but I don't think it's anything more drastic than NBA refs or umpires or line judges ability to turn a game.

Anyway, shutouts are not a common occurence here so had to freeze one.

Code:
South Dakota 0.0 @ Montana 38.0 FINAL Week 15 CONF --- Game Ratings --- Team Rating: 34.0///44.8 | PPD: 0.00///4.22 | EPA: -15.8///16.9 | Explosive Plays: 0///4 Conversion %: 5.9%///32.4% | Lateral %: 100.0%///100.0% | TO Margin: +3///-2 | Avg Start: 32.6///57.4 --- Scoring Profile --- Rush TDs 0 (0%) 4 (100%) --- Defensive Impact --- Bonus Possessions Earned 0 1 Bonus Conversion Rate 0.0% 0.0% Turnovers Forced 3 2 INTs Forced 0 2 TOD Forced 3 0 Defensive Stops 5 6 Stop Rate 55.6% 100.0% --- Team Stats --- [OFFENSE] Total Yards 63 285 Total Plays 34 71 Yards / Play 1.85 4.01 Touchdowns 0 4 Viper Efficiency 1.97 5.50 Avg Fatigue 57.6 47.6 [RUSHING] Carries 19 54 Rushing Yards 36 267 Rushing TDs 0 4 Yards / Carry 1.9 4.9 [KICK-PASS] Completions / Attempts 5/11 3/5 Completion % 45.5% 60.0% Kick-Pass Yards 27 18 Kick-Pass TDs 0 0 Interceptions Thrown 2 0 [LATERAL GAME] Lateral Chains 2 1 Successful Laterals 2 1 Lateral Efficiency 100.0% 100.0% Lateral Yards 14 10 Lateral INTs 0 0 [KICKING] Place Kicks (Made/Att) 0/0 0/1 Punts 2 1 Pindowns 0 0 [SPECIAL TEAMS] Punt Returns 2 for 4 yds 1 for 4 yds [TURNOVERS & DISCIPLINE] Fumbles Lost 0 0 Turnovers on Downs 0 3 KP INTs Thrown 2 0 Turnover Margin +3 -2 Penalties (Yards) 4 (25 yds) 6 (75 yds) [TIMEOUTS] Timeout Usage 4 used / 0 left3 used / 4 left By Half 1H: 0 · 2H: 41H: 3 · 2H: 0 Defensive Kneel Stop 4 0 Personnel Regrouping 0 3 [EFFICIENCY] 4th Down Conv. 0/4 (0%) 7/11 (64%) 5th Down Conv. 0/4 (0%) 2/4 (50%) 6th Down Conv. 0/2 (0%) 1/5 (20%) Chaos Recoveries 0 0 [KEEPER / DEFENSE] Keeper Deflections 1 0 Bells Generated 0 0 Keeper Tackles 35 6 [DELTA SYSTEM] Delta Yards -94 0 Adjusted Yards -31 285 Power Play (trailing) 3dr / 3.3ypd / 0%1dr / 4.0ypd / 0% Neutral (tied) 3dr / 20.3ypd / 0%8dr / 36.5ypd / 50% [BONUS POSSESSIONS] Bonus Possessions 0 1 Bonus Yards 0 4 Bonus Scores 0 0 --- South Dakota — Offense --- Roselord Primus 11 4 36% 27 0 2 Kinsley Barcello 2 17 8.5 0 Shanique Swaby 1 9 9.0 0 Sahar Al-Salem 1 1 1.0 0 --- Montana — Offense --- Ruth Cardoso 3 2 67% 14 0 0 Yolanda Tshibangu 2 1 50% 4 0 0 Elena Gallo 1 8 8.0 0 Deneisha James 1 6 6.0 0 Shreya Pandey 1 4 4.0 0
Young Drachma is offline   Reply With Quote
Old 03-25-2026, 07:40 PM   #4
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
Playoff runthrough

This isn't the first post-season I've run, I've run lots of sims at this point probably in the thousands. The tool itself is just Python with a GUI that lets me interact with all of it, so it's pretty speedy.

As I've said before, paying attention to the games helps me to see what sort of problems are happening in the engine. Because i'm a sim player, I'm far more interested in the aggregated look of things than I am trying to overindex on things like playbooks and controlling outcomes, I'm far more interested in giving the engine the tools to do all of that itself and to fix and tweak as I sim to see what's going on.

So this post-season is interesting, we have a 32-team playoff and seeing what teams get left out (and sent to Bowls) versus make the field really comes down to being in an easy conference, having a strong season.

There's a bug that lets playoff teams also play in bowls which I'd never noticed before. But my changes have helped top tier teams play for the title, I've never seen two Top 5 teams in the title game before this year.

Rutgers lost to Boise State in the Elite 8.

Code:
================================================================================ VIPERBALL NATIONAL CHAMPIONSHIP: #4 PITTSBURGH 72.0 - #2 BETHUNE-COOKMAN 66.0 ================================================================================ [ GAME SUMMARY ] Winner: Pittsburgh (17-0) Venue: Heinz Field (Home) Final Score: 72.0 - 66.0 MVP: Diana García (HB) - 170 Total Yds, 3 TD, 17.9 WPA [ TEAM STATS COMPARISON ] Metric | Bethune-Cookman (BCU) | Pittsburgh (PITT) -------------------------------------------------------------------------------- Total Yards | 659 | 512 Plays | 61 | 37 Yards Per Play | 10.80 | 13.84 Points Per Drive (PPD)| 5.82 | 7.20 Touchdowns | 6 | 8 Bonus Possessions | 1 | 0 Turnover Margin | +0 | +0 Penalty Yards | 55 (7 pen) | 40 (5 pen) Delta Yards (Net) | +54 | -132 [ SCORING PROFILE ] PITT: 4 Rushing TD (36 pts) | 4 Kick-Pass TD (36 pts) | Total: 72.0 BCU: 3 Rushing TD (27 pts) | 3 Kick-Pass TD (27 pts) | 1 FG (3 pts) | 1 Return TD (9 pts) | Total: 66.0 [ TOP PERFORMERS - PITTSBURGH ] 1. Diana García (HB): 9 TCH, 108 RUSH, 62 REC, 3 TD (17.9 WPA) 2. Naomi O'Leary (ZB): 14 ATT, 8 CMP, 265 YDS, 4 TD (10.9 WPA) 3. Ananya Srivastava (WB): 8 TCH, 25 RUSH, 81 REC, 1 TD (5.6 WPA) 4. Flávia Ramos (KP): 15 TKL (Defensive Anchor) [ TOP PERFORMERS - BETHUNE-COOKMAN ] 1. Gabrielle Dumornay (WB): 17 TCH, 141 RUSH, 1 TD (14.6 WPA) 2. Felicia Jeudy (VP): 4 TCH, 136 REC, 0 TD (19.2 WPA) 3. Almaz Mamo (HB): 13 TCH, 34 RUSH, 104 REC, 2 TD (7.6 WPA) 4. Adeline Gaetino (VP): 58-yard INT Return TD [ STRATEGIC ANALYTICS ] * EFFICIENCY GAP: Pittsburgh ran 24 fewer plays than BCU but won.

Code:
================================================================================ VIPERBALL FINAL TOP 25 STANDINGS: 2026 SEASON ================================================================================ RK TEAM W-L PF PA PPD RATING -------------------------------------------------------------- 1 Pittsburgh 17-0 1186.5 382.0 6.24 57.52 2 Bethune-Cookman 16-1 1165.0 511.5 6.23 53.28 3 Boise State 15-1 1149.5 358.5 6.38 55.36 4 Rutgers 14-1 1153.0 493.5 6.84 55.63 5 UCLA 13-1 1011.5 546.5 6.29 53.39 6 UC Davis 12-1 1023.5 361.5 6.23 56.86 7 Middlebury 12-1 969.0 351.0 6.52 55.02 8 Butler 11-1 970.5 347.0 6.36 55.24 9 Grambling 11-1 789.0 274.0 5.68 53.44 10 Kansas 14-2 1063.5 594.0 5.69 57.48 11 Missouri State 13-2 1160.5 403.5 6.77 52.05 12 USC 13-2 973.0 478.0 5.81 55.74 13 Mississippi State 13-2 894.5 576.0 5.56 50.66 14 Grand Valley State 12-2 1039.5 315.5 6.36 52.63 15 Linfield 12-2 903.0 333.0 6.35 50.89 16 Drake 12-2 899.5 384.5 6.04 54.76 17 Dartmouth 12-2 917.0 420.5 6.09 53.09 18 Merchant Marine 12-2 809.0 346.5 6.00 52.39 19 Arkansas 12-2 890.0 492.5 5.66 53.02 20 Saint Mary's 11-2 1069.5 432.0 6.34 54.15 21 Penn 11-2 984.5 377.5 6.23 54.22 22 Illinois 11-2 862.5 323.5 5.72 56.24 23 Southern Oregon 11-2 784.5 267.5 5.44 50.18 24 Western Illinois 11-2 862.0 367.5 5.83 53.38 25 UALR 11-2 939.5 446.0 5.69 54.46 [ SEASON ANALYTICS ] * CHAMPION: Pittsburgh finishes #1 in wins, total points, and rating. * OFFENSIVE POWER: Rutgers leads the Top 25 in PPD (6.84). * DEFENSIVE CLUTCH: Southern Oregon finishes with the lowest PA (267.5) in the Top 25. * DISCREPANCY: #10 Kansas holds a higher Rating (57.48) than #2 Bethune-Cookman (53.28) despite two losses ================================================
Young Drachma is offline   Reply With Quote
Old 03-25-2026, 07:42 PM   #5
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
Code:
=============================== VIPERBALL 2026 POSTSEASON AWARDS & ALL-CVL TEAMS ================================================================================ [ THE PRESTIGIOUS PERSEPHONE AWARD ] Winner: Alexis Spencer (UCLA, Zeroback, Jr.) Stats: 14 GP | 127/216 KP | 4,727 Yds | 51 TD | +132.6 WPA Note: The undisputed face of the Pac-16, leading the Bruins to a dominant season. [ NATIONAL INDIVIDUAL AWARDS ] * Best Zeroback: Gloria Barton (Kansas, Jr.) - 4,796 Yds, 57 TD * Best Viper: Callie Rodriguez (Southern Oregon, Sr.) - 1,618 Yds, 23 TD * Best Lateral Specialist: Luísa Pedro (Butler, Sr.) - 2,004 Rush Yds, 30 TD * Minerva (Defensive): Zara Ferguson (BYU, Sr.) - 91 TKL, 41 Sacks * Best Kicker: Renee Gordon (Texas Tech, Fr.) - 3,135 Yds, 29 TD * Diamond Gloves (Keeper): Dana Brister (South Carolina, Jr.) - +7.9 WPA [ ALL-CVL FIRST TEAM ] Pos | Player | Team | Notable Stat -------------------------------------------------------------------------------- ZB | Alexis Spencer | UCLA | 51 Kick-Pass TDs VP | Callie Rodriguez | Southern Oregon | +143.5 WPA VP | Monique Gagnon | Brown | 20 Total TDs VP | Gabrielle Francis | Montana State | 1,093 Total Yds HB | Luísa Pedro | Butler | 17.4 Yards Per Carry HB | Diana García | Pittsburgh | 2,213 Rush Yds (CVL Lead) HB | Kennedy Hayes | Saint Mary's | 29 Rush TDs KP | Rosa Lopes | Florida A&M | Freshman Sensation WB | Faith Collins | Ithaca | First-Team All-CVL [ COACHING HONORS ] * Coach of the Year: Barbara Spencer (Bethune-Cookman) * Most Improved Team: Bethune-Cookman (Finals Appearance) * Top Assistant: Jeffrey Clark (Grambling, DC) [ CONFERENCE MVPS ] * Big East: Diana García (Pittsburgh) * Big 12: Gloria Barton (Kansas) * SEC: Elli Hegerberg (Mississippi State) * Pac-16: Alexis Spencer (UCLA) * Northern Shield: Nova Poyser (Middlebury) * Moonshine: Indira Mathurin (UW-River Falls)

Last edited by Young Drachma : 03-25-2026 at 07:57 PM.
Young Drachma is offline   Reply With Quote
Old 03-25-2026, 08:11 PM   #6
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
Now I'm about to push several updates that will improve the game logic on timeouts, talent, end of game logic -- which was lacking -- and a few new offensive playbooks to improve schematic diversity. It should result in some differences in how games play, though probably not a drastic change other than hopefully lowering scoring and some of the blowouts.

It'll probably still look like crazy arena football meets Aussie Rules, but I prefer scores in the 40-70 range, not 100+ scoring games.
Young Drachma is offline   Reply With Quote
Old 03-25-2026, 09:43 PM   #7
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
Code:
After Action Review — Talent Generation Balance **Date:** 2026-03-25 ## Problem Too many 90+ OVR players. Blue blood rosters were wall-to-wall 93-99, national power teams weren't far behind. **Three issues:** - Stat centers too high (blue blood at 95 acted as a floor, not an average) - Spreads too narrow (3-6 meant every player on a team was a clone) - Three pipelines all skewed high (roster generation, recruiting, transfer portal) ## Fixes **Roster generation:** - Blue blood center: 95 → 87 - National power: 89 → 82 - Regional power: 78 → 74 - All spreads unified at 12 (from 3-6) **Recruiting:** - 5-star range: 83-98 → 79-93 - 4-star range: 72-90 → 67-84 **Transfer portal:** - Senior range: 70-93 → 62-86 - 5-star potential: 10% → 6% ## Expected Impact - 90+ players become rare (blue blood: 3-5, not 30+) - Players have actual profiles (speedster, technician, liability) - Upsets become plausible - Development matters (5-stars need 2-3 seasons to reach 90+) Existing dynasty saves retain inflated rosters until natural attrition cycles them out.

Last edited by Young Drachma : 03-25-2026 at 09:50 PM.
Young Drachma is offline   Reply With Quote
Old 03-26-2026, 09:43 AM   #8
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
I realized after the post-Rutgers run that we were still seeing far too many 99 OVR players and it's the main root of the insane scoring.

The game has a bunch of engine-related additions that skill can activate which can "boost" your ratings in context, so there's no real need to have players coming in already overly maxed out, so I lowered the baselines dramatically to see if that tamps down scoring.

Also I always think it's silly if you're operating on a 0-99 scale and the lower number aren't used, what was the point of the scale going that low? Like if you can rate someone on a scale 1-5 and you only really can use 4-5 what's the point?

I haven't tested this out yet, but it should be closer to what we had before without all of the narrow closeness within the play development windows.
Young Drachma is offline   Reply With Quote
Old 03-26-2026, 11:54 PM   #9
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
Another playtest

So the latest update was pretty big because there lots of things I ended up adding and fixing in some cases. The biggest change was to the talent player generation system, which took several PRs to get right. Even with that, it's still not perfect, but I like where we are now.

The thing is, by removing a lot of the arbitrary guard rails around talent generation, it means far worse players -- and far better players -- get created now than when we simming before. The earlier iterations kept scoring mostly out of control, but the game hasn't gotten any real blowout mechanics much yet, I'll add that in the future.

This Week 2 non-conference matchup got out of hand quickly.

Code:
Maryland 117.5 @ Florida A&M 27.0 FINAL Week 2 --- Game Ratings --- Team Rating: 53.0///52.3 | PPD: 6.75///3.46 | EPA: 68.9///-17.4 | Explosive Plays: 18///6 Conversion %: 44.8%///17.1% | Lateral %: 100.0%///100.0% | TO Margin: -3///+3 | Avg Start: 31.8///57.5 --- Scoring Profile --- Rush TDs 10 (91%) 2 (50%) Kick-Pass TDs 1 (9%) 1 (25%) Return TDs 0 (0%) 1 (25%) --- Defensive Impact --- Bonus Possessions Earned 1 1 Bonus Conversion Rate 0.0% 0.0% Turnovers Forced 2 3 Fumbles Forced 0 1 INTs Forced 2 0 TOD Forced 0 2 Defensive Stops 8 3 Stop Rate 61.5% 25.0% --- Team Stats --- [OFFENSE] Total Yards 888 261 Total Plays 109 96 Yards / Play 8.15 2.72 Touchdowns 11 3 Viper Efficiency 9.75 3.45 Avg Fatigue 44.2 44.5 [RUSHING] Carries 65 46 Rushing Yards 714 120 Rushing TDs 10 2 Yards / Carry 11.0 2.6 [KICK-PASS] Completions / Attempts 14/20 16/33 Completion % 70.0% 48.5% Kick-Pass Yards 174 141 Kick-Pass TDs 1 1 Interceptions Thrown 0 2 [LATERAL GAME] Lateral Chains 1 2 Successful Laterals 1 2 Lateral Efficiency 100.0% 100.0% Lateral Yards 11 9 Lateral INTs 0 0 [KICKING] Place Kicks (Made/Att) 0/0 0/1 Punts 3 1 Pindowns 0 0 [SPECIAL TEAMS] Punt Returns 2 for 14 yds 1 for 5 yds [TURNOVERS & DISCIPLINE] Fumbles Lost 1 0 Turnovers on Downs 2 0 KP INTs Thrown 0 2 Turnover Margin -3 +3 Penalties (Yards) 36 (345 yds)32 (310 yds) [TIMEOUTS] Timeout Usage 0 used / 4 left8 used / 0 left By Half 1H: 0 · 2H: 01H: 4 · 2H: 4 Scheme Reset 0 1 Momentum Stop 0 5 Offensive Clock Stop 0 1 Defensive Kneel Stop 0 1 [EFFICIENCY] 4th Down Conv. 3/5 (60%) 3/13 (23%) 5th Down Conv. 2/3 (67%) 4/9 (44%) 6th Down Conv. 0/2 (0%) 0/0 (0%) Chaos Recoveries 0 0 [KEEPER / DEFENSE] Keeper Deflections 1 0 Bells Generated 1 0 Keeper Tackles 19 17 [DELTA SYSTEM] Delta Yards 57 -537 Adjusted Yards 945 -276 Delta Scores / Drives (Kill Rate)3/3 (100.0%) 0/0 Penalty Kill (leading) 3dr / 102.7ypd / 100%0dr / 0.0ypd / 0% Power Play (trailing) 1dr / 0.0ypd / 0%11dr / 23.8ypd / 36% Neutral (tied) 8dr / 57.1ypd / 88%2dr / 62.0ypd / 50% Mess Rate (PP% − Kill Rate) -100.0 — [BONUS POSSESSIONS] Bonus Possessions 1 1 Bonus Yards 0 13 Bonus Scores 0 0 --- Maryland — Offense --- Hương Phan 19 13 68% 174 1 0 Nadia López 3 79 26.3 0 Skylar Perlotte 3 26 8.7 0 Lena McCarthy 2 23 11.5 0 Kiana Tuilagi 1 12 12.0 0 Chelsea Meza 1 9 9.0 0 Natalie Plummer 1 9 9.0 0 Meryem Uysal 1 9 9.0 1 Sibongile Ochieng 1 7 7.0 0 --- Florida A&M — Offense --- Riley McCall 29 14 48% 115 1 3 Sara Al-Harbi 5 3 60% 44 0 2 Sara Al-Harbi 3 44 14.7 0 Kanika Iyer 5 27 5.4 0 Abby Trinh 4 23 5.8 0 Georgia van den Berg 1 19 19.0 0 Claire Santoro 1 14 14.0 1 Rosario Martinez 1 8 8.0 0 Elena David 1 6 6.0 0 Leslie Ryan 1 0 0.0 0

I'm going to work on improving the box score detail outputs, too. I think the most interesting additions I'm looking for are the coaching decision logic. Because I always intended for this to be a sim where I just watch, I wanted schematic diversity, I wanted coaches to be able to make dumb decisions just like real ones do.

One of the things I did in my last big update was add refs because I wanted to see how they'd impact games -- I probably wrote this already -- but I also wanted coach challenges. Initially, the challenge system didn't make any sense. The AI knows what calls are and plays are not really "plays" anyway, it's just dice-rolls that get rendered as plays.

So once I realized this before we even had formal challenges, I went back and rebuilt it. Now the coaching system doesn't interact with whether a "play" needs to be challenged. Instead, on decisions that might require review -- a penalty or some close call play -- the coach will challenge, but the coach's decision process has something to do with who is refeering the game, their ratings & a bunch of other factors including the score and when in the game the play happened to decide its challenges.

Video review and the refs are a separate system entirely.

It won't have a major impact on games, and the failsafes are built to ensure that.

Speaking of, this Week 5 matchup was a much better representation of a close game.

Code:
Kansas State 37.5 @ Oklahoma 40.5 FINAL Week 7 CONF --- Game Ratings --- Team Rating: 34.7///52.3 | PPD: 3.27///3.09 | EPA: -3.5///12.2 | Explosive Plays: 8///4 Conversion %: 21.4%///27.9% | Lateral %: 100.0%///66.7% | TO Margin: -5///+5 | Avg Start: 36.1///39.4 --- Scoring Profile --- Rush TDs 0 (0%) 4 (78%) Kick-Pass TDs 4 (100%) 0 (0%) Place Kicks 0 (0%) 1 (6%) Bonus Scoring 0 (0%) 1 (15%) --- Defensive Impact --- Bonus Possessions Earned 0 2 Bonus Conversion Rate 0.0% 50.0% Turnovers Forced 2 8 Fumbles Forced 1 5 INTs Forced 1 2 TOD Forced 0 1 Defensive Stops 8 7 Stop Rate 61.5% 63.6% --- Team Stats --- [OFFENSE] Total Yards 211 438 Total Plays 42 103 Yards / Play 5.02 4.25 Touchdowns 4 4 Viper Efficiency 7.13 5.01 Avg Fatigue 53.6 44.6 [RUSHING] Carries 9 72 Rushing Yards 44 322 Rushing TDs 0 4 Yards / Carry 4.9 4.5 [KICK-PASS] Completions / Attempts 14/24 12/18 Completion % 58.3% 66.7% Kick-Pass Yards 167 116 Kick-Pass TDs 4 0 Interceptions Thrown 0 0 [LATERAL GAME] Lateral Chains 2 3 Successful Laterals 2 2 Lateral Efficiency 100.0% 66.7% Lateral Yards 5 4 Lateral INTs 0 1 [KICKING] Place Kicks (Made/Att) 0/0 1/1 Punts 3 1 Pindowns 0 0 [SPECIAL TEAMS] Punt Returns 2 for 15 yds 1 for 1 yds [TURNOVERS & DISCIPLINE] Fumbles Lost 5 1 Turnovers on Downs 1 0 Lateral INTs Thrown 0 1 Turnover Margin -5 +5 Penalties (Yards) 5 (60 yds)17 (145 yds) [TIMEOUTS] Timeout Usage 4 used / 0 left0 used / 4 left By Half 1H: 1 · 2H: 31H: 0 · 2H: 0 Scheme Reset 1 0 Momentum Stop 2 0 Strategic Clock Stop 1 0 [EFFICIENCY] 4th Down Conv. 2/5 (40%) 9/15 (60%) 5th Down Conv. 0/1 (0%) 0/3 (0%) 6th Down Conv. 0/1 (0%) 1/1 (100%) Chaos Recoveries 0 0 [KEEPER / DEFENSE] Keeper Deflections 1 3 Bells Generated 3 3 Keeper Tackles 25 8 [DELTA SYSTEM] Delta Yards -126 54 Adjusted Yards 85 492 Delta Scores / Drives (Kill Rate) 0/0 0/4 (0.0%) Penalty Kill (leading) 0dr / 0.0ypd / 0%4dr / 33.8ypd / 0% Power Play (trailing) 3dr / 34.0ypd / 0%2dr / 38.5ypd / 50% Neutral (tied) 8dr / 18.4ypd / 50%7dr / 33.6ypd / 57% Mess Rate (PP% − Kill Rate) — 50.0 [BONUS POSSESSIONS] Bonus Possessions 0 2 Bonus Yards 0 77 Bonus Scores 0 1 --- Kansas State — Offense --- Irene Were 23 14 61% 167 4 2 Kassidy Romano 4 49 12.2 0 Annika Ilestedt 2 30 15.0 0 Rokhaya Khumalo 1 30 30.0 1 Milani Vega 1 17 17.0 1 Gloria Chinwike 3 16 5.3 0 Wren Ma 1 14 14.0 1 Zennia Schroeder 1 11 11.0 1 Cara Okonkwo 1 0 0.0 0 --- Oklahoma — Offense --- Farah Razafy 19 13 68% 116 0 0 Jody Blades 6 47 7.8 0 Piper Gates 1 24 24.0 0 Kara Rodgers 2 16 8.0 0 Cate Velasquez 1 10 10.0 0 Fariza Usmonov 1 9 9.0 0 Sydney Edgecombe 1 9 9.0 0 Sophia Gilbert 1 1 1.0 0

Last edited by Young Drachma : 03-26-2026 at 11:55 PM.
Young Drachma is offline   Reply With Quote
Old 03-27-2026, 12:15 AM   #10
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
Snapshot of an elite player, doesn't change her from being far and away better than everyone else.


Building a computer ranking using real-life computer football algos for a viperball sim might be the nerdiest thing I've ever done, which is saying a lot. But I'm so jazzed.



Viperball KenPom Metrics, okay maybe this is nerdier.




Glossary:
Quote:
Raw O/D = Points per 10 drives · EK% = Effective Kick% (DK weighted 5/3 vs PK) · TO% = Turnover rate per drive · TOD% = Forced turnover rate per opponent drive · LR% = Lateral Recovery% · FDR = Free Down Rate (penalty first downs per play) · RLE = Rush/Lateral Efficiency (yds/carry) · KP% = Kick Pass completion% · Tempo = Plays per game
Young Drachma is offline   Reply With Quote
Old 03-27-2026, 12:59 AM   #11
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
JK Sometimes people are just gonna drop 100 on you...

PROVIDENCE — By halftime it was 75½–30 and North Dakota State had three timeouts left and nowhere to use them.

Providence ran 75 times for 542 yards. Nine rushing touchdowns. Pınar Çelik had three of them. Amber Pham had two and 92 yards. Ayu Kaewprom scored and ran wild in the second quarter. The Friars didn't need their kick pass game — Maya Mendoza went 12-for-14, got her two touchdowns, and stepped aside while the ground game finished the job.

North Dakota State turned the ball over nine times. Three fumbles, two interceptions, four lateral interceptions. Havana Robinson threw into coverage all afternoon, finished 17-for-31 with four picks, and watched her team gain minus-one rushing yards on 13 carries. The only thing that went right was a 10th-down touchdown in the first quarter — a lateral chain that survived long enough to find the end zone — and a garbage-time score in the fourth that made the margin 75½ before Providence kneeled it out.

The Bison had 186 total yards. Providence had 693.

"We've got some things to clean up," Providence coach Sarah Weber said, generously.

North Dakota State falls to 0-1 and has a week to figure out whether this was a mismatch or a diagnosis.


Code:
North Dakota State 30.0 @ Providence 105.5 FINAL — Week 1 --- Game Ratings --- Team Rating: NDSU 42.6 | Prov 68.8 PPD: NDSU 2.08 | Prov 5.73 EPA: NDSU -6.7 | Prov 70.1 Explosive Plays: NDSU 8 | Prov 12 Conversion %: NDSU 20.0% | Prov 41.9% Lateral %: NDSU 100.0% | Prov 100.0% TO Margin: NDSU -3 | Prov +3 Avg Start: NDSU 41.0 | Prov 41.4 --- Scoring Profile --- NDSU Providence Rush TDs 0 (0%) 9 (69%) Kick-Pass TDs 3 (73%) 2 (15%) Drop Kicks 0 (0%) 1 (4%) Place Kicks 1 (8%) 0 (0%) Bonus Scoring 1 (19%) 2 (12%) --- Defensive Impact --- NDSU Providence Bonus Possessions 1 4 Bonus Conv Rate 100.0% 50.0% Turnovers Forced 3 9 Fumbles Forced 0 3 INTs Forced 1 4 TOD Forced 2 2 Defensive Stops 6 11 Stop Rate 33.3% 73.3% --- Team Stats --- [OFFENSE] Total Yards: NDSU 186 | Prov 693 Total Plays: NDSU 54 | Prov 106 Yards / Play: NDSU 3.44 | Prov 6.54 Touchdowns: NDSU 3 | Prov 11 Viper Eff: NDSU 5.33 | Prov 6.63 Avg Fatigue: NDSU 49.5 | Prov 45.7 [RUSHING] Carries: NDSU 13 | Prov 75 Rush Yards: NDSU -1 | Prov 542 Rush TDs: NDSU 0 | Prov 9 Yards / Carry: NDSU -0.1 | Prov 7.2 [KICK-PASS] Comp/Att: NDSU 15/31 | Prov 11/14 Completion %: NDSU 48.4% | Prov 78.6% Yards: NDSU 187 | Prov 151 TDs: NDSU 3 | Prov 2 INTs: NDSU 2 | Prov 0 [SPECIAL TEAMS] Punt Returns: NDSU 1 for 8 | Prov 2 for 17 [TURNOVERS & DISCIPLINE] Fumbles Lost: NDSU 3 | Prov 0 TOD: NDSU 2 | Prov 2 KP INTs: NDSU 2 | Prov 0 TO Margin: NDSU -3 | Prov +3 Penalties: NDSU 8 (70) | Prov 20 (165) [EFFICIENCY] 4th Down: NDSU 1/4 (25%) | Prov 6/8 (75%) 5th Down: NDSU 0/4 | Prov 0/0 6th Down: NDSU 0/1 | Prov 0/1 [DELTA SYSTEM] Delta Yards: NDSU -446 | Prov +54 Adj Yards: NDSU -260 | Prov 747 Kill Rate: NDSU 1/0 | Prov 1/3 (33.3%) Mess Rate: NDSU -87.5 | Prov 0.0 [BONUS POSSESSIONS] Count: NDSU 1 | Prov 4 Yards: NDSU 98 | Prov 182 Scores: NDSU 1 | Prov 2

Last edited by Young Drachma : 03-27-2026 at 01:07 AM.
Young Drachma is offline   Reply With Quote
Old 03-31-2026, 03:32 PM   #12
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
Another season run. Another close game.


Code:
Syracuse 44.5 @ South Dakota State 45.5 FINAL Cotton Bowl Classic BOWL --- Game Ratings --- Team Rating: Syracuse 51.6 / South Dakota State 45.8 | PPD: Syracuse 2.72 / South Dakota State 3.46 | EPA: Syracuse 1.1 / South Dakota State 17.5 | Explosive Plays: Syracuse 8 / South Dakota State 7 Conversion %: Syracuse 31.2% / South Dakota State 20.8% | Lateral %: Syracuse 66.7% / South Dakota State 100.0% | TO Margin: Syracuse -1 / South Dakota State +1 | Avg Start: Syracuse 45.5 / South Dakota State 30.7 --- Scoring Profile --- Syracuse South Dakota Sta Rush TDs 1 (20%) 4 (80%) Kick-Pass TDs 2 (41%) 1 (20%) Drop Kicks 1 (11%) 0 (0%) Place Kicks 1 (7%) 0 (0%) Return TDs 1 (20%) 0 (0%) --- Defensive Impact --- Syracuse South Dakota Sta Bonus Possessions Earned 0 0 Turnovers Forced 5 5 Fumbles Forced 0 1 INTs Forced 2 1 TOD Forced 3 3 Defensive Stops 8 8 Stop Rate 61.5% 61.5% --- Team Stats --- Syracuse South Dakota Sta [OFFENSE] Syracuse South Dakota Sta Total Yards 333 465 Total Plays 79 108 Yards / Play 4.22 4.31 Touchdowns 3 5 Viper Efficiency 5.75 4.72 Avg Fatigue 48.3 44.9 [RUSHING] Syracuse South Dakota Sta Carries 31 64 Rushing Yards 122 312 Rushing TDs 1 4 Yards / Carry 3.9 4.9 [KICK-PASS] Syracuse South Dakota Sta Completions / Attempts 23/31 15/27 Completion % 74.2% 55.6% Kick-Pass Yards 211 153 Kick-Pass TDs 2 1 Interceptions Thrown 0 1 [LATERAL GAME] Syracuse South Dakota Sta Lateral Chains 3 4 Successful Laterals 3 4 Lateral Efficiency 100.0% 100.0% Lateral Yards 9 31 Lateral INTs 0 0 [KICKING] Syracuse South Dakota Sta Drop Kicks (Made/Att) 1/1 0/0 Place Kicks (Made/Att) 1/1 0/1 Punts 2 2 Pindowns 0 0 [SPECIAL TEAMS] Syracuse South Dakota Sta Punt Returns 2 for 46 yds 1 for 0 yds Punt Return TDs 1 0 [TURNOVERS & DISCIPLINE] Syracuse South Dakota Sta Fumbles Lost 1 0 Turnovers on Downs 3 3 KP INTs Thrown 0 1 Turnover Margin -1 +1 Penalties (Yards) 19 (155 yds) 35 (360 yds) [TIMEOUTS] Syracuse South Dakota Sta Timeout Usage 4 used / 0 left 5 used / 0 left By Half 1H: 0 · 2H: 4 1H: 2 · 2H: 3 Momentum Stop 2 0 Strategic Clock Stop 1 0 Offensive Clock Stop 1 2 Scheme Reset 0 3 [EFFICIENCY] Syracuse South Dakota Sta 4th Down Conv. 0/6 (0%) 7/20 (35%) 5th Down Conv. 3/6 (50%) 0/4 (0%) 6th Down Conv. 0/2 (0%) 0/0 (0%) Chaos Recoveries 0 0 [KEEPER / DEFENSE] Syracuse South Dakota Sta Keeper Deflections 1 0 Bells Generated 1 0 Keeper Tackles 32 18 [DELTA SYSTEM] Syracuse South Dakota Sta Delta Yards -28 -17 Adjusted Yards 305 448 Delta Scores / Drives (Kill Rate) 0/1 (0.0%) 1/3 (33.3%) Penalty Kill (leading) 1dr / 46.0ypd / 0%3dr / 5.0ypd / 33% Power Play (trailing) 4dr / 57.8ypd / 50%3dr / 55.0ypd / 33% Neutral (tied) 8dr / 12.6ypd / 38%7dr / 32.3ypd / 57% Mess Rate (PP% − Kill Rate) 50.0 0.0 --- Syracuse — Offense --- Tag Name Role TCH YDS APY RUSH KPR TD FUM LAT L-REC WPA -------------------------------------------------------------------------------------------------------------------- WB53 Victoria O'LearyReliable Flanker 9 72 72 072 (7rec) 1 0 0 0 -1.6 HB16 Vanique AmbroiseReliable Flanker 17 55 55 55 0 1 0 2 1 6.8 HB52 Ha IbrahimReliable Flanker 12 52 52 -254 (7rec) 0 1 1 0 -1.3 VP84 Megan ThompsonHybrid Viper 7 51 51 051 (6rec) 1 0 0 0 3.0 SB40 Shelby DaltonReliable Flanker 9 37 37 1819 (3rec) 0 1 0 0 -2.3 VP1 Renee MurrayHybrid Viper 7 31 31 31 0 0 0 0 0 3.3 WB4 Zoé CloutierReliable Flanker 1 15 15 015 (1rec) 0 0 0 0 2.4 ZB38 Ivy HaszDual-Threat ZB 34 7 224 7217 (24/32) 0 0 0 1 -1.8 HB11 Divya PrasadReliable Flanker 2 7 7 7 0 0 0 0 0 0.4 ZB60 Tania BroomfieldKicking ZB 2 2 2 2 0 0 0 0 0 -1.9 SB89 Andersen KraszewskiReliable Flanker 3 2 2 2 0 0 0 1 1 0.2 HB70 Alex KeyReliable Flanker 1 2 2 2 0 0 0 0 1 0.0 WB80 Gabby MeierReliable Flanker 6 0 0 0 0 0 0 1 1 0.1 VP58 Kayla KirklandHybrid Viper 1 0 0 0 0 0 0 0 0 0.0 WB96 Eva FloresReliable Flanker 1 0 0 0 0 0 0 1 1 0.1 --- Syracuse — Kick-Pass Detail --- Name ATT CMP % YDS TD INT -------------------------------------------------------------------- Ivy Hasz 32 24 75% 217 2 2 --- Syracuse — Kick-Pass Receiving --- Name REC YDS AVG TD ---------------------------------------------------- Victoria O'Leary 7 72 10.3 1 Ha Ibrahim 7 54 7.7 0 Megan Thompson 6 51 8.5 1 Shelby Dalton 3 19 6.3 0 Zoé Cloutier 1 15 15.0 0 --- Syracuse — Defense --- Tag Name TKL TFL SCK HUR INT DEFL BELLS K-TKL BLK WPA ------------------------------------------------------------------------------------------------------------ KP63 Kethna Stewart 19 2 0 0 0 0 1 14 0 0.0 DL62 Natalie Borgella 17 0 3 3 0 0 0 0 0 0.0 DL29 Soňa Holub 15 2 0 1 0 0 0 0 0 0.0 KP73 Danielle King 14 2 1 0 0 1 0 12 0 0.0 KP82 Giulianna Esposito 6 0 0 0 0 0 0 6 0 0.0 DL74 Megan Ortwerth 6 0 0 0 0 0 0 0 0 0.0 DL30 Keala Latu 6 1 0 0 0 0 0 0 0 0.0 DL44 Brenna Edmond 5 0 0 0 1 0 0 0 0 0.0 DL86 Nadia Hayles 5 0 0 1 0 0 0 0 0 0.0 --- Syracuse — Special Teams --- Name DK PK KR KR-YDS KR-TD PR PR-YDS PR-TD ST-TKL MUFF ---------------------------------------------------------------------------------------------------- Tania Broomfield 1/1 1/1 0 0 0 0 0 0 0 0 Danielle King — — 0 0 0 0 0 0 0 0 Olivia Kanka — — 0 0 0 2 46 1 0 0 --- South Dakota State — Offense --- Tag Name Role TCH YDS APY RUSH KPR TD FUM LAT L-REC WPA -------------------------------------------------------------------------------------------------------------------- SB81 Ava WagnerReliable Flanker 42 254 254 16490 (6rec) 1 1 3 1 11.8 WB49 Julie WilliamsReliable Flanker 16 58 58 58 0 2 0 1 0 3.3 VP1 Darartu MekonnenHybrid Viper 3 42 42 933 (2rec) 0 0 0 1 -0.1 SB24 Derya ElmasReliable Flanker 14 38 38 38 0 1 0 1 0 3.2 HB18 Adhiambo NwosuReliable Flanker 8 18 18 153 (1rec) 0 0 1 2 -0.4 SB71 Kiera ScottReliable Flanker 1 17 17 017 (1rec) 1 0 0 0 2.3 ZB91 Claudia WeberDual-Threat ZB 3 14 14 14 0 0 0 0 2 -0.5 HB19 Samar BledsoeReliable Flanker 2 11 11 11 0 0 0 1 1 -4.3 VP56 Emma TūhoeHybrid Viper 1 10 10 010 (1rec) 0 0 0 0 1.2 ZB98 Namukisa ByamukamaDual-Threat ZB 9 4 4 40 (1rec) 0 0 2 1 -0.6 VP68 Angie BianchiHybrid Viper 1 1 1 1 0 0 0 0 1 -0.5 ZB15 Sokunthea KongKicking ZB 26 0 153 0153 (12/26) 0 0 0 0 4.2 WB17 Andressa CruzReliable Flanker 3 0 0 0 0 0 0 0 0 0.3 WB31 Ryann YorkReliable Flanker 2 0 0 0 0 0 0 0 0 0.0 HB52 Harisoa RazanajatovoReliable Flanker 1 0 0 0 0 0 0 1 1 -0.1 SB66 Zinaida TarasovaReliable Flanker 1 0 0 0 0 0 0 0 0 0.0 HB28 Ruby FlynnReliable Flanker 1 -2 -2 -2 0 0 0 0 0 -0.8 --- South Dakota State — Kick-Pass Detail --- Name ATT CMP % YDS TD INT -------------------------------------------------------------------- Sokunthea Kong 26 12 46% 153 1 2 --- South Dakota State — Kick-Pass Receiving --- Name REC YDS AVG TD ---------------------------------------------------- Ava Wagner 6 90 15.0 0 Darartu Mekonnen 2 33 16.5 0 Kiera Scott 1 17 17.0 1 Emma Tūhoe 1 10 10.0 0 Adhiambo Nwosu 1 3 3.0 0 Namukisa Byamukama 1 0 0.0 0 --- South Dakota State — Defense --- Tag Name TKL TFL SCK HUR INT DEFL BELLS K-TKL BLK WPA ------------------------------------------------------------------------------------------------------------ DL11 Kori Solomon 12 1 3 0 0 0 0 0 0 0.0 KP35 Kari Morton 9 0 0 1 0 0 0 8 0 0.0 KP64 Evelyn Ma 9 0 0 0 0 0 0 7 0 0.0 DL25 Josefina Cruz 9 2 0 1 0 0 0 0 0 0.0 DL89 Katie Kuzdzal 7 1 0 0 0 0 0 0 0 0.0 KP36 Shreya Mukherjee 4 0 0 0 0 0 0 3 0 0.0 DL10 Elizabeth Anding 4 0 0 0 0 0 0 0 0 0.0 DL96 Mercedes Carvalho 3 0 0 0 0 0 0 0 0 0.0 DL33 Pierrette Lavoie 2 0 0 0 0 0 0 0 0 0.0 DL38 Kate Bullock 2 0 0 0 0 0 0 0 0 0.0 --- South Dakota State — Special Teams --- Name DK PK KR KR-YDS KR-TD PR PR-YDS PR-TD ST-TKL MUFF ---------------------------------------------------------------------------------------------------- Kari Morton — — 0 0 0 1 0 0 1 0

Last edited by Young Drachma : 03-31-2026 at 03:32 PM.
Young Drachma is offline   Reply With Quote
Old 05-04-2026, 02:35 PM   #13
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
Back at it again, this time...with another side quest.

I've long had this idea about baseball vs. cricket. Thanks for a headcold that had me knocked out for a day, I couldn't leave the house, so in-between doing my grading I built out a far cruder baseball sim called O27, the Twenty20 cricket variant of baseball essentially.

It doesn't shorten baseball in length, it just reduces it to one inning with 27 outs top/bottom. Tactically it really does a number on the sport because everything is different and yet, the game resembles itself in spots. I've long wanted to test this out in OOTP but with the idea before that 5-inning baseball would simulate the T20 ethos well enough.

This test proved to me that's just not true. 5-inning baseball is kind of boring and barely baseball, whereas O27 feels like all of the tension of baseball gets amplified because of the strategy and stakes that come with the decisions you get to make.

Obviously, you could also shorten O27 and you'd still get the same fundamental things that come from a cricket innings with the baseball scaffolding. I'm still messing around with the details, but this one came together a lot less organically than the Viperball game where I built it over several weeks. Baseball being what it is required some surgery and I think due to the overindexing on complexity that I did -- a mistake -- there are aspects that are just being worked out now in the engine.

But I think there's a lexicon, the game operates and I'm navigating the rest.
Young Drachma is offline   Reply With Quote
Old 05-05-2026, 01:00 PM   #14
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
O27 AT A GLANCE

RULES

- One inning per game. Each side bats until they record 27 outs. Home team can stop early if they're ahead in the bottom half.
- 9-fielder lineup. The starting pitcher must bat — no DH replacing him. Lineup is ordered by talent, pitcher usually 9th unless he's one of the rare 5-10% of pitchers who can actually hit.
- 3 jokers per roster. Tactical pinch-hitter equivalents the manager can insert into any spot in the rotation. Each joker can be inserted once per cycle through the order. Joker insertions add an extra PA to that rotation — the joker bats, then returns to the bench. They don't take a roster slot or a field position. A manager who never uses his jokers is leaving offense on the table; a manager who burns them in low-leverage spots is leaving offense on the table differently.
- Pinch hitting still exists separately. A manager can pinch-hit for a regular (replacing him in the lineup AND in the field, permanently) like normal baseball. Jokers are a parallel option that doesn't cost a roster slot.
- Second-chance ABs. When a batter hits the ball into the field of play, he can choose to run or stay at the plate. If he stays, the runners advance as the play would have advanced them, the batter is credited with a hit, and he stays at the plate to await the next pitch. The contact event still counts as a strike — count carries normally. So a 1-1 second-chance hit becomes 1-2.
- Three contact events per AB max. Whether they end in hits or outs, three is the cap. A foul ball counts as a strike like in baseball, so three fouls is a foul-out (no infinite-foul protection). The maximum hits in one AB is 3, only achievable from a 0-0 start with no called or swinging strikes.
- Walks and HBP work normally. Four balls is a walk regardless of how many second-chance hits the batter has accumulated.
- Tied games go to super-innings. Each side fields 5 batters and bats until 5 dismissals or until they're ahead at the end of the round. Repeat until a winner.

STAT METHODOLOGY

The denominator changes. Plate appearances (PA) and at-bats (AB) diverge in a way they don't in MLB, because a single AB can contain multiple PAs (each second-chance hit is its own PA within the same AB). A hitter might post 600 ABs and 750 PAs across a season. PAs > ABs structurally, not just because of walks.

That breaks traditional batting average. H/AB can exceed 1.000 (a multi-hit AB produces 2 or 3 hits in 1 AB), so it doesn't read as a rate stat anymore. So:

- AVG is renamed PAVG. Hits per plate appearance. Bounded 0.000-1.000. Reads like AVG used to. League average lands around .270-.320 depending on calibration.
- BAVG is the secondary stat, kept as H/AB. Can exceed 1.000. Reads as "second-chance productivity" — a hitter with PAVG .380 and BAVG 1.150 is using second-chance ABs effectively. PAVG .380, BAVG 0.950 means he runs on contact and rarely stays.
- Δstay (or Δ2C) is BAVG minus PAVG. Quantifies how much value a hitter is generating from second-chance ABs specifically.

Other rate stats (SLG, OBP, OPS, ISO, BABIP, wOBA) all use PA as the denominator. The numbers calibrate to a higher run environment but the conceptual stat is the same.

For pitchers, the structure of the game requires different lenses:

- Innings pitched is gone. Replaced by OUT (the team's out count when the pitcher's last batter's PA ended) for game-level lines, and total outs recorded for season workload. The natural unit in O27 is outs, not innings.
- BF (batters faced) is the headline workload counter.
- OS% (outs share, percentage of the team's 27 outs the pitcher recorded) is the per-game role indicator. 80% is a workhorse outing; 25% is short relief.
- AOR (average out reached) is the season-long version. A pitcher's mean OUT across appearances. Tells you whether he's a workhorse (AOR ~22), a closer (~26), or long relief (~14).
- ERA is replaced by wERA (weighted ERA). Earned runs are weighted by where in the 27-out arc they were given up:
- Outs 1-9 weighted at 0.85
- Outs 10-18 weighted at 1.00
- Outs 19-27 weighted at 1.20
Runs given up early give the offense runway to respond; runs given up late are more damaging. wERA reflects that. League average tracks the run environment baseline (~11-12 in current calibration).
- FIP is broken in O27 — its small-sample behavior produces nonsense at the tails (negative xFIP values for K-heavy pitchers in low BB/HR samples). The replacement under consideration is xRA (expected runs allowed), which sums empirical run values per PA outcome and normalizes per 27 outs. Bounded, robust to small samples, methodologically consistent with wOBA on the offensive side.
- Decay is the genuinely O27-only stat. Measures how much a pitcher's K-rate falls between outs 1-9 and outs 19-27, restricted to appearances where he faced batters in both phases. 0 = perfectly durable. 30+ = significant late-arc fade. Negative = better late than early. MLB doesn't measure this because pitchers don't pitch long enough in single appearances for arc-degradation to be a stable skill. In O27 a starter routinely faces 25-35 batters in one continuous half, so the rate at which his stuff degrades is a real, measurable skill.
- GSc (Game Score) is the per-appearance summary number. Roughly Bill James' Game Score formula adapted for O27 — bounded 0-100, includes a small bonus for foul-outs (the 3-foul-rule retirement, which is pitcher-credited). Quick read on whether a start was good without having to interpret the inflated O27 ERA-equivalent.
- WAR / pWAR rebased against wERA and the higher run environment. RPW (runs per win) recalibrated per season — in a 24+ R/G environment, RPW is closer to 16-18 than MLB's 10.
- K%, BB%, HR% (per PA) are kept as environment-neutral rate stats. K% includes foul-outs as Ks since they're a pitcher-induced retirement through pitch sequencing alone.


WHAT THIS DOES TO THE SPORT


Run environment is structurally higher than MLB. Three reasons compound:

- 12 hitters per side instead of 9 (the 9 fielders + the 3 jokers when used). No pitcher-spot weak link in the order, plus the jokers are deliberately built as power, contact, and speed specialists deployed in leverage spots.
- Pitchers don't get inning resets. A starter is on the mound for one continuous half of up to 27 outs. Fatigue accumulates monotonically. The 22nd batter he faces is doing so against a more tired version of him than the 5th. There are no eight breaks across nine innings to reset between.
- Second-chance ABs remove the sacrifice from the sport. In MLB, advancing a runner often costs you an out (sac bunt, sac fly, productive ground out). In O27, the second-chance AB rule lets you advance runners without spending an out, in exchange for a strike. Outs are the precious resource — there are only 27 — and the rule lets you advance runners without burning them.

Player archetypes shift. Workhorse starters (the structural concept, not a roster designation) become the most valuable arms — a B+ starter who can give you 24 outs is worth more than a lights-out reliever who can only give you 6, because there's no inning-by-inning bullpen ladder to deploy. Stamina is the most valuable pitching attribute. Contact hitters who can use second-chance ABs effectively outperform three-true-outcomes power bats relative to their MLB value, because every contact event in O27 costs a strike — the patient hitter who can keep ABs alive across multiple PAs produces real offense in a way he doesn't in MLB.

Manager decisions matter more than in MLB at the tactical level. Joker insertions are a real per-rotation decision (which joker, where in the order, or none at all). Pitching changes are weight-bearing because there are no inning resets to mask a tiring starter. Lineup construction has to think about which hitters get the most PAs across a 27-out arc — top-of-order hitters get 5-7 PAs per game in O27 vs MLB's 4-5, so where a power bat lands in the order has bigger downstream consequences.

Variance is lower per game than 5-inning baseball would produce, despite the higher run environment. 27 outs concentrated still produces ~38-45 PAs per side per game — more than enough sample to let true talent assert itself within a single game. 5-inning baseball produces ~15 PAs per side and is dominated by single-inning luck. O27's structural change is concentration, not compression — same total outs, different shape.
Young Drachma is offline   Reply With Quote
Old 05-07-2026, 05:55 PM   #15
Young Drachma
Dark Cloud
 
Join Date: Apr 2001
I'll probably fork this thread after this and do a separate O27 thread with simulation results. Unlike Viperball, there's no user intervention at all, I just simulate seasons and watch what happens. Fast-sim as a service!

Unlike Viperball, I had a mental model for what this was going to be and that makes it easier to imagine how to make this work because the whole time you're trying to make a vision of a cricket-y baseball? Viperball I had to conjure it and try to reverse engineer it into a sport. Also, I've had this cricket/baseball hybrid idea since like COLLEGE so maybe that's why it only took me about 4 days total to turn this into something very plausible than Viperball which took over a month of tinkering.

The future threads will cover the sabermetrics I've added and other improvements. Right now it's just a web sim running off a deployment server, but it's fun to make a baseball sim after 30 years of playing these games going back to FPS Baseball.
Young Drachma is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is On
Forum Jump


All times are GMT -5. The time now is 12:43 PM.



Powered by vBulletin Version 3.6.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.