Package marauroa.server.game.rp
package marauroa.server.game.rp
This is possibly the most complex part of all the middleware that makes up Arianne.
Role Playing Design is the determining factor on how easy is to create a new game for Arianne.
Role Playing Design is the determining factor on how easy is to create a new game for Arianne.
We had to choose easing the creation of turn time limited based games. Arianne will work better with this kind of games (also known as realtime games).
Role Playing Design tries to be generic and game agnostic (independant of the game being made). The very basic idea behind RPManager is:
forever { Execute Actions Send Perceptions Wait for next turn }To achieve this we use several classes:
- RPManager is coded in Marauroa and doesn't need to be modified.
- IRPRuleProcessor is the interface that you need to modify in order to personalize the actions that your game will execute.
- RPWorld is the class that you need to extend in order to implement the onInit and onFinish methods which personalize what happens when you initialise the server and what happens when you close the server.
- IRPZone is an interface that you could implement if you wanted to achive the highest personalization possible of the engine, however, I would extend MarauroaRPZone
-
InterfaceDescriptionInterface for the class that is in charge of executing actions.
-
ClassDescriptionA interface which assists in debugging a server.a gameEvent for loggingDefault implementation of
IRPZone
.This class is a factory to convert RPObjects into real objects for your game.a default implementation of RPRuleProcessorImplThis class represents a scheduler to deliver action by turns, so every action added to the scheduler is executed on the next turn.This class is responsible for adding actions to scheduler, and to build and sent perceptions.This class is a container of RPZones. -
ExceptionDescriptionThis exception is thrown when the RPObject factory can't be created, usually because is not configured correctly at server.ini