2 ms·
The internal level editor at a game developer I used to work for had a habit of crashing. Lots. Something like 10-20x per day, per user. Starting it back up and
by pmjordan 16y ago
The internal level editor at a game developer I used to work for had a habit of crashing. Lots. Something like 10-20x per day, per user. Starting it back up and loading the level took more than 2 minutes, ignoring any lost unsaved progress. Saving took some time, too, and risked crashing. The level editor probably had around 30-40 users. (level designers and environment artists) I'll leave working out the amount of lost time per day as an exercise to the reader.
For some reason, fixing this situation was not a terribly high priority for those in charge. Someone did create a crash reporter that emailed a stack dump plus any user comments to a central email address. The quota for that account was soon full.
I decided to spend an hour or two here or there on going through the crash dumps. Within a week or so, I'd fixed the bugs causing 99% of the crashes. After rolling that out, we were still getting tens of crashes a day. Fixing 90% of those was pretty easy, too. When I left the company, we were getting maybe 2 crashes a week.
As you can probably imagine, this made me rather popular among some of the artists and designers.
The editor was fairly ancient, they'd been using it for well over 5 years. I can't begin to imagine how much effort was lost in total.
Incidentally, that sequence of events also cured my fear of large, horrible code bases. This thing was written using a proprietary extension library to MFC plus some creative use of DirectX. I think the only code that can scare me now are life-or-death systems.