Update: To kick this post off I'm happy to announce that Moonman has received an arts grant from
Film Victoria. This funding will cover the remaining costs of releasing the game in 6 months. Alex will now continue as part-time artist and help with the majority of remaining sprite and background work.
As per the schedule I posted last week, this week I designed and coded the new status effect system. The game now has the following effects: Illuminate, Heal, Ignite, Freeze, Poison, Knockback, Resist Damage. And placeholders for many more including: Curse, Stun, Cure, Modify Speed, and so on. Effects can be applied in many different ways -- for instance, getting hit by a poison sword may temporarily poison you, quaffing a potion may give you an instant heal effect, or jumping into lava may activate the ignite effect.
Although the game already had things like light-casting torches, healing mushrooms, and things that caught on fire, I've now centralised all the effects by re-writing some large chunks of code. From a component point-of-view, there is now an Effectable component that stores status effects. Mobs, Items, and World Objects are now all effectable.
Some things are inherently immune to status effects, an iron chest can't be poisoned for instance. Other resistances come from natural resistances of Mobs (e.g., a Stonodon may resist Cold effects), or from the Resist status effects (e.g., wearing Gloom Armour gives you 100% poison resistance, at a cost).
I also designed the item durability system, but have not yet started coding it. Item durability will be fairly straightforward. The key difference to a game like Minecraft is that when an item breaks it won't disappear, but instead will just be in the [broken] state. Broken items are basically useless, with a few exceptions. Early level enemies will typically drop broken or weak items.
Now for some screens ..
and ..
errrorrr