Built a tennis sim. Brought back the sports pages?

Play To Clinch - The first-ever team tennis computer game

A week ago, I posted about it and then I did it pretty much right after that. Unlike the first two sims I built, this wasn't inventing a fictional sport, but taking a sport I know well and doing something no one else has done until now -- simulating the team sport part of tennis.

I've written about it so I won't repeat myself, but the relative task of building it was easy because there is lots of data about tennis that exists, and I was able to find enough to cobble together a relatively realistic fascimile of what it looks like. Unlike the other games, I'm less interested in game logs, which makes this easier because every dual meet tennis match is 9 matches (3 doubles, 6 singles) and not is generating all that data not worthwhile, the flow of a tennis match doesn't really make me want to read a bunch of game logs. I suppose if I were ever interested in generating articles off matches, I would more fidelity for an LLM to be able to write a more plausible article, but that's about it.

What the tennis sim has. I was able to build atop the 160+ countries & name files from my baseball & football sims, which suits tennis more than it did those sports, and I decided to add D1/D2/D3 college tennis and a fictional pro team tennis league, so I could follow players into the pros. What I really wanted to simulate were two interesting things that tennis has that other college sports have less of:

Having learned a lot about player development over years of playing other text sims like Out of the Park Baseball, Football Manager, Baseball Mogul, Front Office Football, Fast Break College Basketball and many others (including the web-based ZenGM games) , I started to develop opinions about things like player development, aging and team building, all that start to crop up when I start working on a project like this.

The tennis game uses a similar development model to baseball , except with tennis, the talent gets fully realized after their juniors career and they sign with a college. The trick is, in college there's not a guarantee they'll always play to their potential but it's pretty reliable and then by the pros -- I created a pro team tennis league that's co-ed -- it can get really dicey and inconsistent match to match, to keep things interesting.

I've had this one on the radar a long time, and had the repo with some content in it from having tried this a few years ago. The returns weren't worth trying -- no one else is going to enjoy this but me -- but now that the cost was trivial and the time to get something working was hours not days, I was pretty excited to attempt it. It'd helped I'd done far more difficult sims first, this was relatively easy. I didn't have to invent new rules, just implement existing ones and figure out some backend things.

LLMs are not the savviest at understanding sports, brackets or team dynamics, so that takes some work, but in general the tennis sim was the easiest to get closer to "done" than the O27 or Viperball, which took more time to a state of consistent playability.

Brought back the Rocky Mountain News, sorta.

So after creating my third sport's league, I thought "okay, maybe there's a way to put them all into their own newspaper" which is how we got here. Creating the newspaper was relatively easy, because each of the leagues is really just a display engine for Python sims running underneath. Because they're just wired into the sim via API calls that populate the data, making a new data source to play the same content is kind of insignificant in the grand scheme of things, but super cool.

I ended up bringing back Denver's old newspaper second daily paper, The Rocky Mountain News, which is just too good a name to no longer exist. It displays box scores and outputs from all of the leagues I run and soon, it'll even parse my results from playing GM Games seasons, just because I wanted more than just the sports I invented.

So soon, it'll also have basketball, hockey & soccer among other things. For now, the content is generated by just extracting box scores, but I've built a "Github as CMS" backend that'll let me share articles at some point. I'm in no rush to do that, but...it's fun that it's an option.