Grumpy Gamer

Ye Olde Grumpy Gamer Blog. Est. 2004

Jan 5, 2018

Hey, it’s time for Friday Questions*, but since I’ve never done this before on Grumpy Gamer, there are no questions to answer, so you have a week to ask some. If you have a question, put it in the comments below and I’ll pick 4 or 5 and answer them with a stark honesty that will amaze you. Questions can be about anything, but please keep them game or game industry related. Please don’t ask the same questions I’ve answered a hundred times in a hundred different online interviews. Unlike the Thimbleweed Park Friday questions, these will be answered in old-fashion text-a-reno.

  • Friday Questions can be canceled at any time due to lack of interest. Both yours and mine.
Jan 4, 2018

It’s not uncommon for me to get asked on Twitter (when I was active there) why we don’t unit test games? They would mention how they work in blah blah industry and do unit testing all the time and it’s virtually eliminated the need for human testers. They then go on to call me a jerk face and tell me I make stupid games.

OK, I made up that last part, but sometimes it feels like they said it.

It does bring up an interesting question. Why don’t we unit test games like you would other software? I can’t speak for others, but for me, it just isn’t that useful.

What is unit testing you ask? It’s basically where you write programs that feed data (sometimes random data) into program’s functions or modules and make sure you get the expected results or proper errors. That’s an oversimplification, but you get the idea.

Unit testing texture or asset loading can be useful, as is unit testing many other backend engine routines like memory managers, but that’s just not where most (and by that I mean 99%) of the bugs comes from.

Most of the bugs in a game (or at least my games) come from users doing stuff, and not stupid stuff, but normal expected stuff and the game logic just being wrong. This is really really hard to unit test and the failure states are hard to identify.

For Thimbleweed Park, we had the TesterTron 3000™ that randomly played the game for hours on end. This was useful in that it found occasional crash bugs, but it wasn’t very good at finding game logic bugs because, after an overnight run, it was hard to spot that something had gone wrong 6 hours ago. This is especially hard if the logic issue was very room-local and hard to spot later.

TesterTron had a mode where it would jump into each room one-by-one and this was useful in catching missing assets or bad packaging.

But we encounter a lot of bugs where the game works fine, but something is just visually wrong. The Sheriff picks up the phone and his animation isn’t aligned correctly. Or worse, it’s not aligned correctly only after he’s also open the jail door. Or Delores stands in the just the right spot and she clips into the desk.

I just don’t know how to realistically unit test this stuff. It’s possible, but the cost and effort involved would quickly outweigh the benefits. We’re not making flight software for 777s. No one of going to die or lose their entire bank balance because of our bugs. We’re not writing enterprise level software, we’re making video games and the cost of most of our bugs are negligible compared to monitoring a nuclear reactor.

It’s not that we don’t care, we care a lot. One of the largest expenses in Thimbleweed Park were testers.

I say “most of our bugs”, but not all. Post Thimbleweed Park launch, we did discover some bugs that caused players to lose progress and these are very painful to us.

We fix them as fast as possible and release a new build, but with each of them, I don’t know how unit testing would have helped. We had a problem on the PS4 where savegame data would get corrupt due to threading. We could have built a stress tester for this, but that’s all 20/20 hindsight. I can think of 100 other places that worked fine and without that hindsight, we would have spent a lot of time writing stress testers.

Again, not impossible, just not economical.

But maybe I’m wrong. Maybe other game developers have amazing game unit tests that are enormous time and money savers. If that’s true, I’d love to hear about them. I’m basically lazy and more than happy for robots to do my work.

But it feels like the ability to unit test games would require a good AI that can spot perceptual issues that go way beyond just getting bad data out of a function. Or maybe that’s called Early Access.

Jan 3, 2018

If you’re wondering why Thimbleweed Park isn’t anywhere to be seen in the IGF awards, it’s because we didn’t submit it. I have some issues with the IGF. The IGF doesn’t do this, but I also won’t submit to any awards that make you pay just to be considered (BAFTAs, DICE). Awards are basically cool-kid popularity contests and often have nothing to do with how good the game actually is. This is also true for movies and music. The academy award isn’t the best movie, it’s the best movie made by people academy voters think are cool or “in”.

Update: apparently you do have to pay to be considered for the IGF awards… it’s only $80, but still.

Jan 2, 2018

Waldschattenspiel is one of the best board games I’ve ever played.

The gist of the game is you place wooden trees on the board, then one player hunts the other players (dwarves) using a tea candle. The candle cast light that creates deep shadows behind the trees, which is where the other players hide. It’s surprisingly effective, spooky and even (actually) scary.

The game is a little unbalanced in favor of the dwarves (the hiders), but I don’t think that distracts at all. Originally it was designed as a kids game, with the parent playing the hunter with the candle, so that makes a little sense.

If you play it, make sure the room is very dark. While playing one of the dwarves, I could feel my heart rate rise as the candle moves around threatening to reveal my position. If the room is pitch black, the player playing the hunter can’t see the dwarves at all, so becomes much more than a game where you’re arguing the technicality of if the dwarf was in shadow or not.

Jan 1, 2018

