The mobs in Planeshift are like mobs everywhere, slightly dumb and definitely not geared towards self-preservation. In order to make this game a little more realistical, and to make powerlevelling a little harder, I propose to allow mobs to evolve, adapting themselves to the tactics of their hunters.
Basically, evolution occurs when two conditions have been satisfied:
- properties of one individual are inherited by it\'s descendants
- properties of one individual influence it\'s reproductive success
Now, how to implement this? First, we must define what properties should be subject to evolution. I see two possibilities: The stats of a monster, and it\'s AI. In order to allow evolution to result in something interesting, both should be able to evolve. Therefore, all monsters should have their own \"AI tree\" and stats.
As for the stats of a monster, I\'m thinking of a redistribution of stat points between stats, keeping the total constant - This to make sure monsters don\'t become invincible by just acquiring huge amounts of stat points through evolution.
However, merely distributing stat points wouldn\'t make much of a difference if mobs couldn\'t learn how to use those stat points to their best effect. Therefore, AI should be able to evolve as well. Any AI is a complex program, and in order to have it evolve, it is easiest to encode \"AI building blocks\" and allowing the evolutionary algorithm to piece these together in a lisp-like instruction set (which is the way behaviour is generally encoded in genetic algorithms in science). for those who don\'t know Lisp, it is a programming language whose syntax is suitable for automatic generation of programs. In order to explain what kind of instructions would be needed, a text-based example:
let\'s have the following functions:
function \"run\" causes AI to switch to running mode, removing mob from attacking player as fast as it can, and returns 1 when running.
\"fight (stance X)\" causes AI to switch to fighting mode, in which mob attacks player. fight takes one argument, the stance, which influences the off/def ratio of the mob just as with real characters. fight returns 1 when fighting.
\"if (X,Y)\". If takes 2 arguments, X being the condition which has to return 1 before Y is called.
\"playerlevel\" returns level of nearest player within a certain area.
\"= (x,y)\" returns 1 if x and y are equal. all other logical operators are of course needed too.
\"mobnumber\" returns number of mobs within a certain area
\"family\" returns number of mobs with same characterset as mob within a certain area.
\"health\" returns current health percentage.
With just these functions, complex and meaningful behaviour such as \"If player level is smaller than X fight, else run\", \"if more of 5 members with my instruction set are present fight, else run\", \"if health < 25 pct, run\", could already occur spontaneously, making mob behaviour unpredictable and challenging.
With functions such as these encoded in a lisp-like environment, evolutionary algorithms could piece together AI behaviour. At the start, random lisp trees should be generated, with possibly the condition that all trees should end with \"fight\" or \"run\".
Players would hunt mobs and kill all variants which do not produce meaningful behaviour more easily than variants which do produce meaningful behaviour geared towards survival. Thus, the second condition for evolution is satisfied. The first condition can be satisfied by basing the AI and stats a spawning mob gets on the monsters already present in the area, with a chance of mutations both in the stats and in the AI tree.
I know something like this would be a challenge to code and especially to balance. However, programs like this have already been demonstrated to work in genetic algorithm literature, and therefore I believe it should be possible to implement it in a MMORPG. As for the benefits, I\'m sure it would increase gameplay a lot by making hunting and killing mobs more of a challenge: No more brainless killing, since monsters will adapt to that. And it would be something to truly distinguish planeshift from all other games on the market...