More Features and Further Delay

9 08 2012

I probably could have gotten a release ready today, all I need to do at this point is add the ability to equip items (equip slots and such is already written), but as I’ve worked, I’ve come up with one small idea after another, and so today’s progress, while it does involve a fair amount of code, didn’t really put me much closer to a release.  I have, however, added quite a bit.  Namely, stats, instead of being just a dictionary of decimal values, are now their own class, containing not only the name and value, but also viewing permissions (can it be viewed on the player’s stat screen?  what about when examining a monster?).  This required a rather heavy rewrite of the stats framework, though it was greatly simplified via some LINQ.  I’ve also replaced the previous “default” tag structure in the mob and tile files with something a bit more flexible: templates.

A template is defined with a [template:template name] tag, and then added into a mob or item by placing that same tag into it’s definition.  Moreover, a template can contain other templates, allowing you to have, say, a humanoid template defining body parts, and an orc template which defines some base stats.  At the moment, all the templates can handle are stats and equip slots (both of which can be not only added by a template or mob/item, but removed), but I may add support for other things later as well.  A list of all implemented templates is stored within each mob/tile, and is used not only for future reference (is this an orc?) but also to avoid endlessly recursive situations, in which a template calls itself, or a template that calls it, or so on.

In addition to all these changes (and the various fixes and rewrites required to make them function) items are now loaded from a data file as well.  All that’s left now before a release is applying equipment, and possibly a new inventory/stat viewing screen.




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: