Systems
These are the behind-the-scenes features that exist in your game, often without being represented by a specific in-game object.
-
Should your game rules be enforced by coded systems or are you planning for human game masters to run and arbitrate rules?
Answer: Enforced
*What are the actual mechanical game rules? How do you decide if an action succeeds or fails? What "rolls" does the game need to be able to do? Do you base your game off an existing system or make up your own?
https://github.com/evennia/evennia/tree/develop-py3/evennia/contrib/turnbattle -
list itemDoes the flow of time matter in your game - does night and day change? What about seasons? Maybe your magic system is affected by the phase of the moon?
-
list itemDo you want changing, global weather? This might need to operate in tandem over a large number of rooms.
Do you want a game-wide economy or just a simple barter system? Or no formal economy at all?
https://github.com/evennia/evennia/blob/develop-py3/evennia/contrib/barter.py
This implements a full barter system - a way for players to safely
trade items between each other using code rather than simple free-form
talking. The advantage of this is increased buy/sell safety but it
also streamlines the process and makes it faster when doing many
transactions (since goods are automatically exchanged once both
agree).
This system is primarily intended for a barter economy, but can easily
be used in a monetary economy as well -- just let the "goods" on one
side be coin objects (this is more flexible than a simple "buy"
command since you can mix coins and goods in your trade).
In this module, a "barter" is generally referred to as a "trade". -
Should characters be able to send mail to each other in-game?
Should players be able to post on Bulletin boards?
Yes
What is the staff hierarchy in your game? What powers do you want your staff to have?
What should a Builder be able to build and what commands do they need in order to do that?
etc.
Rooms
Consider the most basic room in your game.
Is a simple description enough or should the description be able to change (such as with time, by light conditions, weather or season)?
Should the room have different statuses? Can it have smells, sounds? Can it be affected by dramatic weather, fire or magical effects? If so, how would this affect things in the room? Or are these things something admins/game masters should handle manually?
Can objects be hidden in the room? Can a person hide in the room? How does the room display this?
etc.
Objects
Consider the most basic (non-player-controlled) object in your game.
How numerous are your objects? Do you want large loot-lists or are objects just role playing props created on demand?
https://github.com/evennia/evennia/blob/develop-py3/evennia/contrib/clothing.py
Clothing - Provides a typeclass and commands for wearable clothing,
which is appended to a character's description when worn.
Evennia contribution - Tim Ashley Jenkins 2017
Clothing items, when worn, are added to the character's description
in a list. For example, if wearing the following clothing items:
Does the game use money? If so, is each coin a separate object or do you just store a bank account value?
What about multiple identical objects? Do they form stacks and how are those stacks handled in that case?
- Does an object have weight or volume (so you cannot carry an infinite amount of them)?
https://github.com/evennia/evennia/wiki/Mass-and-weight-for-objects - Can objects be broken? If so, does it have a health value? Is burning it causing the same damage as smashing it? Can it be repaired?
https://github.com/evennia/evennia/blob/develop-py3/evennia/contrib/turnbattle/tb_items.py
tb_items.py - Adds usable items and conditions/status effects, and gives
a lot of examples for each. Items can perform nearly any sort of
function, including healing, adding or curing conditions, or
being used to attack. Conditions affect a fighter's attributes
and options in combat and persist outside of fights, counting
down per turn in combat and in real time outside combat.
Is a weapon a specific type of object or are you supposed to be able to fight with a chair too? Can you fight with a flower or piece of paper as well?
NPCs/mobs are also objects. Should they just stand around or should they have some sort of AI?
Are NPCs/mobs differet entities? How is an Orc different from a Kobold, in code - are they the same object with different names or completely different types of objects, with custom code?
Should there be NPCs giving quests? If so, how would you track quest status and what happens when multiple players try to do the same quest? Do you use instances or some other mechanism?
etc.
Characters
These are the objects controlled directly by Players.
Can players have more than one Character active at a time or are they allowed to multi-play?
How does a Player create their Character? A Character-creation screen? Answering questions? Filling in a form?
Do you want to use classes (like "Thief", "Warrior" etc) or some other system, like Skill-based?
How do you implement different "classes" or "races"? Are they separate types of objects or do you simply load different stats on a basic object depending on what the Player wants?
If a Character can hide in a room, what skill will decide if they are detected?
What skill allows a Character to wield a weapon and hit? Do they need a special skill to wield a chair rather than a sword?
Does a Character need a Strength attribute to tell how much they can carry or which objects they can smash?
What does the skill tree look like? Can a Character gain experience to improve? By killing enemies? Solving quests? By roleplaying?
etc.
A MUD's a lot more involved than you would think and these things hang together in a complex web. It can easily become overwhelming and it's tempting to want all functionality right out of the door. Try to identify the basic things that "make" your game and focus only on them for your first release. Make a list. Keep future expansions in mind but limit yourself.