Rogue is a dungeon crawling video game first developed by Michael Toy and Glenn Wichman around 1980. It is generally credited with being the first "graphical" adventure game, and was a favorite on college Unix systems in the early to mid-1980s, in part due to the procedural generation of game content.

-- http://en.wikipedia.org/wiki/Rogue_(computer_game)

Tuesday, May 11, 2010

Having an Apostrophe

One aspect I love about programming, as well as systems administration, is the "Ah Ha!" moment of getting past some really challenging problem. It is that moment of clarity that everything else falls into place and the rest of the solution just falls in to place.

Now a days these moments are getting rarer and rarer in my primary career. It has to do with the fact that, as an industry, IT just knows more now. So the boundary of uncharted/unknown territory is seldom challenged. Also my current company is in an industry that doesn't require leading edge technology to be competitive. The last time I did anything "radical" in the IT industry was about 10 years ago. That isn't to say I am not learning new things. But they are already established ideas that are just need to be implemented.

I still deal with interesting problems from time to time, like how to avoid reconfiguring 500+ devices in 10 different cities that are connected via IP address instead of hostname and had no remote configuration ability. But for the most part everything works, or if it breaks the fix is fairly well documented.

But with programing, there always seems to be some challenge or wall to run into. Today I was figuring out how to best store the state information of the chip locations on the board. I wanted the Board class to really just be aware of itself and how to draw itself. The chip states are best stored as a two-dimensional array, but I did not want that also to determine where to draw itself. Lastly which object should handle the user inputs.

So I was thinking "I need something that is a board that contains the chip states."

Hey, that is an inherited object! This actually makes me kind of excited. This way I can extend the Board object here to deal with the connect four chips and then extend it again in Maze Mover to handle collisions with the movable token. I was not thinking toward code reuse at this moment, but it just fell out. I will redo the Board class after I am done to make sure it is general.

I expect that over time, I won't be hitting a wall every day. Or at least completing more development between walls. But I hope that it will be frequent enough to keep me excited.

In other news, you can see that I have been playing with the blog template. I like the three column approach only because I tend to have quite a few "side bar" objects. Also I have been giving though to my marketing strategy. What good is writing a quality game if no one knows about it? Right now going with online networking and "friend of a friend" approach.

0 comments:

Post a Comment