Main Menu

Site Home Page

Glossary of Terms

Current Class Mod Package

Divider

Help! My mod is corrupted!

Divider

Week of June 15th, 2009

Topics:

  • Getting Help
    • The "Assistance" windows
    • The Lexicon
    • The Forums
  • Variables
    • Type-casting and the types
    • Conventions
    • Constants
  • Who Dun' It?
    • Who Spoke?
    • Who Used the Placeable?
    • Who Activated the Item?
    • Who Crossed the Trigger? Who Entered the Area?
    • Was it a Player? a DM?
  • Creating Objects
    • Preparing the Object
      • The Resref
      • The Object Type
    • At a Waypoint
      • Find the Waypoint
      • Find the Location
    • Where the player is
      • Find the Location
    • Create the Object
      • Deciding on a Tag
      • Spawning in the Object
      • Doing Things to the Object after Creation
  • Tracking Variables
    • Local Variables
    • Persistent Variables
  • Some Useful Scripts
    • Making Changes to the Avatar When It Enters the Game
    • Fiddling with the Avatar's Inventory
    • Destroying the Inventory Items
    • Destroying "Non-Destroyable" Items
    • Taking Gold From the Player
    • Giving Gold To the Player
    • Giving General Inventory Items to the Player
    • Giving Equipable Items and Forcing an Equip Action
    • Random Walk

Homework: Dungeon and Quest

Divider

Week of June 7th, 2009

Topics:

  • Items
    • Properties
    • Building your own items
    • How to make an item have a conversation.
  • Creatures
    • Properties
    • Building your own
  • Triggers
    • Choosing the right one
    • Drawing a trigger
    • Trigger Properties
    • Trigger Events and Scripting Preview
    • Examples of Trigger Use
  • Waypoints
    • Waypoint Properties
    • Waypoint Directions
    • Uses for Waypoints
    • Scripting Preview
    • How to Set Up a Patrol Route
  • Conversations
    • How they're used
    • The basic tree.
    • Branching
    • Links (or "Loop backs")
    • Tokens: Built-in and Custom
    • Colorizing the Text
    • Including Other Speakers
    • "Actions Taken" and other events
    • Conditional Nodes
  • The Journal
    • Categories
    • Entries
    • Updating the Journal through Conversations
    • Updating the Journal through Scripting
  • How to Test Your Mod
    • The Build Module Option.
    • The Real Way
    • The Test Module Option

Homework:


Divider

Week of June 1st, 2009

Topics:

  • Areas
    • Area Properties
    • Module Properties
  • Tiles
    • Tile Properties
  • Names
    • Blueprint / Resref
    • Tag
    • Display Name
  • Doors
    • Door Properties
    • Transitions between doors
    • How to make a door close itself
    • How to have a transition without a door
  • Placeables
    • Placeable properties
    • Spawning placeables.
    • How to stack placeables
    • How to have a placeable hold a conversation

Homework:

Divider

May 27, 2009

Topics

Homework

 

 

GAME CONCEPT AND DESIGN
COSC 320.101_SU09
SUMMER 2009


The Journal

The journal is one of the ways that players track their progress in a quest, and one of the ways you can help prod them along the proper path. In the interest of full-discloser, I've never actually played with the journal, but I've read a great deal about it in the last few days!

From the main editing window, select Tools > Journal Editor. A window opens that looks a lot like the conversation editor. However, whereas conversations were a one-conversation-at-a-time affair, the Journal is a module-wide beast. It's the entire journal with (I guess) every possible entry. So let's see what we've got.

Just like a conversation, click the Add button. You'll see Category000 appear. Each Category is a quest. So your "Find the Dog" quest might be Category000 and the "Save the Princess" is Category001.

Down below, you see a number of fields that you can enter information into:

Name: Is the name of the quest as it appears in his journal.

Tag: The tag of the quest. This is used when you want to update the status of the journal through scripting. Be aware that in all other windows, tags are forced into lower-case, but here they are not. Force yourself to be consistent and type the quest tag in lowercase with no spaces!

Priority: Players have the option to organize their journal in either the order the quests were assigned or their importance to the game. If order to allow them to organize by importance, you have to set the quest's priority here.

XP: This is how many experience points the player gets for completing the quest. However, it is not automatically awarded to them. Instead, this value is just "stored" in the journal and when it comes time to award it, you use the command GetJournalQuestExperience(<quest tag>) to find out how much experience should be awarded, then use GiveXPToCreature( ) to give that much experience to the player.

Comments: A big area for your comments.

Once you've set up the quest Category, it's now time to set up all the entries. Remember a quest can have multiple steps, and this is how you help your player keep track.

Add a line beneath the Category and you'll see [0001] - Entry001

Down below, you'll see:

ID: The step number of the quest. When you initialize the quest, for instance, you'd set that quest's tag's ID to 1.

Text: This is what the player reads when they examine the quest when the quest is at this stage.

Finish Category: If this ID entry is the last step in the quest, check this box and it will cause the quest to be moved to the Completed Quests section of the Journal. It's worth noting here that--like a conversation tree--you could have multiple possible endings (just use scripting to "skip over" ID numbers). With multiple endings, the final ending for each branch could have a Finish Category check mark. This is handy when you want the quest to end but have the text to display the varying results.

In other words, suppose they're supposed to save the prince (equal opportunity) and bring back both him and the harp. When the quest is over, they might have:

  • Brought back the prince, but no harp. So you jump to ID 7, mark it as finished and say, "You saved the prince but didn't recover the harp."
  • Brought back the harp, but no prince. So you jump to ID 8, mark it as finished, and say, "The harp has been recovered, but the prince is dead."
  • Brought back both. So you jump to ID 9, mark it as finished, and say, "Having rescued both the prince and the harp, you're a hero to the kingdom."

Updating the Journal through Conversations

Updating the journal through the conversation editor is must like playing an animation or sound effect.

  1. Click the conversation node where you want the update to take place.
  2. Click the Other Actions tab.
  3. Under Journal, click the drop down box and select the Category / Quest Name you wish to update.
  4. Then in the dropdown box below that, choose the step ID number that you want to jump to.
  5. Done!

Updating the Journal through Scripting

Well, you decide when the journal should be updated (when the monster is killed? when an item is picked up?) and find the appropriate event and script. Then use the command AddJournalQuestEntry( ). The command takes a few more parameters...and we'll talk about that later...but there it is!