Now We're Clickin', Team postmortem (Neo Twiny Jam)


I wrote a program like this back in sophomore year back of high school. A silly program on my graphics calculator. What it did was simply to simulate the NCAA tournament that year. Well, sort of. I didn't have advanced metrics or anything like that, and it relied on a team's seed to see what the probability was that they would score I didn't even really consider stuff like, okay, if a team scores, they're less likely to score on their next possession. All that would have required a lot of calculation. So I just went with the random stuff it was fun, and people seemed interested watching teams' scores run up, although of course it's the sort of thing that gets boring pretty quickly. But for this--I didn't want score accumulators or anything like that.

I also didn't want a profound point, as that would be hard to find, anyway. But I remember Pippin Barr's Kicker, an entry in IFComp 2013. It's a story of the placekicker for the football team, the least social job, the one that gets the most flak if things go wrong. You don't do much--you just go out there and kick extra points and field goals and kickoffs. Or, well, get fired if you don't. It's completely random and the author's most effective boredom simulator, I feel, because it's not quite that boring. You're perversely invested in the fortunes of a team that doesn't treat you very well. It made feel "hey, what if I could do something like that?" Then Twiny Jam came along, and I had an idea for maybe having a game of absurdist trial-and-error puzzles where you click on superstitions and your team wins if you do stuff in the right order or proportion, but I didn't feel I was a good culture fit. I mean, yes, everyone be themselves, but at the same time, if other people have deeper themes and so forth, why push your works on them?

Years later, I'm able to see things differently. I mean, we all know we have a right to be heard, and I'm not making anything offensive here. But you can talk yourself out of things. Sometimes that's a worthwhile time saver. I got enough done and written since the first Twiny Jam. I was a bit bored of writing in Inform. It seemed like as good a time as any, though thanks to the organizers allowing three games to be played, I was able to warm up with two other efforts! It was an outside goal.

And it became an inside one. I wanted to write a boredom simulator, but I didn't want it to be boring! And a college basketball tournament seemed like something even people who hated sports would at least have fun clicking. But there might be a lot of clicking! And that's how the title came to be. Both the idiom "now we're clicking" (implies that THIS year your team will break their hex or whatever) and, well, clicking indicates this will be a game where not just your team, but you, will be clicking now. I was and am very, very proud of this pun. I don't know if anyone picked up on it or is glad they did.

The details are for a technical post, but I remember the excitement as I picked your college team's name at random. I figured the team names would eat up a lot of the words in the jam. I tried to keep them low but also wanted them to have variety. Just being able to add one or two when I got stuck with coding was a morale booster. I used a quick Google search to find suffixes for cheap jokes. Some of them, such as Montanzoori, I just liked--I'm not the first person to squash two names together, but so what? Then there were others like Hayseed Heights, because a little alliteration never actually hurt anyone, and I pulled some old favorites. The details are in an attached file on the game page. Some are more probable than others (Sportyport, Champhampton)--the HTML has them. Search for your team's main name, and you'll find how rare it is or isn't.

Chipping away to get one basketball game working was surprisingly tough. I made it so you were a prohibitive favorite. Then I hard-coded your 1-seed in, so you, I mean I, won a lot. It was a very silly morale boost, but dang it, all that winning and putting my thumb on the scale was a morale boost! So it was an excellent practical choice. Which I needed--I didn't want to just calculate wins and losses, but actual scores. I had one page loop onto itself and keep getting results.

The tricky part was simulating the rest of the bracket, again detailed in the technical side. It felt magical when it came together: first, I designed one region of 16 teams, then I auto-played another three under the hood, to determine the seeds of semifinal and championship opponents. This wasn't too bad, though it required a lot of scaffolding code I removed later. I'm pleased with the whole process.

Testing was surprisingly fun. I wound up more involved in my team's completely random exploits than I thought I would be. I used the cheat/undo when my team was upset in an early round. I even tried it when I was a 7th seed. I both clicked on where the link would always be (I'm not big on aesthetic design but this seemed like something to Get Right!) and hit tab and enter a bunch. The total number of clicks, I calculated, was about 160 before the simulation ended.

