From our thread on the Unity Forums
It’s been just over a month since my last update and there’s been a fair bit of progress during that time.
The combat system feature list is pretty much complete now.
- It supports melee and cast spells to single and multiple targets, which can cause damage or healing. Healing can be targeted at the caster and other targets.
- In combat and out of combat skills are supported.
- Skills can be set to allow particular target types e.g. Friendly targets, enemy targets or self only.
- The attack system is generic and the same code is reused for player, pet and mob attacks.
- As well as attacks, buffs can be cast, which can increase any the available stats for a configurable number of rounds.
- Buffs can also apply heal over time and mana recovery over time during combat.
- Skills can be set to be available in combat only, out of combat only, and both.
- Cooldown system, mainly for out of combat casting. Cooldown persists between sessions in real time.
Skills can be dragged onto the skill bar and arranged in the ways that best suits you.
We’ve also done a fair bit of work on the underlying system for handling in-game items and we’ve got a flexible system in place to control all the various item attributes that things can have (name, icon, weight, description, usage effects etc. etc.)
We’ve handled this using mainly composition and interfaces, as we felt it gives us greater flexibility and cleaner code when compared to using inheritance.
The inventory system is 90% finished too and although it was designed primarily to handle the player’s collection of items, the same core code will be used to handle anything that needs to work with game items e.g. the player loadout.
Weapons and armour can have stat bonuses in multiple stats and consumable items can be used to heal/recover mana or apply stat buffs that have a limited duration.
We’ve also implemented exp. gain and levelling for both characters and pets and unlocking of skills based on level. Some skills will be unlocked in different ways.
On level up, some stat gains will be allocated by the system and some will be awarded to the player to distribute in whichever way they like.
We’ve also done a lot of work on the drop system, which allows us to set loot tables for entire areas and also for the mobs themselves. On completion of a successful fight, the area and mob loot tables are combined and the drop probabilities are calculated. Specific drops can be limited in quantity and/or made a guaranteed drop. Armour and weapon area drops will be generally low quality, whereas boss mob drops will be higher quality with proportionately higher stats.
Hopefully, we should have a working implementation of the workskills/production system for the next update.
As always any comments/suggestions are very welcome.