Project Overview

PSAI is a project that aims to use the PlaneShift MMORPG as a basis for developing AI agents capable of playing alongside normal users. 

The AI agents are not meant to be bots, and once running a human would not have any real control over the AI agent (although I would like to be able to implement a question/suggestion system to allow a person to guide an agent if it was needed).

The whole system aims to provide a mechanism for an agent to masquerade as a PlaneShift client. The 'fake' client uses the message redirector to send messages sent to the client by the server as xml to the agent itself which then sends xml messages back to the  'fake' client via the message injector which are then sent back, as normal PlaneShift messages, to the server. This separation allows any changes in the PlaneShift codebase to be isolated from the agent development, which can proceed without the full redirector/injector framework working. All that is required for an agent is to be able to understand the xml messages sent from the redirector and to be able to send messages in the format required by the injector.

The main codebase is in a number of different components:
  • A Message Redirector
    • This converts the PlaneShift server messages into xml and sends them to the agent.
    • Code: http://bitbucket.org/randomcoding/psai-redirector
  • A Message Injector
    • This converts xml messages sent by the agent into PlaneShift messages and sends them to the PlaneShift server.
    • Code: http://bitbucket.org/randomcoding/psai-injector
  • More to be added as they are created ... 

Why use PlaneShift?

I chose the PlaneShift world for two main reasons:
  1. It is already a very large world with great complexity and variance, and as it is roleplay focused it is feasible to do things by saying you are doing them.
  2. It is open source and I am able to run my own client and server as well as connect to the public server.
Subpages (2): Project Setup Source Code