Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.
 Entire forum ➜ MUDs ➜ MUD Design Concepts ➜ New C++ codebase

New C++ codebase

Posting of new messages is disabled at present.

Refresh page


Pages: 1  2 

Posted by Nick Gammon   Australia  (23,122 posts)  Bio   Forum Administrator
Date Reply #15 on Mon 14 Nov 2005 11:33 PM (UTC)
Message
Can the character do an action?

The next thing to consider is the sort of tests you might do, before a character (player or NPC) can carry out an intended action.

When the player attempts an action you will probably need to apply a series of tests to see if the action is possible.

It would be sensible to test things in a logical order. It is not much good telling a player they can't make an omelette because they do not have an egg, if the player has not learnt cooking in the first place.

The things below are intended to give you ideas for the sort of things you might have tests for in your MUD ...




Can this character ever do this?

Is this action available to this character, ever?

eg.


  • Mages can never wear plate armour

  • This quest is not available to your faction

  • Undead cannot learn healing spells



Is the character a high enough level?

Some actions may become available to higher-level characters ...

eg.


  • You cannot enter this zone until you are level 10

  • You cannot learn to swim until you are level 15



Are you a member of an appropriate group?

Some actions may require membership of a group (guild, battle group, administrators)

eg.


  • You cannot enter this room unless you are in the XYZ Guild

  • You cannot enter this zone unless you are in a group



Do you have the required skill?

Some actions may require learning a skill (eg. swimming, mining, cooking). This might be learnt from a trainer, perhaps.

eg.


  • You have not learnt to swim

  • You have not learnt mining



Is your skill level high enough?

Assuming you have learnt a skill, skills may have levels (eg. 1 to 100) and you can only do some things if your level is high enough.

eg.


  • You cannot cook a roast turkey until your skill level is 34

  • You cannot mine gold until your skill level is 80



Do you have the recipe?

Skills may require "recipes" (or plans/instructions) - that is, the knowledge of how to make a particular thing. This might be learnt from a trainer, bought or found.

eg.


  • You do not have the recipe for chocolate cake.

  • You do not have the recipe (plans) for making leather gloves



Do you have the tools/equipment?

Skills may require certain tools. Eg. a skinning knife to skin, a mining pick to mine, a pot to cook in. The tool is not consumed by the action but must be in the character's inventory.

eg.


  • You cannot skin without a skinning knife

  • You cannot cook without a saucepan

  • You need a key to open that door



Is the appropriate item equipped?

Some actions may require that an item is not only carried with you but actually equipped. For example, you would not attack someone with a sword if the sword is in your backpack.

eg.


  • You need a wand equipped to do that

  • You must have a dagger equipped to backstab



Is the equipment working?

Actions that require equipment may need to check if the equipment is working. For instance, a totally broken sword could not be used for combat.

eg.


  • You sword has worn out

  • You fishing pole is broken



Do you have the reagents?

Many actions will consume something (mana, movement points, ingredients for cooking, materials for leatherworking, potions, herbs). You will need to have sufficient ingredients/reagents for the action to be performed.

Once the action has been performed the reagents will be consumed.

eg.


  • You need an egg to make an omelette

  • You need leather to make leather gloves



Are you near a necessary object?

Some actions may require proximity to something. Eg. a cooking fire for cooking, a water source for filling a bottle, a forge for smelting. This item is not something you carry around with you.

In some cases the item may be consumed/taken. For example, if you mine some gold it would not be there after you mined it, or if you open a chest you may receive a quest item.

The objects may only be activated (useable) if you have a particular quest. For example, one character may see a chest but be unable to open it, because it is a quest item for a quest they do not have.

eg.


  • You need a fire to cook

  • You need an anvil for making horse shoes

  • You can only collect mail at a mailbox

  • You cannot mine unless you are near a mineral lode

  • There is no water here to fill your bottle



Are you near a necessary character?

Some actions may require proximity to someone. Eg. a trainer for receiving training, a vendor to purchase something, a quest giver to receive a quest. Also, that character may need to meet certain conditions (eg. same race, same faction, not at war with them, etc.).

eg.


  • You need a cooking trainer to learn cooking

  • You need a vendor to purchase something from

  • You must be near another player to trade with them



Are you in a suitable type of room?

Actions may require a room type (eg. an outdoor room for riding a horse). Or, they may be inhibited by certain room types (eg. cannot make a fire underwater).

eg.


  • You cannot swim here

  • You cannot light a fire in the seas

  • You cannot do that on a boat




Has the cooldown period elapsed?

Some actions may have a cooldown period. Eg. after casting a spell you cannot cast that spell again for 5 minutes.


Do you have the right status?

Actions may require you to be standing, fighting, not fighting, not stunned and so on.

eg.


  • You can only do that when fighting

  • You cannot do that during a fight

  • You must stand up to do that

  • You cannot do that when you are stunned/asleep/silenced


- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Tseris   (98 posts)  Bio
Date Reply #16 on Mon 15 Oct 2007 11:41 PM (UTC)
Message
I own a copy of "Designing Virtual Worlds" by Richard Bartle, and I agree it is one of the most spectacular books on game design out there. Def good stuff if you wanna do _any_ game right.
Top

Posted by Srpeck   (3 posts)  Bio
Date Reply #17 on Wed 25 Jun 2008 05:44 PM (UTC)
Message
Wow.

I wonder if anyone has taken these ideas and put them into code?

Just discovered your Tiny MUD Server and these ideas. I believe I'll try to combine the two...
Top

Posted by Lakedoo23   (9 posts)  Bio
Date Reply #18 on Thu 31 Jan 2013 08:45 PM (UTC)
Message
Wow just found this posting awesome source of information, thanks Nick!
Top

Posted by Zedrackis1   (3 posts)  Bio
Date Reply #19 on Sun 03 Feb 2013 09:39 PM (UTC)
Message
I had to learn C sockets myself about a month ago and I recommend Beej's networking guide as a good source for beginners.

http://beej.us/guide/bgnet/

There is a link mid way down the page to the free pdf version.
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


114,976 views.

This is page 2, subject is 2 pages long:  [Previous page]  1  2 

Posting of new messages is disabled at present.

Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.