0 Followers
0 Following
1 Posts
Hi, I'm Patrick Wyatt, a game developer and programmer.

I helped create Warcraft, Diablo, StarCraft, Guild Wars, battle.net and more. I helped publish Aion and Tera, two MMOs created in Korea.

I co-founded ArenaNet (https://www.arena.net) and One More Game (https://www.onemoregame.com), where I work now.

I have a blog (https://www.codeofhonor.com) about the early years of Blizzard Entertainment, though I haven't updated it since 2013.

I write open-source software (https://github.com/webcoyote):

- SandVault sandboxes AI inside a limited-user account on macOS (https://github.com/webcoyote/sandvault)

- ClodPod sandboxes AI inside a macOS VM (github.com/webcoyote/clodpod)

- Git-Multi-Hook is the simplest solution for multiple global and per-repository git hooks with no configuration, and existing hooks keep working (https://github.com/webcoyote/git-multi-hook)
This account is a replica from Hacker News. Its author can't see your replies. If you find this service useful, please consider supporting us via our Patreon.

Officialhttps://
Support this servicehttps://www.patreon.com/birddotmakeup

I've told this story before on HN, but my biz partner at ArenaNet, Mike O'Brien (creator of battle.net) wrote a system in Guild Wars circa 2004 that detected bitflips as part of our bug triage process, because we'd regularly get bug reports from game clients that made no sense.

Every frame (i.e. ~60FPS) Guild Wars would allocate random memory, run math-heavy computations, and compare the results with a table of known values. Around 1 out of 1000 computers would fail this test!

We'd save the test result to the registry and include the result in automated bug reports.

The common causes we discovered for the problem were:

- overclocked CPU

- bad memory wait-state configuration

- underpowered power supply

- overheating due to under-specced cooling fans or dusty intakes

These problems occurred because Guild Wars was rendering outdoor terrain, and so pushed a lot of polygons compared to many other 3d games of that era (which can clip extensively using binary-space partitioning, portals, etc. that don't work so well for outdoor stuff). So the game caused computers to run hot.

Several years later I learned that Dell computers had larger-than-reasonable analog component problems because Dell sourced the absolute cheapest stuff for their computers; I expect that was also a cause.

And then a few more years on I learned about RowHammer attacks on memory, which was likely another cause -- the math computations we used were designed to hit a memory row quite frequently.

Sometimes I'm amazed that computers even work at all!

Incidentally, my contribution to all this was to write code to launch the browser upon test-failure, and load up a web page telling players to clean out their dusty computer fan-intakes.