PDA

View Full Version : EQEmu Bots question...


Draugr
01-27-2008, 03:10 PM
Hi All.

I used to visit these forums a lot and I played on a few of the emulated servers years ago. Today, I was curious to see how the project is going and I'm glad to see it still being developed and plenty of people still playing. :)

I just noticed that EQEmu now supports bots. This is great because for players like myself who liked to run their own PEQ DB LAN servers, the addition of bots makes playing EQ a bit more ballanced. I did read through the bot posts on these forums, but I had an idea and was curious to see if the bots were just there to assist a player in a party/group, or are they possibly fully independent NPC players that can go about their own business emulating a real life player.

Can anyone tell me whether the bots are just simple group assistants for a real life player, or are they also able to be used as individual players in the world that have an extremely advanced AI where they emulate almost all the things a real player would do.

While reading about the bots, I had the following thoughts come to mind.

"If these bots are or can be actual independent NPC players that emulate real players, it might be neat to have some spawn at all the starting locations and then let the server just run for a week or more. Then login with your GM character and go about trying to track down the bots and see what they have done, or accomplished over the past week. How much wealth and loot have they gathered, what level have they obtained. Did they complete any important quests, how far have they ventured from their start location, ect...

I know that making lifelike bots even at a basic level has got to be difficult, but I could just imagine the fun one might have running a server with fully independent bots that can do all or most of what a real player would do. Is there any bots like this in EQEmu, or are there any plans by anyone to try and attempt this?

When I say independent bots, I mean bots that can...

1. Adventure alone or in groups with/without other bots or real life players.
2. Travel about the world solving quests. Zoning, etc...
3. Gathering loot.
4. Gaining Levels.
5. Buying and selling items.
6. Going to the Bank to store items, or deposit/withdraw gold as needed.
7. Casting and learning spells.
8. Group with others, or deny grouping with certain others depending on each bots race/alignment, level etc...
9. Grouping with actual real life players
10. Accepting and completing quests.
11. Binding at bind points if they travel far enough from their current bind point and then begin exploring their new locales.

Ok, now I know that creating the AI for such a bot is probably very difficult and probably requires lots and lots of coding and time. Not to mention a person, or persons with great logic and AI skills. I just wanted to ask about this because it could add some great features to running a large or small real player server. If this is not something that is possible yet, has there been any thoughts on this type of project and if so, is there anyone working on such a project?

Sorry, for the long message, but the thoughts of being able to create these type of bots in game and just let them run free is kind of interesting to me. Might add a totally new aspect to running a server. Think a EQ life simulation, or EQ SIMS! LOL!!!

Thanks,
John

narcberry
01-28-2008, 03:48 AM
They are there to make single players able to play with a group or even a raid. The idea of making them advanced in ai and pc-like is a huge undertaking. I don't see the benefit of doing it that way either, now your server has to work 20 times harder so you can play by yourself, but see more people in a /who.

kickerx
02-02-2008, 06:12 PM
You read my mind Draugr, I too wish that were possible. Unfortunetly not many ppl seem to care about this sort of thing as we do. They complain of how much memory would be required, how it would slow down the gameplay, or they just simply don't get it. Personally I don't think it would slow down the game anymore than joining a server with say 50 real life players in any givin zone or zones. The only real problem I forsee is someone anyone being smart enough to pull it off. One person can't do it alone it would take the work of many for such an undertaking. If it ever does come about you can bet I'll be proud to download, install and praise the creators for all their hard work. Now for my #bot command idea's for said project.

#bot talk // Allows the bot's to talk to one another in chat via botchat.txt default is on

#bot who // Show's all bot's in current zone

#bot whoall // Show's all bot's on server, their current location, and level

Those are just a few examples but doubt anyone will every bother though it would really be cool if they took some initative. I am a begginer coder who just can't seem to grasp what makes a game well ..... a game. I can however, make up commands come up with idea's etc. etc. A great man once said great men do not while lesser men strive.

Thanks sorry for length

Mrwalsh
02-03-2008, 09:56 PM
Actually, I think this is a pretty cool idea. Supremely complicated, yes...but cool in its own way. I would use it if someone wrote it, that's for sure.

Theeper
02-04-2008, 09:06 AM
Something like this would be much more resource intensive since the server has to do a lot of the work that the clients normally do. It might be less network intensive, but it would certainly cost more memory and CPU on the server itself.

I am not sure I can understand what fun it would be to have bots playing when I'm not online though. I guess I am one of the ones that "doesn't get it".

Why not just write a script to tweak your DB as if a bot was actually playing. I mean, you're offline anyway. If all you care about is the results, you don't need to actually make the server to do anything, since your bot won't have any visible impact anyway. You could look at your DB and see that the bot earned 5,000 plat over the night and gained 5 levels of XP.

ChaosSlayer
02-04-2008, 01:20 PM
think about it: a whole server of BOTs who play by themselves, make groups, form guilds, actively camp named mobs for items, improve their gear... Have guild wars over named spawns and cockblocking each other....

