Topic 55

Vagile
Exile
Post #1

Topic 55

by Vagile » Thu Apr 03, 2003 9:42 pm

The AI for pitch noids is awesome. Add more smart creatures closer to town.



(Status 4/2/03 -- We're likely to keep smart creatures special.)

Luminary
Exile
Post #2

Topic 55

by Luminary » Mon Apr 07, 2003 3:23 pm

I hear tell of one of the older monster AI GMs writing either an AppleScript, or an application that could hunt rats. Now this isn't a "walk back and forth in the Rat Towers, accidentally tripping over rats" script. This was a full-blown AI, that ran on the client machine. It could sense the location of the rats, and move the character in the appropriate direction. It kept track of the character location and could detect when the character had left the Rat Towers and re-enter.



Other functions could have been added pretty easily. A rudimentary share-the-healer AI. A return greeting (aa waves) AI, and so on.



My point is that maybe some really complex monster AIs could be run from a special "Monster Client" from machines other than the server. If the client was a faceless background task, DT might even be able to let non-GMs run it on their local computer. Think of it as Distributed Computing meets Clan Lord, ClanLord@Home.



Things could get really scary with a distributed monster client...Consider monsters that could use their own sunstone channel to coordinate.

Greyfox
Exile
Post #3

Topic 55

by Greyfox » Tue Aug 05, 2003 7:24 am

Some AI for the gate guards would also be a good idea. If they are going to stand at the gates, they ought to swipe at incoming monsters (at least things bigger than vermine). The current NPCs are OK for store clerks and town gossips, but at least some NPC's should be smarter.

Xel
Exile
Post #4

Topic 55

by Xel » Tue Aug 05, 2003 7:49 am

Some monsters already coordinate. Have you seen orga zealots since some versions ago? They group up into a straight line formation and advance at speeds and angles allowing themselves to stay in line. I was very surprised when I saw this. (You're more likely to see it when you're fallen in an orga invasion than if you're running around alive)

Kojiro
Exile
Post #5

Topic 55

by Kojiro » Tue Aug 05, 2003 8:08 am

Luminary wrote:) My point is that maybe some really complex monster AIs could be run from a special "Monster Client" from machines other than the server. If the client was a faceless background task, DT might even be able to let non-GMs run it on their local computer. Think of it as Distributed Computing meets Clan Lord, ClanLord@Home.



Things could get really scary with a distributed monster client...Consider monsters that could use their own sunstone channel to coordinate.


Super excellent ++good idea.

Hidden
Exile
Post #6

Topic 55

by Hidden » Tue Aug 05, 2003 4:51 pm

Luminary wrote:I hear tell of one of the older monster AI GMs writing either an AppleScript, or an application that could hunt rats.
That was Chum.
My point is that maybe some really complex monster AIs could be run from a special "Monster Client" from machines other than the server. If the client was a faceless background task, DT might even be able to let non-GMs run it on their local computer. Think of it as Distributed Computing meets Clan Lord, ClanLord@Home.
Problems:

a) Players hack the monster client, wreck havoc.

b) Player machine crashes while monster is attacking. Easy pickings for exiles.

c) Player on 56k connection. Laggy monster?

Kojiro
Exile
Post #7

Topic 55

by Kojiro » Wed Aug 06, 2003 8:26 am

Hidden wrote:
Problems:

a) Players hack the monster client, wreck havoc.

b) Player machine crashes while monster is attacking. Easy pickings for exiles.

c) Player on 56k connection. Laggy monster?


Solutions:

a) Havoc is entertaining!

b) Exile machine crashes while monster is attacking. Easy pickings for Monsters.

c) Exile on 56k connection. Laggy exiles!





I say bring it on.

Jeff Ray
Exile
Post #8

Topic 55

by Jeff Ray » Wed Aug 06, 2003 11:32 am

>> My point is that maybe some really complex monster AIs could be

>> run from a special "Monster Client" from machines other than the

>> server. If the client was a faceless background task, DT might even

>> be able to let non-GMs run it on their local computer. Think of it

>> as Distributed Computing meets Clan Lord, ClanLord@Home.



Most game AI's "cheat", using additional information pulled out of the game engine and not available to normal players, because AI's are still too stupid to compete with humans. For example, human players aren't able to look at a pride of sky maha and immediately tell which one is "weakest". To make this work, there would have to be a way for the client to send queries for sensitive data to the server, and the exploit potential of that would be enormous.





> Problems:

> a) Players hack the monster client, wreck havoc.

> b) Player machine crashes while monster is attacking. Easy pickings for exiles.

> c) Player on 56k connection. Laggy monster?



All true, but the core idea has potential. The GM's have complained about how limited they are in terms of what a server script can to.



What if high level monsters each had a rudimentary AI (similar to or even simpler than the current monster scripts) running on the server, for security and as a fallback, and a "higher level" monster AI running on some restricted DT system? The higher level AI's could be a bunch of threads spawned from a Monster AI server, and if the frame-to-frame chores are left to the low level server script, they wouldn't even need to be synchronous with the server; they could just issue "commands" (get status of nearby monsters and exiles; heal Monster 378; attack Exile 64; yell "Avast, Ye, Maeght! Time to die!").



Taking the discussion in a different direction now, should the GM's document some subset of the monster script system, and run a contest for player-scripters to see who can come up with the best new monster AI?



-jrr

Hor
Exile
Post #9

Topic 55

by Hor » Wed Aug 06, 2003 11:41 am

Hmm... why a so difficult approach?



The time and cost to develop such a distributed computing AI system could be

spent on a new server machine instead.



A machine that is like 5 times as fast as the current server is not really costing lots

of coins these days. Just check ebay for some small ultra-sparc machines....



HWC Hor

Tigger
Exile
Post #10

Topic 55

by Tigger » Thu Aug 07, 2003 2:19 pm

Hidden wrote:c) Player on 56k connection. Laggy monster?
Even using DSL/cable, having the server spawn a bunch of connections and send a bunch of round-trip data to external servers for each frame sounds like it would induce considerable lag (even assuming those external processors were secure/robust). Would CL still be able to run at 4+ fps in this scenario? Even at a very optimistic 50ms of added latency per exchange per frame (2 delays at server connection, 2 at distributed client, plus transmission delay), thats 200ms (1/5 second) of additional delay per second. Then there's the actual processing time of the process and some additional overhead for the CL server to wrangle all that data together and integrate it.



It's an interesting notion, but it seems highly unlikely it could work under anything resembling the current architecture. I think Hor has the right idea: you want more sophiticated AI, get a faster server.

Haze
Exile
Post #11

Topic 55

by Haze » Thu Aug 07, 2003 9:12 pm

Hor wrote:Hmm... why a so difficult approach?



The time and cost to develop such a distributed computing AI system could be

spent on a new server machine instead.



A machine that is like 5 times as fast as the current server is not really costing lots

of coins these days. Just check ebay for some small ultra-sparc machines....



HWC Hor




That was my exact thought... is Clan Lord still running on an 85MHz Sparc 5?

Kojiro
Exile
Post #12

Topic 55

by Kojiro » Fri Aug 08, 2003 7:12 am

Tigger wrote:
Hidden wrote:c) Player on 56k connection. Laggy monster?
Even using DSL/cable, having the server spawn a bunch of connections and send a bunch of round-trip data to external servers for each frame sounds like it would induce considerable lag ...


We're just talking about a client app that runs monsters. I don't see how that would induce lag any more than the client app that runs exiles does.

Tigger
Exile
Post #13

Topic 55

by Tigger » Sat Aug 09, 2003 11:22 am

Kojiro wrote:We're just talking about a client app that runs monsters. I don't see how that would induce lag any more than the client app that runs exiles does.


Luminary originally said "My point is that maybe some really complex monster AIs could be run from a special 'Monster Client' from machines other than the server." External machines = transmission delays + latency + overhead of packaging and parsing data = lag (and security, uptime, and synchronization issues). But if you really mean something running right on the CL server alongside the CL server app, then what's the point of having it be a separate program? Maybe I'm not understanding exactly what it is that this "monster client" is supposed to do that can't be done now?

Hidden
Exile
Post #14

Topic 55

by Hidden » Sun Aug 10, 2003 4:47 pm

Basically the suggestion is really smart bot-monsters, run on player machines. They would have some lag, but no more than regular players.



The problem with this, is that programming an AI smart enough to make it worthwhile is probably beyond current technology. Humans can deal with small amounts of lag subconsciously, because we're good at heuristic calculation ("eyeballing it"). Computers can't do that, so they'd be screwed with anything above a 125ms ping.



Plus, a bunch of people could dedicate themselves to running the monster client and start some huge download to purposefully induce lag, thus making the monsters easy pickings.



Add in the obvious security issues, and, well...

zarutian
Exile
Post #15

Topic 55

by zarutian » Tue Nov 04, 2003 2:07 pm

Luminary wrote:
My point is that maybe some really complex monster AIs could be run from a special "Monster Client" from machines other than the server. If the client was a faceless background task, DT might even be able to let non-GMs run it on their local computer. Think of it as Distributed Computing meets Clan Lord, ClanLord@Home.
Very good idea