Watch those stack traces

by Damon Payne 31. October 2012 16:29

Lately I've been playing a bit of Guild Wars 2. By "a bit", I mean a little more than is healthy given how much other work I have going on at home. It's much less severe than my previous Diablo 3 addiction, but that's like saying I kicked the crack habit and only do morphine now. At any rate, I got to a point the story that seemed unpassable due to app crashes. This was incredibly frustrating because each retry took at least 10 minutes. Each time I sent technical information about the error to the game's creator, and on my last crash I looked through it myself.

TL;DR - don't expose technical details like call stacks to your users.

The non-gamers will have to bear with me for a moment.

The crash happened at the very end of the story event, while my character was using a trebuchet. When you use a trebuchet, the game camera stops following your character and takes up a fixed position relative to the trebuchet. Upon nailing the last bad-guy, a scripted story dialog would start and the game would crash.

The technical information contained in the error report wasn't precisely a stack trace but it was pretty close. The sequence of calls seemed to be encountering an issue looking for a "bone" that didn't exist, so I assume the game is using skeletal animation. There was also some vague items about camera attach, camera follow, and so forth. Figuring I'd use this knowledge to my advantage, I tried the event one more time only this time exiting the trebuchet while the last shot was in-flight so the camera would be following me when the automatic dialog started. Sure enough, I got through the event without crashing.

Popular games get hacked often enough. Web sites get hacked. Bad things happen. This time a gamer got past a bug by inspecting a call stack, but next time someone could create something that ruins characters or steals financial information.

Think about the ways you may unintentionally expose technical details of your software.


Architecture and Design | Gaming

No Games Until May 15th

by Damon Payne 2. April 2012 11:32

While I don't blog or tweet about it much, I'm a gamer.  I like games.  A lot.  I'm a one-game gamer: I tend to play one game exhaustively until it loses its appeal or I've accomplished most of what I wanted to. Being one of my favorite leisure activities, this hobby tends to get in the way of productive work. When I get home and sit down at my workstation it's way too easy to click the Battlefield 3 icon instead of the Visual Studio icon.

Diablo 3 Comes out May 15th

In terms of my historical game addiction a few titles come to mind: Final Fantasy 7 for the original Playstation nearly ruined a semester of college.  Diablo 2 was an utterly obscene time sink when it came out so many years ago. I've been obsessively following the development and recent release date announcement for Diablo 3, and I have to admit I'm worried. You see, I have kids now. There's a lot going on this year and I can't just drop off the map for long enough to get my initial fix. I must, therefore, maximize my productivity between now and May 15th.

I hereby swear, before these internets, that I will play no video games until the midnight launch of Diablo 3.


Damon | Gaming

About the author

Damon Payne is a Microsoft MVP specializing in Smart Client solution architecture. 

INETA Community Speakers Program

Month List

Page List

flickr photostream