Before elaborating on my idea I would like to congratulate the developers for their good work that makes this game possible.
While playing I have realised that there are numerous similar object types (by objects I mean equipment and monsters but as I am a programmer too I use the word object) that could be categorized for several reasons. For example you can encounter a forest wolf, a bloodthirsty wolf, a ferocious wolf, a longsword, an iron longsword a hardened ironsword etc.
Naturaty it is required to add several similar objects on a game to achieve the required divercity (especialy on a rpg game). The problem is that when there are several content developers and the game includes hundreads of objects it becomes increasingly difficult to manage check and balance all those independent objects. Creating multiple similar object types can therefore be a source of inconsistencies.
What I would like to propose is to create standard objects and then aply moddifiers on them to achieve divercity. It is important to note that this idea goal is not to change how the game works for the player but to help developers create more consistent content and faster.
One example (purely to make my point clear) to this is to create a monster wolf. This object would have several properties like:
Code: Select all
public class wolf extends monster
{
monster_type type = monster_animal;
boolean is_legendary = false;
boolean has_subtypes = true;
xml_doc xml_subtypes = "wolf_subtypes.xml"; //or null if there are no subtypes
monster_properties properties = new monster_properties(wolf_health, wolf_attack_chance, wolf_block_chance);
string name = monster_wolf_name;
public on_attack()
{
(attack ai)
}
public on_move()
{
(move ai)
}
....
}
The subtype xml file should contain information like:
Code: Select all
<wolf_subtypes>
<prefix_modifier>
<name>bloodthirsty<name>
<attack_chance>20<attack_chance>
<block_chance>-5<block_chance>
<critical_chance>20<critical_chance>
<movement_ai>offensive_ai<movement_ai>
....
<prefix_modifier>
<wolf_subtypes>
The same can be applied on weapons too. However I believe there is an even better way to create subtypes. Instead of creating seperately subtypes and defining individualy the parameters for each object it is much easier and consistent to create global modifiers along with individual modifiers on certain cases and then determine if an object is eligible to receive it. There are other problems like textures that may need to be changed as well but i believe those problems can be dault with.
For example one could create the modifiers bloodthirsty ferocious wild and rabid that can only be applied on monsters -> animals -> furry
But the hardened vile fast venomous can be applied on monsters -> reptile
Of course specific monsters like Irdegh could for example forbid certain modifications like venomous since all Irdegh are expected to be venomous anyways.
The map editor can determine the strength of the modifications. For example one forest can contain savage wolfs deep into the woods and scared wolfs or peaceful foxes while entering it.
Completing a quest that is supposed to calm or reduce the monsters could change modifications on zombies for example from bloodthirsty or unstoppable to rotten slow and weakened and affect the spawning rate. All those modification changes are based on chance of encountering of course. One could still encounter a rabid wolf on a peacefull forest. This however would be rare.
The modifiers can contain flat and percentage increases. The increase to be applied should be the one that gives the most benefit to the monster. (so that weak and strong monsters are benefited accordingly).
There can also be sufix modifiers at the same time like Ferocious wolf of Remgard lake.
For weapons this can lead to Rusty shortsword of Fallhaven.
Creating several item modifications can add extreme amount of depth to the equipment part of the game.
Please tell me what you think of this. Do you find this idea feasible to implement? If yes do you find it desirable?