Sunday, September 11, 2016

Grubbyville Postmortem

Well, it was nice to be able to place, which was my competitive goal for IntroComp. Thanks to Jacqueline Ashwell for holding and organizing it, for so many years.

But what about creative goals?

It's always a bit frustrating to read criticism of stuff I should know, or I thought I fixed or looked at, and realizing--yeah, I didn't quite nail that down. And that's what I got from various reviews. Part of this was picking the project up maybe a week before the deadline, after a lot of on and off futzing, and a few years' failed entry.
So I'm grateful to my testers for helping me cut down a lot of extraneous stuff (enough I won't detail here) and for their positive contributions as well. One bug that slipped through was a special case I could/should have checked for. I'll describe it later. Doing so now immediately after seems like a backhanded compliment to my testers.

It was nice to be on the other side of the criticism, which was civil and helpful. And a note: there was more than enough, but I think IntroComp is a fantastic tune-up for IFComp judging: less pressure, no dreams destroyed, less of a big deal if you're wrong, and because your complaints are anonymous, that can help. Even if it's not a major one, it helps the writer. So I really hope to contribute feedback at the very least next year, and hopefully reviews to push Introcomp as much as I can. Being on both sides of the competition has been very positive for me, for relatively less investment than IFComp. Maybe it can work for you, too.

As for the game: Grubbyville is almost based on a real story. I remember the Valedictorian Wars at my high school. Two years ahead, someone got a B+ in Health, costing them the #1 spot. One year ahead, someone got a B+ in Food for You (no! Really! They apparently smart mouthed the teacher. On a more serious note, they were icky and manipulative to the new #1, and when someone reminds me of #2 that is a huge red flag) costing _them_ the #1 spot.

I'm not sure what happened my year, but somehow #1 overtook #2 our sophomore year and never gave the lead back despite both of them getting all A's. Years later, #3 mentioned to me that not taking the advanced placement science classes hurt them. (I think they've gotten over it. They're a successful lawyer now.) I wanted to capture some of the potential absurdity. The idea came about in the 2011 (!) IFComp authors' forum when I just wrote down my intent to maybe write a game like this. The thing is--you do want to achieve. But there's a bizarre sort of perfectionism in valedictorian races, and I was well aware of the competition that went on. And I remember how working on my class rank was fun, til it wasn't, because (high school angst over corruption, kids gaming the system knowing what certain teachers liked, etc. stuff cut here.)

I've always been interested in social jockeying and such, but I wondered if Grubbyville would be a farce--then I discovered Alain de Botton's movie Status Anxiety and I read the book and I subscribed to the School of Life channel, and I started getting ideas of my own. Of the sort of questions we can ask about grades and how they're not perfect, and when ambition is good and bad. So I actually had a reason to get re-started. But it'd been on the shelf a long time. From back before I understood certain principles of game design.

Grubbyville had three levels when I first designed it. Just like my high school. (I didn't just start with "My lousy apartment." I went in for "My lousy school," too.) I cut it down a bit. But maybe not enough. The thing was--I always know I should cut things down more, but it's tough to hold on to certain things. As for the diagonal directions? Well, my high school was in the shape of an H. So I didn't want to copy that directly, and the X seemed to be simpler and leave fewer rooms. But I designed the map a few years ago, and then I let Grubbyville sit while I hacked through my wordplay games and realized diagonal directions are tricky. Then when I got back to it, I didn't really see how to re-fit the map.

But fortunately I had a couple puzzles, which felt like enough. There were getting the yearbook pass (being nice or nasty) and the book and giving it to Dennis, and being nice or a jerk to him. I didn't intend them to be hard, but even when I shut off two wings, there were still too many rooms, and so some people found it tricky to put things together. So I think I should have redesigned this, and I should've put the chess hovel in with the math team. The chess and math teams at my school always had a sort of uneasy truce, where both thought the other was smart and all but wasn't a REAL academic contest discipline, and maybe I should've/could've put more into it. So that was a clear way to simplify things that I missed. The thing was, I had ideas for other puzzles, but I talked myself out of it because it might get too complex. When it wasn't about too complex, but that the complexity would be better in the puzzles/interaction than the map.

I think one thing I can do is either 1) let you warp to the wings or 2) just put the game in twine where you can click on a location. It needs to be simpler. That's a common theme. But I also did manage to weed out a lot of things that were just programming experiments that succeeded but didn't translate well to the game. My testers found them and picked them out so you did not have to.

As for Max? One person's feedback called Max a genius, but I never thought of him that way. I just thought of him as someone who knew how to play the system. Which in itself isn't good or bad, but his rival (Harley) is definitely dislikeable. Max may be more subtly wrong, as I tried to point out in Participation Points. So I need to clear up about Max earlier. Have you ever met someone who seems to be nice and says all the right things? Well, Harley is meant to be an obvious fraud, and Max, not so obvious. Max may think he's nicer than he is, and Harley may think he's more charming than he is. So I might have Max express a bit of contempt for "lazy geniuses" or something to show that side of him.

I confess I was thinking about Max vs Harley sort of parallelling voting for political parties. Max may be the lesser of two evils, but he has the chance of being good. He's smart enough. But there are lots of cop outs.

And I also need to make the explanation of how to be Valedictorian smoother. The thing is, it's simple in my mind--but at the same time I wanted flexibility for you to understand as much as you want. I do tend to get into boondoggles with conversations., and I was aware you might have a lot of possibilities, but someone got eight, which is too many. So I think having Pop drop off the spreadsheet and let you read it would be a good idea/start. Again, this is something I cut down, but not enough. I wanted it to be a la carte, so you could see as much as you wanted, but I still didn't hit on it.

Someone also mentioned they were surprised it was not a puzzly game. I think I got similar feedback for Problems Compound. The thing is--the puzzly stuff feels like a double edged sword. I'm pleased what I've done with it. But I may've typecast myself. All the same, I do see Grubbyville as potentially a sort of puzzle: how to be a nice person? What about the big questions that seem like paradoxes? I planned to have Max run into people with worse grades who unfairly looked up to him and cut him down. Maybe I could have Max outright reject weird abstract puzzles for more practical concerns, so that I can avoid any impressions from my previous games and help build his character.

And the thing is, I want to show up the cynicism without being cynical. The mini-computer games are an example of that. They aren't meant to make a grand statement, but they're just, well, there.

So I will probably completely redo the map. I'll need more NPCs. And I'll try to make it clearer what you've done, and you need to do, and whom you need to talk to. I also want to provide clearer ways for Max to fail, because I think that may be interesting, too. I want giving up to be an option, whether because Max is generally disgusted with the tinkering to get the GPA, or he just wants to quit. And of course I want Max to be able to be valedictorian and be snotty or nice while doing so.

Oh. The one bug that slipped through? It was device-specific and a one-line error-case fix I should've checked for anyway. It was the MAP command, which they all tried--and helped me fix the actual text. None of them were using mobile devices with narrow screens, though, but Verityvirtue did and I appreciate the heads up. That bug is on me--it's a matter of giving myself time to check the sort of error cases programmers can focus on, and I did, but not enough. Error checking sounds silly but often it's a good thing to do when you're not feeling creative and often a good warm up to lead to something actually creative. It's not a substitute, but -- I find I never know what will get me going. And I need as many ways to try and start as I can.

I made a public Github repository at I'll contribute to it whenever, but it may be sporadic. It seems like Twine could be very good for what I want to do. The game's not too big now, so I will look into whether automated testing is a thing by now. Twine might allow for the simplicity and clarity I might need for this project. But until then nothing is stopping me from implementing general creative ideas. Porting can't be that hard work.

No comments:

Post a Comment