Back to Strong Data Typing

After screwing around with poison and debugging ("deboobooing") I have come to the conclusion that all these problems can be eliminated with strong data typing. In the belief that it's always easier to prevent a problem than to fix it, and in genuine fear of the prospect of designing a deboobooer, I have decided that I must revert to the use of strong data types. This imposes one nasty problem with respect to dealmaking, which requires two special objects which could be of any data types. The only solution to this problem is to provide all such objects in the data structure, even though the vast majority of them will never be used. There are five relevant data types that could be used here: characters, stages, things, numbers, and events. I don't see verbs as a relevant data type for use in a special object, and I certainly don't see booleans as a relevant data type for a special object. Indeed, I am uncertain about the use of events and stages in this case, but I concede that their use is plausible.

 

I must ascertain that these are the only data types I need for interactive storytelling. Perhaps this is a matter to bring up with Laura Mixon.

 

If so, then I must throw away IndObject, ThirdObject, and FourthObject, replacing them with CharacterObject1, CharacterObject2, StageObject1, StageObject2, ThingObject1, ThingObject2, NumberObject1, NumberObject2, EventObject1, and EventObject2. The size of the substory record just increased by seven longs &emdash; 28 bytes. With a maximum of 4K substories in the HistoryBook, we've increased the data requirements of the program by 112K. This is significant but acceptable. If I end up sweating RAM, I can always cut the HistoryBook size in half with little danger to the player, thereby saving about 100K of RAM.

 

Am I certain that I want to preserve the use of NumberObjects? Their only value would be in specifying amounts of wealth. This could get me into trouble. On the other hand, if we can't use wealth, we're crippled. This is a troubling issue.

 

The same thing goes with StageObjects. They just don't seem that useful...

 

As far as editing issues go, there's not much problem: most of the time we show only the DirObject and the Weight for each consequence, but if you ask for it you can also get the special objects. This would be rare enough that I would prefer to do it with a popup menu. This also frees up some space for the role scroll box!