
Game Admin Client Proposal
The utility of an Admin Client is threefold:
1. Having a content-creation interface will streamline development of content.
2. Demonstrates the effective functionality of our project subsystems (interaction
server, management server, interactions repository, authentication and
communications module, etc.).
3. Since the Player client’s abilities/features is a subset of the Admin’s
abilities/features our Player client can be proved to function properly if the Admin
client can as most client-end/communications obstacles (not all, but most) will
have been encountered during the creation of the Admin client.
To that end, an Admin Client needs to have the following features above and beyond the
normal client. A quick discussion of these will follow the list.
The Admin Client requires the ability to add, remove or modify any of the following:
oGame Items
oThe Game World’s geography/concept of location
oQuests
oGame Events
oServer-triggered/-scripted Interactions (i.e. night/day/natural disasters).
oFactions
Adding Game Items
-Simple .dll sent to server, which becomes a template in the item template
database.
Removing Game Items
-Remove specific references of the item from any inventories or game locations.
-Remove the template from the item template list.
Modifying Game Items
-Implementation concern:
Altering a game item template could automatically cause all the items to update
all instances, but there could be an issue with remaining field values in the
database (aka removing old ones) and providing all clients with the updated
template as soon as possible.
Location/Spatial Add/Remove/Modify
-Implementation concern:
For ease of implementing this, it could be best to all items, users or not, within a
given (x,y) to (x,y) area. Having a mass admin_move_all_within implies a
necessary admin_move_item sort of functionality. Thus from here we derive
additional, but useful, features. However, since location is merely an attribute,
this would not be hard to accomplish given the ability to make a specific
admin_modify_item for the purpose.