RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

robot client for RunUO.

Dr.Zero

Wanderer
robot client for RunUO.

Hi guys,
I’d like to build a robot client that mimic a PvP situation. In other words, “my dreams” I would like to create an independent program that is able to handle a combat situation with a human. I’m familiar with the UO combat system, C#, and advanced AI techniques but unfortunately I have no idea on how the low level communication is handled.

I found few information by looking at this post:
http://www.runuo.com/forums/learnuo-team/85492-protocol-documentation.html

I believe that you have already created few wrap classes in order to speed-up the serialization/deserialization stuff. I already give a look on the PacketHandlers.cs and Packets.cs classes but probably you use more high level classes that provide a more usable abstraction.

Let me go strict to the point…. I was wondering if you could give me a “guideline” on how to read the code that you are building.
In particular I’m looking for information on:
<how to log into a server>
<how to send a msg to the server>
<how to parse a reply>
<which classes your server-side AI use> //I’d like to have a look on the work that has been already carried out

I’m also interested in any other information, like examples, test classes etc., that you believe that could be useful and you would like to share! :)

Thx in advance for your cooperation
Dr.Zero
 

Dr.Zero

Wanderer
Thx for the suggestion Ravon,
but I’m not looking for build “the ultimate macro for PvP”. My goal is more close to build “the ultimate brain for NPC”. I’m familiar with reinforcement learning, neural network, expert systems and fuzzy logic and I would like to integrate such stuff into an AI of an NPC.

By the way, in order to test my AI, I would like to have a “fear ground". Therefore I would like to create a separate program that have the same possibilities of a Player. Considering that many of the library that I use for the AI techniques are written in C++, C# and Java I believe that I could profit of part of the work that you already did without restart from screech.
In addition, if I succeed in building such AI, I believe that, by working together it could be integrated into the RunUO engine in order to provide a “realySmartBrain” to NPCs.


-Zero

P.S: Probably in a server only 3-4 npc could be equipped with such brain because these techniques are very CPU consuming.
 

jhs59

Sorceror
Dr. Zero,

I've seen EasyUO macros that will pretty much do what you are describing. Fighting, healing, chasing down an opponent.. pretty much do everything it needs to do in a PvP situation and you don't even need to touch the keyboard or mouse.
 

Chase.XNA

Sorceror
I think you should code the AI on the server itself. Creating a simple client like the one you want to, even if its for a good reason is not a good idea because of what some not so nice people would do with it.
 

CEO

Sorceror
I think he's asking on how to go about coding an NPC that'll be like a PvP opponent, though I guess that would then technically be PvM? The current AIs, EAs included are really not capable of such sophistication to be a really viable at PvP, you find their weakness and it's basically just rinse and repeat. Maybe he can take a look at the M5 code an adapt that? ;)
 

CEO

Sorceror
excuse me miss said:
He has quite clearly indicated that he wants a program that can handle UO communication and PvP for him having logged into a server.
Ah.. Well then pointing to EasyUO is the correct solution. :cool:
 

Chase.XNA

Sorceror
I think the idea of a bot used for PvP is a bad idea, but it is really easy to make and if this guy know all that about AI but can't code a simple network what does he really want to do with it.

Also, can EasyUO even get the min/max health and other stats (poisoned, ect.) from other mobiles?
 

CEO

Sorceror
Chase.XNA;741853 said:
I think the idea of a bot used for PvP is a bad idea, but it is really easy to make and if this guy know all that about AI but can't code a simple network what does he really want to do with it.

Also, can EasyUO even get the min/max health and other stats (poisoned, ect.) from other mobiles?
Of course it can, CEOMedic does alot of that stuff. The trouble with writing a bot like that in EasyUO is that for real PVP it's not going to be fast enough or very 'smart' about it either. Nearly every good PVPer uses Hotkeys PERIOD. Anything else is going to be too slow. CEOMedic keeps non-PVP players healed enough to run away before the mouse hand starts shaking(You know I'm right about that too! lol). :)
 
Top