Advertisement

AI Server for MMO system?

Started by July 19, 2002 03:32 PM
70 comments, last by BouncePup 22 years, 6 months ago

quote:

A fun trick I have in Tombstone is that when someone else logs in under your username and password, they instantly take control of your character.

Apply that to NPCs, you fire up the new AI engine on a second server and log in all the NPCs again. The new server takes over and then you just shut down the old one. The transition is completely transparent to the users.


Yep, it's a pretty slick idea. This has been a fairly standard feature in text-based MUDs for years, called something like "usurp" and "copy-over". I don't know of any commercial games that do it that way currently. I'm sure there's a reason they don't but it's a cool feature none-the-less.

quote:
mtaber said:
I think that the topic in general is fascinating, because while you can try to say that one solution is better than another, you can always generate cases where the reverse will be true. I don't think that you can ever say one general solution is always better than another. You have to take into account and evaluate all of the specifics of the problem that make it different than other similar problems. Only then can you determine whether a particular solution is better than another.



More wisdom... this guy is full of gems. I think this sums up nicely what smanches and I were talking about with respect to the "experimental" architectures of MMOGs. No one really knows the "best" ways to do this stuff yet. We can only really go on what is actually "in the wild" (released/in-production). Otherwise we cross our fingers and test it in development then hope the easter eggs don't bite us at launch (and they always do to some extent).


[edited by - fingh on July 26, 2002 2:13:06 AM]
"I'm interested in knowing."

No you're not. All you want to do is whip out your dick and start measuring. Have fun.

"If you don't mind me asking, how many NPC servers have you restarted?"

Let's go by logic again, on this one. I run a pretty big web-server out of house (www.icarusindie.com). I offer hosting to anyone who wants an account. When I add the alias to Apache for the new user which do you think would take longer? Restarting apache or restarting the entire computer?

It's logical that if you only restart what actually needs restarting, you're going to save a lot of time. In Apache's case, restarting the server just reloads the conf files making it completely transparent.

Oh, and to answer you question, it took around 20 minutes to log in 12,200 NPCs. The delay is mostly hard coded in the NPC client to keep the server from stalling. 10 logins per second was a pretty reasonable rate.

"You're doing nothing but personally attack fingh"

Maybe that's all you see in your "objective" glasses. Why don't you try reading my posts again?

"I'm sure there's a reason they don't but it's a cool feature none-the-less."

It's usually best to log out and log back in if you need to log on somewhere else when playing MMOs. With MUDs you tend to be safe just leaving yourself logged in for long periods of time depending on what type of MUD it is and what room you're in. With MMORPGs it's asking to be looted/killed/whatever.

Unless you want someone to remotely take over for you while you go eat or something so you don't have to restart at a spawn point, there's really no reason for it.

Ben


IcarusIndie.com [ The Rabbit Hole | The Labyrinth | DevZone | Gang Wars | The Wall | Hosting | Dot Com ]


[edited by - KalvinB on July 26, 2002 3:10:43 AM]
Advertisement
quote:
Original post by KalvinB
Are you lonely Krez? Did your mommy not give you enough attention today?

Or do you just like following me around like a lost puppy?





We all like to follow you around. You are such a cool guy !! Especially when you insult people that is sooo cool !

I wish I could be a total bastard like you !

GO Kalvin !

You're the real Kalvin, yes you are the real Kalvin. All the other Kalvin's are just immitating. So won't the real Kalvin please stand up...please stand up....

[edited by - granat on July 26, 2002 4:13:34 AM]
-------------Ban KalvinB !
I''m sure everyone here appreciates your childish little rant.

Ben


IcarusIndie.com [ The Rabbit Hole | The Labyrinth | DevZone | Gang Wars | The Wall | Hosting | Dot Com ]
LoL...

Is the brightening monitor getting you all mad ?

Perhaps turning the computer off and going out taking some fresh air will help.
Darkhaven Beta-test stage coming soon.
accidental double post... see below

[edited by - mtaber on July 26, 2002 12:11:11 PM]
Shameless plug: Game Thoughts
Advertisement
"No you''re not. All you want to do is whip out your dick and start measuring. Have fun."

No, I really am interested. Because you apparently know everything and I just want to know where this vast pool of knowledge comes from. I''ll be the first to admit that I don''t know everything. But at least I can admit that I don''t know everything about everything. Obviously you have a problem with that. And I can only assume from your answer that you have very little experience.

"Let''s go by logic again, on this one. I run a pretty big web-server out of house (www.icarusindie.com). I offer hosting to anyone who wants an account. When I add the alias to Apache for the new user which do you think would take longer? Restarting apache or restarting the entire computer?

