Programming ura dbinterface

From Trinity Reign Wiki

Jump to: navigation, search

Trinity Reign Database Interfacing Vision Document

Summary: With several people working on Trinity Reign concurrently, there is a need for server-database interfacing functionality to be implemented independently of any knowledge of server architecture. For this reason, I believe the best approach is to write the interfacing code into a separate library, which can later be implemented into the server without time being of the essence. Furthermore, with the game database being unfinished, it's likely that changes will be made; therefore, it will be necessary for the interface code to be easily reshaped.

Goals: The ultimate goal of this project is to write a clean, scalable solution to easily read and write the necessary data to and from the database in an efficient manner.

Contractual Arrangements: As code to interface between the server and database is necessary, providing a carefully planned out set of classes will ease this as much as possible; and there is no better time as the server is currently being rebuilt from the ground up.

Stakeholders: While no end users will actually be able to directly interface with the database, they will be interfacing with the server, which will then act as a liaison between the client and database. I would tend to consider another stakeholder here to be the server, as it will be a user of the interface classes. Additionally, developers will be stakeholders as they will have additional access provided in a similar way that it's provided to the end users.

Key Features: While still in development and likely to grow, the key features as the exist today are Character and NPC access (mainly used to provide information to clients), which includes Orientation, Position, Inventory, Race, Skills, Stats, Guild, Textures, Mesh, Sounds, Quests, Animations, and Factions; Account access, which includes ban information, passwords, user names, character lists, etc; Miscellaneous data such as MOTD (message of the day) and GM ticket information (?); GM command lists; and chat functionality such as buddy lists and temporary chat logs (for GM reviewing).

Constraints: The ideal time frame for the database interface code is one month. An emphasis will be placed on modularity as well as a clean and simple interface so that connection between server and database can be easily implemented.

Appendix: The following are the actors that directly support this vision. Server

The following are the use cases that directly support this vision. NPC Character Account Server GM Commands Chat

Image:dbinterfaceclassdiagram.png


Image:dbinterfaceusecasediagram.png

Personal tools
3D art
communication