And all you have to do it sit back and watch.. well and play god ocasinaly =)

GeorgeS
02-05-2008, 03:48 PM
Actually very doable. I have something like this (except no player characters/bots) going on in my test server. What I have is many NPC's roaming around randomly via a special perl script. This way I never know what to expect when I zone in. Sometimes the perl script will make them come after me whenever, and I have to run like hell to zoneline. Pretty wild actually.

GeorgeS

Shaidar21
02-05-2008, 04:12 PM
George I am curious... How many added NPC's do you have in this zone, and what kind of CPU utilization do you see? I really really might take up AI development as a hobby if this does not hog to many resources.

Mrwalsh
02-05-2008, 05:08 PM
George I am curious... How many added NPC's do you have in this zone, and what kind of CPU utilization do you see? I really really might take up AI development as a hobby if this does not hog to many resources.

If you decide to undertake this, please let me know; I would be happy to test and/or help in any way that I can. I would love to see how a server of bots would progress over time.

Hell, start with one bot that will do things on its own. That would be interesting enough.

Theeper
02-06-2008, 04:23 AM
The OP was talking about PC bots, not quest NPCs.

I like the idea of having quest NPC's be able to level and do seemingly random things like run around and kill stuff and get loot etc. Of course it couldn't be random since it would need grids to path on and static zones. I don't know of a good way to emulate an NPC zoning with just a quest script though.

rogue50
02-14-2008, 06:20 AM
check out http://progressquest.com/info.php its an rpggame based on eq that plays itself - the races and classes are quite funny - the mobs' names are pretty wild

Kambic
02-15-2008, 12:37 PM
I don't *think* MQ is a sore subject on the boards - if so, please delete.

I like this idea, but I'd like to know if this would be possible to do without third party software, like MQ (I'd think using a plugin, not an actual macro), to allow the bots to be PC's rather than NPC's running around on there own. Does the code exist to let this work within EQEmu? I never got into the plugins much, not being a sufficient coder, but I did do some extensive macro'ing. I don't think setting something up for bots using MQ would be difficult in the least, mearly time consuming, and mostly because of the time needed to tweak the system.

This post probably is confusing; I've been sick for a few days and just can't get my thoughts onto the screen =/

Theeper
02-25-2008, 04:03 AM
You could do it with MQ. Macros and Plugins have the same functionality basically. It's just that plugins are compiled and macros are interpreted at run time. You wouldn't need anything other than multiple accounts.

I am sure you could make a macro to send commands to your NPC bots, whether they are Magoth's NPC bots, or PC toons. I think it would take extensive coding to make PC bots that didn't require an EQ client though.

Kambic
02-25-2008, 12:43 PM
There would be a lot of obstacles to overcome, which could be in time, but I think what will be the worst will be getting your bot to move around. There really is no "logic" you could program your bot to move around with (that I know of), without making everything coordinate based. Using MQ with a few plugins could get you to a mob making a be line, and make sure you are facing it, but the problems really arise when you have to be moving to particular places. It's not impossible, there is some really good stuff that has been written for maxing out trade skills, and you could probably begin look at what has been there to see what is feasible.

Iobn
03-13-2008, 02:53 PM
This is a very interesting idea, I've been working with MQ on and off and have my toons on live so they can do some basic playing.

I wanted to combine that with EQEmu and see if I can't create a script that would take a character from creation to level 50.

I would like to create a domain specific language that could be used to define a new toons aspirations.

So you'd use the DSL to define what your toon wants out of life, and perhaps some attitude or factions of their personality, then turn them loose.

But I know what a HUGE task what I described is, so here is to small steps...

* Get my EQEmu Server up and running
* Get a version of MQ that works with the Titanium Client
* Get my toon and a basic macro that can level from 1 to 3 in start zone
* Abstract why or what the toon is hunting and to what end
* Start to define simple aspiration language

Caden
08-04-2008, 05:15 AM
I am very curious about this too, I actually design AI myself but only in terms of conversation intelligence, you can find my pet project at www.jeeney.com.


Actually, if some of the Devs are willing to work with me I can probably create a link between Jeeney (my bot) and EqEmu. To start with it would be just the conversation end of things, as language in itself is difficult enough without adding a whole lot more.

If possible, I would set up a bot that sits in the plane of knowledge to handle some of the basic GM duties, answering questions, helping people etc. I could even make it open ended so that the Emu comunity can all pitch in and train it up. It would be like having a BotWiki in game. =P

Anybody interested can email me at caden3k18@yahoo.com

trevius
08-04-2008, 05:21 AM
Am I wrong, or could that all just be done via quest scripts?

Caden
08-04-2008, 07:08 AM
Sure, if you have thousands of people putting in the info, otherwise you either need to have an advanced software program or a lot of time on your hands. I'm talking about a General AI though for any topic, not EQ specificly, but 'specialized' for eq. =)

I've only worked on Jeeney off an on for about a year and a half. She's not perfect by any means, but shes coming along at a fairly quick rate, the concept of mixing her existing capabilities into an EQ based wiki would be interesting to see if it panned out.

It wouldn't be all that hard to set up, might take a couple days under optimal conditions, (experienced devs working together) a week or two tops.

Nytewind
10-27-2008, 02:07 PM
Here I go bumping a post that hasn't been touched in two months, but anyways I found this post by a Google search, go figure.

Being able to create an AI script so bots could go about normal game play in EQ is completely 100% interesting. Like said in posts above getting them to level, group, loot, quest etc would be a huge task and fun to watch in my opinion.

There are a few things that someone would scoff at me or agree, but we played EQ going from zone to zone following the exp and grouping/raiding for loot. Each item in the game has an id number, so isn't there a way to be able to put some sort of a value on each item? The bots would know they would want to go adventure and of course better themselves, so the AI would need to figure out to how accomplish that. They would need to figure out the risk vs reward in terms of where they go. We wouldn't want them to make a bee line straight for Naggy at level one.

Also, going along with what I mentioned above someone said they would have to figure out pathing for the bots. Fair enough, that might get a bit extreme since there is so much open space. Again if the bots were able to see the value of an item, or know what to look for while doing a quest, or looking for exp another script/DB would need to be created. All of the zones are connect in some sort of way. Lets say a bot is in Qeynos Hills and for example purposes is zone 5, but he needs to get to East Commons which is labeled zone 8. The DB would calculate the bots current X/Y/Z location in it's current zone then figure the path going through zones 6 and 7 to get to zone 8. There could be some sort of random feature which would determine if the bot is looking to get there asap or time isn't an issue and it still continues on the path from point A to point B, but will fight mobs along the way.

I know, it's easy to say, but hard to near impossible to do right? Would be great to see though. 8-)

Furinex
11-25-2008, 01:31 PM
I wasn't sure if I should have started my own topic for this or post in this one, but I'm going to stick with this topic since it seems to be very constructive. This is basically on the same lines as what people were thinking with bots roaming around and doing all the PC like things (Which is a really cool idea I think) but not so extreme. I'm sorry to reference another game/emulator, and in my defense... I don't even like WoW... but The auction system in wow is a pretty handy tool. Not only did the Emulator use the current in place auction system and mod it so random items showed up on the Auction house every so often to provide a way for people to purchase wares without the need for people to actually post the items... but it was also ever changing. I was curious. Is that something we might be able to do with bots and the bazaar? Like use Bots instead of traders and have them post random loot on their person based on either the current economy and or a preset curve. Just an idea... any thoughts?

Kobaz
11-25-2008, 02:42 PM
I think that getting bot behaviour that is sufficiently PC-like to be surprising and not just annoying would be very hard. Many years ago I used to work simulating ecosystems using GACAs and I think that truly independent behaviour as described by Drauglir would be a massive undertaking. Think of Creatures crossed with EQ.

I do like the idea of limited behaviour for more dynamic quests or the Bazaar though - that seems feasible and fun.

Magoth78
11-28-2008, 03:13 PM
Interesting idea.

Davood
11-28-2008, 03:14 PM
a while ago I tossed an idea like this around myself... instead i took the easy way out and slapped down 100ish npcs in POK with about ~11,000 lines of random text each they spew to /shout

it makes it feel like live but only in pok haha....

Davood
11-28-2008, 03:20 PM
eventually I plan to do some more insiduous things like the afortmentioned posters who wanted npcs fighting each other.. and..sending..tells..to..players.. just to mess with them perhaps..???

/evil grin

Davood
11-28-2008, 03:23 PM
anyone remember "Alice" the chat program from the commodore 64 era.. well it's been re-written and ported so many times. i was thinking of putting it into eq for bots

Kobaz
11-29-2008, 04:24 PM
I remember playing with Doctor Alice on a DecSystem 20 in 1979. I think it was old then. You youngsters and your new-fangled Commodores....

Richardo
12-03-2008, 02:16 PM
I could see this working like the following.


Every zone could have several several grids that would have level ranges per grid. For example, there would be a grid that would patrol throughout Crushbone for levels 1 - 5 in the entrance. Then, another grid in Crushbone that the bot would switch to once they've leveled beyond 5 specifically set for his level. Once he's maxed out for that zone, he'd move on to another zone.

You're looking at a crap load of work.... :p You'd have to maybe add new fields in the grids table that specified level range - minlvl - maxlvl - for bots. This way, bots could reason which grid to jump on.

Basically, to my knowledge you want a way to make a bot community... Yeah, you're looking at a major project. But it is possible.. :)

anyone remember "Alice" the chat program from the commodore 64 era.. well it's been re-written and ported so many times. i was thinking of putting it into eq for bots

It's funny that you mentioned that. Back in Dark Horizons, we ported the Alice bot onto one of our NPCs. God, I wish I had a backu p of the quests we had for DH. I lost it all. :(

Yeormom
12-03-2008, 10:17 PM
You can also implement roaming bots without writing new grids using advanced perl scripting, as it has been done on a server or two.