It''s logical that if you only restart what actually needs restarting, you''re going to save a lot of time. In Apache''s case, restarting the server just reloads the conf files making it completely transparent."

That''s great. And I''m very happy for you. My little sister could administer a web server running Apache, so you should be proud. But would you mind actually answering the comparison? I asked what takes longer to do. Restart an AI server or a Game World Server. You really need to separate the fact that a server can be either an application or the hardware that the application runs on. That further adds to my theory that you don''t have a lot of experience because you don''t seem to know the difference and can''t adequately defend an argument. Not to mention the fact that Apache is not the same thing as an AI server, which is what I had asked about.

"Oh, and to answer you question, it took around 20 minutes to log in 12,200 NPCs. The delay is mostly hard coded in the NPC client to keep the server from stalling. 10 logins per second was a pretty reasonable rate."

Finally, a straight answer based on fact. Thank you. Now I''m interested. How much processing power does the NPC Server average? What''s its utilization on average and how many of those NPC''s does it typically assume control of at any given time? I''m sure that you have it optimized so that if nobody is anywhere near an NPC so it doesn''t require interaction, then it won''t waste processing power on it.

Also, what kind of database are you running on the back end and what kind of perfomance limitations do you have running your configuration?

"With MMORPGs it''s asking to be looted/killed/whatever.

Unless you want someone to remotely take over for you while you go eat or something so you don''t have to restart at a spawn point, there''s really no reason for it."

As I said before, no matter what, a decent counter example can be shown for just about any configuration. In MMORPG''s, there are also sometimes safe zones. Not all of them, but some of them. And I can see a good reason for allowing people to take over for another player upon login. It is so they know that their character is being used.

If I try to log in, and I''m just not getting in, without an explicit error message to tell me why I''m not getting in, I might not know. Error messages are sometimes vague so that the developers of the game don''t give too much away to hackers. If I try to log in twice and see two different error messages, one says invalid username and the other says invalid password, then I''ve stumbled onto someone''s username. With a bit of research, I can probably find who that person is on the internet. Maybe hack a few lightly guarded web servers the person uses to find a few passwords the person uses, and then go back and log in as the person.

If you log in, but don''t start at a safezone, it should be fairly obvious to you that something isn''t right. I noticed the few times that I played EQ, my game tended to get dropped for apparently no reason. If the legitimate user is playing, and they get dropped for seemingly no reason, they may just think it is a server problem, and not a security problem.

And, the counter example to THAT is that the MMORPG''s should be checking to be sure that only one person is logged in at a time and validate IP addresses. If not, then report it to the admins so they can check it out. As I said, there''s counter examples for everything unless you specifically narrow down the problem domain.


Looking for an honest video game publisher? Visit www.gamethoughts.com
Shameless plug: Game Thoughts
Ultimate server design:

16 Itaniums (fastest speed) (it''s possible)
4Gigs of RAM on each motherboard
100 Petabyte hard drive (made up of linked hard-drives)
T3
"I''m sure that you have it optimized so that if nobody is anywhere near an NPC so it doesn''t require interaction, then it won''t waste processing power on it."

if you have the power to run all of the ai characters all the time, then why not? It makes it much more realistic for the ai to do something while players are gone. unless of course the ai characters do nothing but stand around or fight in their entire life. but i think modern hardware supports more realistic ai now. maybe im wrong.
quote:
KalvinB said:
It''s usually best to log out and log back in if you need to log on somewhere else when playing MMOs. With MUDs you tend to be safe just leaving yourself logged in for long periods of time depending on what type of MUD it is and what room you''re in. With MMORPGs it''s asking to be looted/killed/whatever.



The muds I played on, your character would most assuredly die unless in a safe place, like town. The same holds true to every MMOG I''ve played. Leaving a character standing someplace idle isn''t a good idea anyways. But again, it is a cool feature, and it is most likely a security concern that prevents allowing usurps in MMOGs. It''s probably better to refuse the login, and report the failure on the server logs, as well as to the client. Pay to play games are held to a higher standard of security. It''s not worth the risk. Again, my opinion, I''m sure there are other valid ways to do it.

quote:
from some anonymous poster...
Ultimate server design:

16 Itaniums (fastest speed) (it''s possible)
4Gigs of RAM on each motherboard
100 Petabyte hard drive (made up of linked hard-drives)
T3


A T3? heh. How about multiple OC12''s. Then you''re talking.

This topic is closed to new replies.

Advertisement