As most everyone should know, the Zune is doing games now. XNA games, that is. Well, I'm no XNA person, but I suspect I should be able to write a DLL in .NET for someone who does write XNA to implement.
So I kicked around that idea for a while and wondered, what should I write? Today it just kind of came to me: a Wizardry clone - a generic adventure game. I'd written text based adventures many years ago in BASIC, so the concepts and program structure were pretty familiar to me. So I sat down with a piece of paper and sketched out some objects.
I didn't want to get overwhelmed in the design phase and end up discovering I couldn't do what I wanted and wind up discouraged, so I started with the map concept. I decided every location would be an object. It needed to know what direction the exits were and the position of the location on the map. To keep size to a minimum, I compressed these to two integers (or shorts if I get really desperate). I added an extra integer for special flags, like dark or pit or poison.
Then I map a map object which is just a collection of map locations. Actually a dictionary, so I can look up map locations quickly using the position value.
So I sketched out on grid paper a couple of corridors. I manually calculated the exit and position values and put them in the code. Then I wrote a quick test app to move from location to location using buttons. It worked on the first try!
Feeling good about that, I made a quick form where I could draw a map on a panel and generate the map values, then immediately "walk through" the map. That worked without a hitch too!
So I'm pretty thrilled that I've been able to get this far in only a couple of hours. Anymore it seems like I spend forever on design, or start something only to find that it's just way too big to tackle, or just lose interest midway through.
Yay, me.