Internal Look at Creating a Mission System

So I started to create a mission system so I can start adding story elements to the game. Mission data needs to be saved so you don't lose progress when you leave the game. So I started to think of all the things I needed to track for all the various types of missions you can have.

First some of the obvious things:

  • Internal Name - the name in which I'll refer to the mission. Also the section name I'll use in the .ini file
  • NPC - name of the object or person to which this mission is assigned to
  • Started - True or false; is this mission started
  • Completed - True or false; is this mission completed
  • Turned In - True or false; is this mission turned in
  • Unlocked - True or False; Is this mission able to be started

I thought about tracking the Unlocked, Started, Completed, and Turned In data as one variable (0,1,2,3), but it might not read well when I am trying to code it. I still might change this though.

Then I started to think about what details I might need for UI elements and what not. So I added.

  • Mission Name - Player Friendly name
  • Mission Text - Player Friendly mission description
  • Starting Text - Dialog the NPC will display to the player when giving quest. An array of Strings.
  • Completed Text - Dialog the NPC will display to the player after completing the quest. An array of Strings.

Then came the the rewards for completing the quest:

  • Reward Type - Resource/technology/rep. An array of strings.
  • Reward Amount - the amount of reward given. An array of strings.

Other things I thought of:

  • Unlock Others - A list of missions to unlock after the completion of this one. Array of mission names.
  • Mission Type - what kind of missions is it? Fetch/location/talk/kill/etc.
  • Mission Time - so I can have timed missions.
  • Mission Class - Is it a STORY/SIDE/REPEATABLE quest
  • Missions Triggers - I added 3 so I can pass data in; like on a talk quest I need to know what quest I have to accept so I can turn it in; or on a kill mission I need to know what and how many enemies to kill.

So now that I know what data I'll need to track I'll have to decided how I am going to implement them. I guess I'll have to write an update once I figure that out :)

Get Sand: A Superfluous Game

Download NowName your own price

Leave a comment

Log in with to leave a comment.