Readit News logoReadit News
da-holland commented on Database “sharding” came from Ultima Online? (2009)   raphkoster.com/2009/01/08... · Posted by u/fanf2
other_herbert · a year ago
Ha re: audio cues for debugging… your pc speaker is truly an underused tool when debugging something infrequent… for example our system processes a lot of xml data and usually it’s fine but for our test suite hearing beeps and knowing there are server side issues immediately is a great thing
da-holland · a year ago
Absolutely!

I ended up digging the book out and finding the passage; hopefully it's ok to share because it's an amazing story and helps illustrate what makes that book so great to me:

"The best caveman debugging solution I ever saw was one that used the PC speaker. Herman was a programmer who worked on Ultima V through Ultima IX, and one of his talents was perfect pitch. He could tell you the difference between a B and a B flat and get it right every time. He used this to his advantage when he was searching for the nastiest crasher bugs of them all - they didn't even allow the debugger window to pop up. He wrote a special checker program that output specific tones through the PC speaker and peppered the code with these checks. If you walked into his office while his spiced-up version of the game was running, it sounded a little like raw modem noise, until the game crashed. Because the PC speaker wasn't dependent on the CPU, it would remain emitting the tone of his last check. "Hmm...that's a D," he would say, and zero in on the line of code that caused the crash."

- Game Coding Complete, Fourth Edition

da-holland commented on Database “sharding” came from Ultima Online? (2009)   raphkoster.com/2009/01/08... · Posted by u/fanf2
da-holland · a year ago
semi-related, but also helps me to believe that this is the case (and not only because the different regional servers were called "shards" in Ultima Online):

in the "Game Coding Complete, Fourth Edition" book by two programmers who worked on Ultima and Sims (and other Origin/EA games of the time) back in the day, they share some war stories of programming, and if memory serves there is a portion where they talk about the original design, and the realization that lead to the sharding and how the login and shard system worked in the game.

Also, unrelated, a really neat war story about a guy who put in debug code to generate certain audio cues while a game was running to catch a bug.

The book all in all was a fun read if only for all these stories, and generally remember good coding guidelines as well but it is using older C++ that may not stand up to modern critique.

[0]: https://www.amazon.com/dp/1133776574

u/da-holland

KarmaCake day40August 25, 2024View Original