As a little kid growing up in the 1970s, 2018 seems like an unimaginable future. Moon bases and rocket ships. It didn’t quite turn out the way 8-year-old Ronnie imagined. Some ways better. Some ways worse. I’m not sure my life turned out the way I imagined. Some ways better some. Some ways worse.

2017 was the year Thimbleweed Park came out. It was also the year a dipshit narcissistic asshole became president. I would gladly trade Thimbleweed Park for a mentally stable president. And so should you.

But enough reminiscing and fostering armed rebellion… it’s on to 2018.

I’ve never been the kind of person that does New Year’s Resolutions. Like 99% of all people, I just forget about them a month later and have now decided to be honest with myself and stop making them. So let’s call these “goals” for 2018. It’s also worth noting that these are just my professional and career goals. My personal goals are another whole can of worms that I won’t be sharing on the damn internet.

Let’s get going…

Play more games

Yeah, I can’t say enough about this one. I hardly play any video games. 2016-2017 were busy years for me, but deep down I know that is just an excuse. At the end of the workday, I’m burnt out and I just don’t want to play games, they always feel more like work than relaxation. It’s also really hard for me to play a game without deconstructing it and that saps a lot of the enjoyment away.

I did play Golf Story for many many hours until rage quitting (more on that in a future post). I quite enjoyed West of Loathing as well (no rage quitting). But besides a few mobile games to waste some time, I didn’t really play anything else.

I hear from friends about all the games they played and I wonder “where do you find all the time?” Well, all that is going to change in 2018, and now that my blog is fully operational, I hope to write about what I’m playing. And I promise not to just bitch about them.

Then again… maybe I don’t enjoy playing games. That’s a terrifying thought.

Do a Twitch steam

I’ve always wanted to do this. I doubt it will be a gameplay stream, I am way too quiet when playing games. When I watch Streamers, I marvel at how they can talk non-stop while playing. When I play games, I get very quiet and contemplative. I don’t tend to “think out loud.”

What I’d like to do is a programming Stream. I joked about adding floppy disk sounds to Thimbleweed Park when it’s loading data, so my goal is to stream me implementing that. Streaming from a Mac is a little harder, but I’m sure I can figure it out.

Give a talk

I really hate giving talks. It’s not stage fright, it’s more that I over prepare and end up spending months writing the talk and stressing about it. It’s just not a good use of my time, so I tend to avoid it.

Also, when most people ask me to talk, it usually about Monkey Island or some retro topic. I really don’t want to only be known as “the guy that created Monkey Island and made point-and-click games” and that’s all anyone wants to hear me talk about. It would depress me greatly if that was actually the truth.

So my 2018 goal is to give a talk about a non-monkey-island-point-and-click topic. I have a talk in my head called “10 things I don’t know.” I think I’ll give that one. Or maybe “It’s not imposter syndrome, you actually suck at your job.” Then there is “Don’t get cocky kid, it’s mostly luck.”

I refuse to give a talk about Thimbleweed Park unless it’s “Everything we fucked up in Thimbleweed Park.” I’m sick and tired of survivor bias talks. GDC is filled with them.

OK, fine, this is why people only ask me to talk about Monkey Island.

Blog often and stay off Twitter

It’s been over a month since I’ve been on Twitter and it’s been great. I highly recommend it. Like shedding any addiction, the first few weeks are hard, then it gets harder, then it gets better. Getting the Grumpy Gamer blog back up and running has been very therapeutic.

Being able to write about something in other than 140 (now 280) character angry shouts has been nice and I plan on doing a lot more long-form writing in 2018. Currently, hardly anyone comes here, so it might take some time to build back an audience and convince the kids that the entire internet isn’t just Twitter, Facebook and Instagram.

Please pass the word and share any good posts. I might end up writing a Twitter bot that just posts links to my blog when it updates (that will reach a hell of a lot more people than RSS).

Start working on a game

To be clear, my goal in 2018 is to start working on a game that will eventually ship. I am working on fun/relaxing prototypes that are helping to solidify various ideas in my head, but I doubt any of them will ever be finished. Thimbleweed Park was a huge grind and it’s going to take me a while to come down from that.

This new game doesn’t have to be my own game. Finding a small group in Seattle that could use my talents would also be fun. Working with other people in the same physical location would be a gust of fresh air.

I don’t know if I’d Kickstart a new game either. Kickstarter was fun, but it’s also feeding the hype/narcissism train like nothing I’ve ever seen. It almost demands it and one could say that it’s good for promotion, and that’s hard to argue with, but it can make you do crazy/stupid/unproductive things. The Thimbleweed Park Kickstarter turned out well (thank you Fortuna), but I do wonder if all that stress could have been put to better use.

Well, there you have it. My 2018.

Jan 1, 2018

A review I read before buying Roll for the Galaxy said it was much simpler than Race for the Galaxy. That’s not true at all, but I do think the dice and other elements make it a better game than Race for the Galaxy.

Dec 31, 2017

Whenever I sign up for a website and it asks me for my birthday, I always enter Jan 1, 1901. This cause two things to happen. 1) On New Years day I get a stream of happy birthday wishes from websites I rarely visit. 2) Chris Remo always wishes me a happy 116th birthday.

Dec 28, 2017

TBD

:-X

:-|

:scull: