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)

Friday, October 22, 2010

On the Other Side

This week is Fallout New Vegas. 

Way back when, I watched the closing credits of Fallout 2 after a very fun romp though the NorCal wasteland.  I did my typical "Talkie/Sniper" build which is how I usually play any CRPG.  At least for the first run though.  Then a name popped up on the screen.  It was a name of Warhammer GM in High School.  And I went, is that him. A few months later we met up for our 10 year High School Reunion, and I found out that it was him.  I thanked him profusely for all the time he caused me to waste :)

The Fallout series has had gone though many hands over the past 15 some odd years.  And with Fallout New Vegas it has found its way under the guidance of my old GM from High School once again. 

Like any good Fallout game there is a lot going on, and I have only just begun.  However I thought I would share some of random thoughts on the game.  Hopefully non-spoiler. 

I have poked at some of the reviews of the game and one thing is quite common in most of them.  They use the phase "Built on a two year old engine."  By this most of the reviewers are making comments that the game is "out of date" technologically speaking.  But I would postulate that most CRPG players don't give as much credence to the latest technology.  Fallout 2 was still bucking the trend when it came out still in a crude tile based 2D format.  Even the Bualder's Gate series was pushing the 2D media further.  But it isn't the latest flashy graphics that I want.  I am there to play in the world and make a difference.

Now I come from the old table top era where we were lucky if we painted miniatures on the board.  A good RPG stimulates the mind to create more than what appears.  So I don't need the flash.  I need the story and world.  I still think Spiderweb games are some of the best CRPGs out on the market.  And they are very basic in their graphics. 

I think it is kind of missing the point to talk extensively about the engine of the game being up to date. 

Now being stable and with minimal bugs is a different story. 

Being an old gamer, I started with Bethsoft games with Daggerfall.  And for the most part I have had the same impression of any Bethsoft game.  Great story and world.  Lousy engine :).  But it is always big and fun.  Just quirky at times. 

Fallout New Vegas is much more of that. 

But I would not want it any other way.

Now where is the bloody sniper rifle.

Tuesday, October 19, 2010

Meat and Potatos

So I have finished what would be the foundation part of the RTS programing book.  That is mostly on textures and skinning and the heavy lifting of DirectX.  Now it is time to put all the pieces together.  First though, I need to take a step back.  The code in the book is fairly simple.  In that there isn't any real resource management, and much of the initialization information is hard coded in.  The author does state that this is intentional just to focus on the aspects of the game programing, and not what would be considered more generalized programing.  Basically the resource manager is left as an "Exercise for the Reader." 

Fortunately, this is where I can start re-using from the MazeMover project.  I did create a INI file parser and simplified resource manager for the SDL objects.  Now to adapt both for each other. 

This is were things get creative.  I have to now look at both sets of code and figure out what each is really doing.  So right now it is a lot reading and poking and seeing what has to be done.  This is were the power of code encapsulation really comes in to play.  I can now muck around with all the various implementations but still present the classes as they are in the book.

Still it means pulling some parts out and fitting in new ones, but if done correctly then the application itself does not change. 

Monday, October 4, 2010

Flying though the sky

So I have finished all of Chapter 4 and I am on the final exercise of Chapter 5 of the RTS programming book.  Right now I am have an issue with the vertex shaders and the terrain.  Once again, this will require going though the example code and taking a look at mine to see what little step I have forgotten.

So far it is just a fancy terrain map with some functions for later use.  Most of the problems I have encountered so far usually stem from tying to understand the subtleties of graphics programming in Direct X.  It is kind of interesting, I am not much of an artist so I don't know much about creating texture files and actual models.  However, I know all the math that goes on behind the scenes.   Matrix multiplication and inverses.  Using dot products to find projections and distances.

I am getting in to DirectX.  Well at least I am enjoying programming 3D graphics.  It just makes sense.  Put things in the world, then "do the math" to show it on the screen.  I was thinking about writing my own 2D Isometric view engine, but being the engineer that I am, I would rather use someone else tools then build my own.