UC MUD

From UtterChaos
Jump to: navigation, search

MUDs are a little out of date, but modern coding techniques make it an interesting idea.

World Planning

We need a world to make. Probably (high) fantasy, with different fantasy races and such. Sword and sorcery. Weapons, armor, and magic, etc. Also, the landscape: cities and towns, oceans, plains, mountains, dungeons.

Code Planning

Start very basic, build from there (agile). Need a place to be (rooms) and a person to be (avatar--to become characters). Also need an idea of how to interact with the game, and with other characters. Eventually add in items, combat, etc.

How to picture it

For Players

  1. A player will log in with a single userID, linked to an email address.
  2. From there, they will pick a character, or to make a new character (See Character Creation below)
    • How can the player tell which character they want?
      1. The character will be in a list by character name, level, and a text field the player can fill in
        • Why not by guild, class, etc?
          1. There will be too many options for other fields and we will be updating them. This way we don't have to check to see how it'll appear.
    • How will the list look?
      1. Numbered list of up to 10 at a time, with options to pick a number, see the "next page", make a new characters, or reorder list based on
        • Character name (ASC or DESC)
        • Character level (ASC or DESC)
        • Text field (ASC or DESC)
      2. This allows them to order the characters using the text field so they can have their favorite character on top even if s/he is not first or last alphabetically or by level, as well as a description. Text field limitations will be by database
      3. The ordering they pick will persist until they change it.
      4. Default ordering is ASC character name
    • How many characters can they have?
  3. They pick a character and have three choices: start playing with this character (default), edit the text field, or cancel/go back to character list
    • Where do they start up? Safehouse? Where they last left off?
  4. The character has some way of having equipment persist from the last time they logged in
    • Everything autoloads? Or only things they have "the skill to get for themselves"? Or stuff in a locker? Or some combination?
  5. They can go out and fight, practice skills, learn magic, join guilds, trade items, chat with other players, read in-game books, travel the country, visit houses of ill-repute, check bulletin boards for news, etc.

For Coders

  • All "things" are objects, stored in a database among various tables
  • All "actions" are methods attached to an object, stored in a database among various tables.
  • Updating something requires finding it (search field) and using the interface to update it (no direct table modifications)
  • Adding a new object requires picking out its type and using the interface to insert it.
  • Adding a new action requires both adding it to the database and attaching to an object
  • New code and code modifications must go through review process--have a dev, testing, and production environments.
    • Single dev environment? All coders use the same space? Or individual coder branches?
    • Something one coder is making might want to be available to other coders. But also need to manage duplicates
  • New actions are harder to make/test/release and may require a higher level of coder
  • QA'd things are only put into production at reboot.

Character Creation

  1. Pick a name
  2. Pick a group and race
    • Only basic races are available to first time players
    • Elite races are available it the player has a character that has opened it
  3. Pick stats
    • Point buy. Bases are adjusted by race. Lower and upper limits are hard coded
    • Option to allocate randomly. Will this be a weighted randomizer?
  4. Pick options for character description: gender, skin color, eye color, hair color, height, weight, etc.
    • Sets based on race/subtype
    • Option to choose randomly
  5. Pick background, hometown, etc.
  6. Pick merits and flaws
    • What compensation do you get for picking flaws?
    • Alternative: Pick N traits, each with pluses and minuses
  7. Get option of going through newbie training
  8. Get dumped into game with starting equipment based on race, stats, etc.