Author Topic: mob evolution  (Read 448 times)

Esthurin

  • Traveller
  • *
  • Posts: 13
    • View Profile
mob evolution
« on: April 14, 2005, 04:18:53 am »
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:

Quote
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...
« Last Edit: April 14, 2005, 04:27:47 am by Esthurin »

Foresteer

  • Hydlaa Citizen
  • *
  • Posts: 398
    • View Profile
(No subject)
« Reply #1 on: April 14, 2005, 06:28:58 am »
Seems good.. i like the thought of mobs leveling/evolving

I mean how RP is it when several noobs died to a rat the the rat gets \"out of hand\"? Then it takes a major quest of the best down to the worst just to kill what was once a measly rat :P

EDIT: i can hear it now \"ZOMG IZT A SOOPUER RAET OF +3H0 T00MM INA TEHHE SEWAERS!!!\" the glorious screams of the noob/l33t/powerleveler.. maybe this is the answer to our problem *thinking face*
« Last Edit: April 14, 2005, 06:31:02 am by Foresteer »
Warning the truth may blow your brain to shreds... Click at your own risk :P[/disclaimer]

Sarrow

  • Hydlaa Citizen
  • *
  • Posts: 257
    • View Profile
(No subject)
« Reply #2 on: April 14, 2005, 10:43:24 am »
Like tefusangs. After countless people killed off the initial generation with normally steel weapons. Then  when the second-fourth generation for tefusang will have scales that are about 30% ressistance to steel weapons. Once people stop using steel weapons due to tefusang resstance. New weapon meterial will be made like, silver. The tefusang having no encounter with silver typed weapons before, there will be no ressistance. But after a few generation hit by silver type weapons the herd\'s ressistance to steel will wear a little and adapt to silver. So ressistance will be 25% to silver weapons and 3% to steel.

This only a scenario.

Note that this only affects one tefusang herd not all tefusangs in the game. This will give a challenge to many hunters  as they must adapt to different weapons when the monsters they fight continue to adapt.
« Last Edit: April 14, 2005, 10:45:11 am by Sarrow »
Sar-row (say-row)  n.  1. A individual or group that protrays discrimination to current society. See synonyms at Revolutionists

WizardsRule

  • Hydlaa Citizen
  • *
  • Posts: 317
    • View Profile
(No subject)
« Reply #3 on: April 14, 2005, 02:52:18 pm »
any what about new players? They would be killed INSTANTLY

The evils of past repeat themselves in many shapes and forms



tangerine

  • Hydlaa Resident
  • *
  • Posts: 192
    • View Profile
(No subject)
« Reply #4 on: April 14, 2005, 06:06:31 pm »
(I know what lisp and genetic programming are.)

This sounds interesting in theory but I am not really sure if it would be fun in practice. In real life, there can be immense variety of behaviours, so the living creatures can diferentiate from each other and the selection pressure leads to evolution. And changes of behaviour of animal type A can trigger evolutionary reaction from animal type B, it is dynamic. But the behaviour of creatures in this game is really very simple: simple movement and fight with little strategy. Looks like there is not much to evolve. There would have to be much much richer set of possibilites.

Also these creatures controlled by evolution can behave in very stupid way (and people will say \"what a stupid game\"), or they can behave in unfun ways (e.g. constant fleeing from players). I think we should have some control of the game, instead of letting it evolve to something unpredictable and possibly not fun.

It seems to me that is idea would be cool as some kind of AI research project: create a simulated environment which offers many options what the creatures can do, and then observe the evolution. But it is probably not useful idea for games.

Regarding the future of AI in Planeshift, we may be going in the direction of having behavior that is organized (groups of creatures) but static (programmed by hand).

Tarachnul

  • Hydlaa Resident
  • *
  • Posts: 145
    • View Profile
(No subject)
« Reply #5 on: April 14, 2005, 06:22:57 pm »
Esthurin

this might just be lack of sleep getting the best of me... but what your proposing (the scenerio) sounds more like lemarkism(damnit i know i speeled it wrong) than evolution(Darwinism if you will)...as your saying it would occur as an individual increased its \"stats\" its offspring would then be inherently more powerful than others of its kind however no matter how much a particular trait is developed throughout an individuals life it doesnt alter its genetic code and pass onto desendants (EX: no matter how often i go out and lift weights it will not make my offspring any stronger)

sorry if im wrong...and please forgive my sleepynesss if i am...

regards,

-Tarach
« Last Edit: April 14, 2005, 06:24:35 pm by Tarachnul »
Uuma quena en\'mani lle ume, ri\'mani lle umaya; uma ta ar\'lava ta quena ten\'irste\'  
(Speak not of what you have done, or what you are going to do; do it, and let it speak for itself)

WizardsRule

  • Hydlaa Citizen
  • *
  • Posts: 317
    • View Profile
(No subject)
« Reply #6 on: April 14, 2005, 06:54:59 pm »
*APPLAUSE IN BACKGROUND

Thank You

The evils of past repeat themselves in many shapes and forms



Phinehas

  • Guest
(No subject)
« Reply #7 on: April 15, 2005, 03:54:50 am »
Tarachnul\'s right. Also, what Wizardrule said is correct. And in that same line of thought, wouldn\'t this eventually lead to monsters so powerful as to be almost indestructable?

Externals

  • Hydlaa Citizen
  • *
  • Posts: 381
    • View Profile
(No subject)
« Reply #8 on: April 15, 2005, 04:16:59 pm »
Yes, this thought and idea may have many upsides, but look at the consequences. You can eventually get a monster to seriously be virtually unstoppable. Masses of people just  come to face a simple monster and die. People keep coming making it stronger. This is only explained in simple terms, the effects can be devastating with what sarrow added as well. Oh i dont know, making it realistic is nice, going to far =  ;(
Of course you should fight fire with fire, you should fight everything with fire.   :P  Xantherus Icer  :P