D-Net Release

2008, May 14th 5:51 PM

New version of D-Net.

I have to say, first off, that this is going to be one of the least interesting releases ever. There's basically nothing changed that you'll notice. What there is, though, is quite important.

First off, I rewrote the build system entirely, in scons instead of make. This is entirely meaningless to the end-user, but it means that modifying the build system in the future will be much easier. This is a good thing. It makes Zorba less stressed.

Second, I added a small intro screen explaining what exactly you can expect from the game. If you're reading this, you probably already know what to expect, but the average dude coming in off the metaphorical street probably won't. So while that's not exciting either, it's important.

Third – and most importantly – I finally have a good crash reporting system. If the game crashes, it will beg permission to report the crash dump to my servers, and if given permission, give me information on what went wrong. I actually have no idea if it's been crashing for people – with luck it hasnt been – but the reason I don't know is because, fundamentally, nobody ever reports crashes, they just roll their eyes, say "oh, indie developers" and delete the game.

Which is not ideal from my point of view.

BOOMThere's a lot of subtlety in a crash reporting system. For example, I've got mine rigged up so I can return messages, based on the game version, before the potentially large crash dump is sent. So if I start getting flooded with crashes that I've fixed, I can tell people to go download the new improved version, please, and stop bothering me with things I already know. (Perhaps not in those words.) Not only that but I can also return messages after the crash dump is sent, so I can analyze it server-side and return things like "your graphics card sucks" or "your RAM is bad". And it transmits the data in a compressed form to save on bandwidth, and it records as much information as I can without violating the privacy of my users.

Oh, yeah, that too. I don't violate user privacy. I don't send a single byte before the user has said "yes, I am fine with sending my debug log to Mandible." I've carefully checked the debug file to make sure I don't include anything that's identifiable (and removed a few debug printouts that went a bit too far, in fact) – the worst I can do is tell you what kind of graphics hardware you have, and what kind of joysticks you have plugged in. Which is obviously kind of important for debugging. I do not feel bad for including this.

Any kind of reporting of this type, of course, has to be agonizing careful about privacy issues. And, inevitably, someone is going to get annoyed at what I'm doing.

At least this way, I can tell them to just click "no".

  • Kaolin Fire

    2008, May 27th 11:23 AM

    Very cool. Any chance you'll open that part? :D

  • Zorba

    2008, May 27th 11:34 AM

    Open-source the data reporting system, you mean?

    I could, but to be honest it's not very interesting – the data collection is pretty much limited to reading a logfile that D-Net generates and saves, the reporter code itself is about 160 lines of code that mostly involves talking to the user, packaging the data up, and sending it via Curl. It's not really exciting code :)

  • Kaolin Fire

    2008, May 27th 11:43 AM

    I'm pretty much at step zero for collecting error data. curl's simple enough–and I grok, I think, c++ exception handling–I suppose I just need to figure out how to get at the stack trace programatically (or something like that) and … I suppose now that I'm putting words one after the other, it's probably not _too_ hard to start Googling for that. ;)

    Thanks :)

  • Zorba

    2008, May 27th 12:12 PM

    I'm using something rather nasty involving __builtin_return_address to get a stack trace – I believe this only works with gcc, but since I only use gcc, that's just fine. I'm not really paying much attention to exceptions, I generally think they're a bad idea :)

  • Kaolin Fire

    2008, May 27th 3:23 PM

    Cool, thanks! I only use gcc as well, so that sounds good to me. :)

  • Stij

    2008, May 31st 4:29 PM


    Just wanted to say, I found this game via the IGF website and I have to say, it looks really promising so far. I'll post some feedback on the forums when I get a chance.

    (also, I really like your "dissections" of games, keep that up!)

  • Zorba

    2008, May 31st 11:00 PM

    Thanks :)

    I've been kind of slacking on posting and updating lately, I have a new version I've been sitting on for about two days so far. Hopefully I'll get it up tomorrow – the problem is I need to muck with the website design a bit to post it, since I'll now have two downloadables.

    Man, I'm seriously thinking I need to hire a website developer.

Leave a Comment

Subscribe without commenting