Haku

Multi-player tactical role playing game with a Java server and an Android client

QR-koodi

Multi-player tactical role playing game with a Java server and an Android client

Moninpelattava taktinen roolipeli Java-palvelimella ja Android-asiakkaalla

In computer and console role playing games, the player usually controls one or more characters. The characters usually earn experience by fighting enemies. Experience causes a character's attributes to increase and enables it to learn new abilities. The games also include collecting items, such as weapons or armor. These properties also exist in tactical role playing games, which also include tactical gameplay, such as movement on a larger battlefield. Plot and exploration of the game world are important aspects of role playing games. Plot is also important in tactical role playing games, but they usually include little exploration. They also do not usually include multi-player play. The intent in this thesis was to implement a previously designed game named Mupe Force. It is a tactical role playing game, whose main attribute is multi-player play. To facilitate multi-player properties, communications between client devices are transmitted through a server. In addition, the server saves the data of registered players. Clients do not communicate directly with each other. It was decided in advance that the server software would be implemented with Java, and the client software with Android. It was also decided to use a MySQL database and JDBC for persisting data. The technology for communications between clients and the server was not decided in advance, but chosen based on research during the project. The selected communications technology is Apache MINA, which was used to implement communications both on the server and on the client. The protocol for transmitting messages is TCP, and messages are delivered in JSON format. JSON-RPC is used for requests from a client to the server. Several Java-based implementations of JSON-RPC were researched, and jabsorb was selected for use. It is also used for other handling of JSON messages, because the Java API does not include JSON support. The intent was to use JSON-RPC or a similar protocol to enable calling a client's methods from the server. This was found out to be too complex. The intended use, delivering game events to the client, was implemented with a JSON-based script. A syntax suitable for the game's purposes was designed for the JSON script. Events are encoded into a script on the server, and decoded on the client into animations as well as commands that modify local data.

Tallennettuna: