Forward =)

I find it funny that I thought there would be a time (notably after the finish of Morning's Wrath) that I would stop working on games, I have found that this simply won't be the case.

Not more than a week of being done with the development of MW, and already my mind is ticking once again =D

Of course there are things to be done with MW and that will come first, but I have had a little more time lately, AND I dont have that voice saying (finnish this game first!), so at the moment my thoughts are dwelling upon the next iteration of our game engine.

On sunday I did a bit of work on a prototype, it was for an 'object' class, and I implemented a system that I designed, I would have liked to use it in MW, but we know what happens to programmers that rip the engine apart at 3/4 development completion =)

a. To learn and become a better programmerb. It was not all that hard to buildc. Self written components cater directly and only to your needsd. Rolling my own components hasn't caused me much harm yet (points to completed game) ;)

this way, an object can be remade perfectly without needing compile time knowledge of what type it was.

Other Stuff:

while most programing problems can be solved without RTTI, somtimes they are easier solved with it:

example:

for instance, say you had three types of item Potion,Spell and Weapon, and all inherited from Item.

when a character takes an item it is dumped into an array, which only assures type knowledge from Item and up.

if you need to know how many potions you have, you can itterate the list and use RTTI to determine if an Item is in fact a Poition, using instanceOf.

"But Raymond!" you say, "why not store potions,weapons and spells in thier own arrays!?", doing so would solve that problem, _however_ it can complicate other such things;

for instance, if you ever need to see if you are carrying a certain item you will have to itterate over three lists.

it also means that you cannot simply extend Item at will and allow Character to use it, a new array and a new set of accessors would need to be added, AND, this new array would have to be factored into all of the existing 'multi-array-checking' code, clearly a pain =)

There are of course even more solutions that can solve what i just proposed, but IMHO, the best solutions are the ones that dont cause the need for more solutions =) As long as RTTI isn't blatently abused it is perfectly fine, and useful.

and just so you know, the functionality of my RTTI was modeled after the JAVA functionality, since I found it to be a dream to work with =)