So NWCT was a complete helplessness generator, but I also wanted the player to feel a wave of emotions. Perhaps ripped off by a team that arbitarily got a better seed by one point? Perhaps annoyed your team seemed to choke with a #1 seed? I had a surprising range of emotions even though I knew the simulator was given to chance. I found myself zoning out through the weaker-seed years and paying more attention. I knew everything was random, but boy oh boy was I cheesed off when a St. Buford's team got the best of me! (Note: the directions and titles are a sort of hat-tip to the mind-numbing variety of colleges out there. Generally the "best" college sports team is, say, Florida. Then there is Central Florida, North Florida, or South Florida. Same with, say, Georgia and Georgia Tech. Not always. But I wanted to keep the variety up beyond the main names, and at least Americans would get the joke. Procedural text was rather big and new around the last Twiny Jam, and it stuck with me, so you got all these odd directions.)

I wound up just playing once or twice a day, adding other things. I didn't know how it was going to end at first, but I hope the cut-off is appropriate. Then I remembered something I meant to add: superstitions! They're a big part of every sports fan's procedure, it seems. I thought they'd be funny, and of course they don't change a thing, either. In fact, (ROT13) lbh pna fxvc gurz. Gur fryrpg nyy grkg znlor boyvdhryl pyhrf gung lbh pna, jryy, fryrpg nyy, naq gura n uvqqra yvax cbcf hc gung fxvcf gb gur tnzrf. I had a lot of room for them, as when I counted words, the count was indeed low. Thankfully the organizers didn't consider 99 and 98 to be potential separate words!

I didn't calculate the odds until later, when I ran a bunch of simulations in Python. I don't know how easy this is to do in Twine e.g. saving the results to an external file! I thought I'd weighted the one-seeds too heavily, but it wasn't too bad. You have a 15% chance of winning as a one-seed, or 6% as two. The 15% is less than a chance of losing by the third round as a one-seed, so I think it all must feel very unfair! But of course it is not. We can just feel it is. (If you're wondering, for the seed odds, they are 2-3-4-5-4-3-2-1 of 24 for seeds 1-8. The total number of expected championships each simulation is 1.25. The odds, I would guess, are 71.8%, assuming the 1.25 per 55 is right--that means 1/44 seasons result in a championship.)

Unfortunately, I was a bit exhausted by the technical aspects of getting games to work, I neglected to add all the narrative I could. That's something I'd like to do post-comp. The summary can do better. I want it to track if and when your team wins a championship, with different endings. That should be doable. I still actually have 150 words--so much of the code was random number generation!

I did mean to make some trivial technical adjustments, such as not letting you play as one of my game town names (Threediopolis,) but in the end I didn't bother. Two additional college names were Oilcaster (yeah, the list of city suffixes I found was from England) and Whattaguay, and the two additional adjectives were Lesser and Greater.

So the program was a success for me. Someone gave it five stars, which left me thrilled. I hope it was enjoyable to sports fans and non-fans alike. I guess it didn't have a point per se, except maybe that fate is cruel, but I didn't want a "fate is cruel" game where bad things happen to people. I wasn't up for it. But once I cranked through the odds, I was shocked at how naturally it seemed to come out that, yes indeed, fate is cruel, even when it's not biased against you--it sure seems that way!

Some statistics, for those curious: with the current formula for standard deviations from an even game sqrt(s1+2.0625)-sqrt(s2+2.0625), a simulation of 10000 runs gave (rounded)

#1 seeds win on average 3.6 games, #2 2.8, #3 2.25, #4 1.75, #5 1.4, #6 1.1, #7 .8, #8 .63

The average seed in the semifinals is 2.23.

The average seed in the finals is 1.88.

The average champion seed is 1.5.

Files

main HTML file Play in browser
Jun 23, 2023
Text file explanations of random school/place names 3 kB
Jun 23, 2023

Get Now We're Clickin', Team

Leave a comment

Log in with itch.io to leave a comment.