For this whole engine to work, it needs to be modular, in that other plugins are built specifically to extend the engine by adding more RPG elements. A text based game is very simple in it’s overall design:
- Each user is a player
- Each player has some sort of stata for health, experience, and levels.
- Players are against eachother or against computer created “bots” to attack for some incentive
- All else is just added on to that base idea.
WordPressRPG adds just the basic functions of stats, and other plugins, built to know that these stats exists, expand and add such elements like attack. The glory of this project is it’s already powered by WordPress, which means most of the security and performance relies on the success of WordPress, which in itself, is pretty reliable. As WordPress Updates, almost all security patches will be amended, and the plugin will just need to amend any API changes. This is a huge plus over using other engines like those found on sites like MakeWebGames.com where developers have their own propitary system that allows for modules. The system itself is updated by only a small team, is bug checked by it’s small communities, and potentially has hundreds of holes laying dorment.
Some other areas for concern during development, We need to make sure to utilize as much of the WP API as possible, and when needed as a last resort, add little hacks and mods to make things work. Currently for instance, we’re using our own userMeta table instead of the WP_usermeta. This adds pollution to the db, though it is cleaner, IMO, than WP_usermeta’s 1 row per meta information. Hooks (or Actions/Filters) also need to be taken into consideration to allow for different things to be extended. One example of this would be when I created the list_players functions, it was going to add in the attack button. But the Attack function needs/became a separate plugin. We need a way to create our functions so that they can be extended when need be. That way shortcodes don’t always need to change every new plugin.