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 The Superfluous Sand
Leave a comment
Log in with itch.io to leave a comment.