I find this stuff incredibly boring.

Stolen from What’s Wrong With Turkey
Most languages have this covered; there are functions that allow you to read or write dates and numbers appropriately for various cultures. In .NET, for example, it’s the difference between these two calls:
int.Parse("32.768");
int.Parse("32,768", System.Globalization.NumberFormatInfo.InvariantInfo);
The "invariant" culture is every American programmer’s secret dream realized: we merely close our eyes and [...]

Convolution Colonel

After wrestling with it for the past week, I’ve finally got a mostly functional random dungeon generator for my roguelike game Witherwyn. I hit several serious set backs (such as my algorithm predictably terminating only at infinity). The upside, is that the new algorithm produces topologically more interesting mazes than its rather naive predecessor.
Most roguelike [...]

Buglist Haiku

At most code shops, reports for known bugs are filed and kept in massive databases.
At my job, known bugs are are scribbled on little cards and described using Haiku.
I thought I would share my top 3.
I
Spatial hash is fullfalling for eternityperformance not good
II
Damn profanity!Battlemaster’s mom complained.TODO: smite cuss words.
III
Oh! Please, server, pleaseReplicate and distributemy ValueInstance!
Some [...]

0xDECAFBAD: The Making of Euclidean Crisis

For those who have not heard of Euclidean Crisis…
Euclidean Crisis is a realtime strategy game for the TabletPC. Uniquely, it is designed to be played using solely the tablet stylus and voice command. Euclidean Crisis casts players strategic commanders of a battalion of spacefighters. The goal of the game is the ultimate destruction of the [...]

DirectPain

[rant]
This is making me very sad. Why was DirectDraw deprecated?
Here’s the situation. I’m making a tile based game in C# using MDX and Direct3D. I’m trying to achieve real time framerates and having a dismal time at it.

I have done some benchmarking with a PerformanceTimer and I’ve determined my problem is that I am calling [...]

Speaking of Google…

Also, someone at Robots.net posted about my auction. Cool!

All the doors I closed one time will open up again

Doors!
Over the past couple of days I have added doors to Witherwyn. They can be opened, closed, and smashed in by right-clicking on them and using the handy context menu that pops up. Getting the bitmaps on the context menu requires a bit of voodoo – luckily someone on TheCodeProject already did that work. I [...]

Witherwyn has Version Numbers…

Witherwyn: Now with Shiny Things!
v. 0.02 demonstrates:

Simple melee combat, with Player vs. Monster and Monster vs. Monster

Rudimentary inventory support

More object-oriented map structure

Reworked tile and entity management system

Roguelikes are apparently notorious for the number of rewrites their code bases require before one can complete a finished game. I did my first one this week. I decided [...]

ASSERT(this->GetCurrentMission() != MISSION_DESTROY_HUMANITY);

Depending on who you ask, super-intelligent machines are either a laughable pipedream or an inexorably approaching certainty. Considering the amazing number of computers that go mad in sci-fi movies, its strange that programmers have never anticipated or built countermeasures to stop the usually quick extermination of the human race that follows. There should be a [...]

Happy *campers*

Happy *campers* are best
“First the VUX, but they are such *silly cows* … they ask so much about the Androsynth we must *dance* with them.”
“*Happy campers* not going to *heavy space* *slide* near Chandrasekhar. Especially not ever! These are *fat* words.”
“Arilou can *slide*. Also Taalo.”
“Finally we find you, the *happy campers* and [...]