Jump to content
Igniz

Advanced AI and Mob control system.

Recommended Posts

Well, I am a developer since 2008 and i saw a lot of features and games and everything but there are a lot of things that we can't do as developers: Absolute control of the enviroment and monsters.
Does anyone remember this? Well it could be amazing if Hercules revives this tecnology, the posibilities are endless with the proper focus, let's talk about it with an example:
 
 
Command "setid", "monsterid" and "monsterwalk[0,3]"
 
// This creates a group of monsters with ID "X", very similar to WoE Guardians ID's, if they are on the same ID, they are allies (otherwise enemies). The groupID are set by the developer for control (read below). The command setid it's self explainable, it sets an ID "X" to a player.
setid, playerID, ID;monstergroupid, ID, groupID, amount ,map, mapx, mapy;

 

This orders to walk the "X" group of monster to a X1/Y1 point on the map, the variables x2/y2 are set if the developer want to make a bucle of movement (patrol mode from x1/y1 to x2/y2), otherwise, the mobs just stay there inmobile when they reach the x1/y1 coords.

monsterwalk0, groupID, mapx1, mapy1,{mapx2, mapy2}     // Pasive walk (just walk, attacks if attacked by enemy)monsterwalk1, groupID, mapx1, mapy1,{mapx2, mapy2}     // Aid walk (sees the player, the monster heals or helps attacking the enemymonsterwalk2, groupID, mapx1, mapy1,{mapx2, mapy2}     // Aggresive walk (sees the player, attacks) monsterwalk3, groupID, mapx1, mapy1,{mapx2, mapy2}     // Run away walk (sees the player and runs of the player)

 

Ok, setted the proper commands let's talk about this example quest:
 
The user needs to help the villagers of Payon of being attacked and get robbed. The group of evil porings wants to rob their apples so if they reach the store of Payon game over.
 
Basically:
- User and porings are enemies: User got ID 1 and porings ID 2.
setid, playerID, 1;   // We set the "good boys" side.monstergroupid, 2, 1, 100 ,payon, payoncoordsx1, payoncoordy1;   // This creates 100 porings with ID 2 (enemy) and groupID 1 (control group ID)monsterwalk2, 1, payonstorecoordx, payonstorecoordy;   //This makes the poring group "1" run at the payon store coordinates killing all enemies on their run. 
 
We do a function that checks if they reach the coords (raw code), if they do so, the game ends.
attachrid(1)    // This attach the group ID "1" of enemy poringsgetmapxy(m,x,y);if(x && y == payonstorecoordx && payonstorecoordy)endgame;

 

As i said, the posibilities are endless, we can do smart wars, quests, games.........

Obviously we can add more commands for functions, for example a command that check the remain monsters of group X and do something etc:
getremainmonstersid, groupID; set remainmonsters, getremainmonstersid, 1;if(remainmonsters < 10) announce "PoringKing: THIS IS NOT THE END HUMANS! WE WILL BACK!!";

 

 

 It's time to make more fun RO and give him back a breath of life. The developers and players really NEEDS this.

Share this post


Link to post
Share on other sites

While, I do like how those commands would overly simplify things. I'm sorry to say that everything you just posted is possible using these commands: ( with the exception of making the monster an ally of a specified player ).

*unitwalk <GID>,<x>,<y>;*unitwalk <GID>,<target_GID>;*unitkill <GID>;*unitwarp <GID>,<Mapname>,<x>,<y>;*unitattack <GID>,<Target ID>;*unitstop <GID>;*unittalk <GID>,<Text>;*unitemote <GID>,<Emote>;*mobcount("<map name>","<event label>")

It would take a bit of thinking of how to map out the algorithms that would do all of that but it's possible already. The main benefit of your suggestion is the simplification of converting those algorithms into a single command that will do it for us.

 

Again like I said, I like that idea, I just don't think it would be added do to the fact we have such things :/

Share this post


Link to post
Share on other sites

Unitstop and unitattack somehow fails on monster(I was irritated by that command in the past month)

Unit talk works, haven't chexk others

Share this post


Link to post
Share on other sites

Unitstop and unitattack somehow fails on monster(I was irritated by that command in the past month)

Unit talk works, haven't chexk others

I tried to use these commands also had problems in eAthena even once there was an advanced command for monsters? It would be a good idea to bring something like this to Hercules with support also the help of monsters on party and battelground team?

Share this post


Link to post
Share on other sites

I believe there was a custom system some time ago for controlling mobs called Mob Controller. I actually implemented it and got it to work pretty well.

 

I made a complex set of actions to perform for fighting yourself, it would essentially do the most "optimal" tasks and react to when you change gear (notice a difference in damage, or no damage at all) and act accordingly.

 

I loved the system, I just never dove into it as much as it had potential. Not sure if it would replace the unit commands, but it could definitely benefit from it!

Share this post


Link to post
Share on other sites

I believe there was a custom system some time ago for controlling mobs called Mob Controller. I actually implemented it and got it to work pretty well.

 

I made a complex set of actions to perform for fighting yourself, it would essentially do the most "optimal" tasks and react to when you change gear (notice a difference in damage, or no damage at all) and act accordingly.

 

I loved the system, I just never dove into it as much as it had potential. Not sure if it would replace the unit commands, but it could definitely benefit from it!

@@Truly it will be nice if you will share your work :meow:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.