itch.io is community of indie game creators and players

Devlogs

SPIKE REPORT, Week 2-3

Questing Simulator
A downloadable game for Windows


SPIKE TITLE - Quest System Setup

Context

Setting Up a Basic Quest System Which can later be build upon for a Modernised Dungeon Seige Experience

Goals

  1. Learning and Understanding the Basics of a Quest System
  2. We need to aslo know who to create a basic Quest System in Unity
  3. Working to find a solution a simplisistic Minimum Requirement Quest System

Personnel

In this section, list the primary author of the spike report, as well as any personnel who assisted in completing the work.

  • Primary - Alexander Schiemann
  • Secondary - N/A

Technologies, Tools, and Resources used

Provide resource information for team members who wish to learn additional information from this spike.

Tasks Undertaken

  1. Create a git respritory via Bitbucket (For my self) and A SGD300 Game Folger
  2. Clone respritory through SourceTree
  3. Download Unity Version 2018.3.6f1
    1. Open Unity Launcher
    2. Launch Engine
    3. Set up Folders and Script Names
    4. Add Comments and Discription For My the Thoughts of What I am Scripting
  4. Create a new file called .gitignore and populate it with the contense of the template
  5. Refamiliarise myself with the C# coding language and coding notation
  6. Follw these basic tutorials that help you get a basic understanding of how c# projects operate work and follow the right commentation
  7. Research the Minimum Requirements need for a functional quest system
  8. Created Quest script that intergrates a varitey of quest elemens from quest name, description, hint and exoerience, gold and item rewards
  9. Created A Completion functuon and evaluation function using a quest goal script to check when a quest goal is meet and thus a quest is Completed
  10. Wrote a code for when quest is completed is the quest is comoleted player recieves Quest Gold Reward and Item Reward
  11. Created basic scripts for a kill quest using the a quests basic elements including the description, current amount and required amount and quest completed as well as the newly added enemy id the description lets the play know what he's killing while the required amount and current amount act as ints checking how many monsters need to be killed and how many have been killed and can also be reused when creating the collection quest and location quest with slight changes needed.
  12. When Enemy is then killed of the required enemy type recognised by its enemey id increase current amount and evaluate the quests progression essential a check quest progress code.
  13. Next I created a collection quest however it uses an ItemId instead since the goal of the quest is to collect something rather than to kill and it searches the item list.
  14. However since the enemy id/AI and Item list haven't been Implement or unknown to me as to what title they go under the code sections for the actuall kill and collection Conditions Are using placeholders.
  15. I then created a Location quest its i used a similar procress how ever the condition to complete it are that the player reaches a specified target location which will get its on Id or corodinate.
  16. The location quest rather than using the evaluate function directly uses the quest completed function and makes the players quest complete when the player is at the target location.
  17. I then created 3 scripts for the 3 type of quests with each contain the quest details including info such as quest name and description and rewards such as Items, Experience and gold and objectives the goals for the actual quests.
  18. These spaces can be addeded and adjusted to create many custom quests.

What we found out

How to create a Basic Quest System through a varity of methods including but not limited to UI, Basic Strings and Functions, Quest Goal Set Up, by creating a quest manager and individual elements for each quest and how they are implemented including quest types of the killing, collecting and moving to varity. How to develop chain quests, quest nodes and quest Dialogue. Also how to set a quest scenario/scene. How Quest Status works Acitve/Inprogress, Inactive/NotAccept and Completed Quest also Machine, Resource, Condiation and Action Statuses. There was also a covering of information on how to implement quest reward from exp, gold and iteam (need to drawn from Item sheet). Picking up items was also covered as a sub category.

Creating Pickup

Primary Resource for creating a pickup can be found here: #19.0 Unity RPG Tutorial - Quest UI Unity 5 - How to Make Simple Quests Make An RPG 2016 Ep 1 : Quest System Unity, C#

Creating A Quest Manager

Primary Resource for creating a quest manager can be found here: Unity - Quest System Pro - Getting started

Creating A Chain Quest

Primary Resource for creating a quest chain can be found here: Make An RPG 2016 Ep 2 : Quest System Unity, C#

Creating A Location Quest

Primary Resource for creating a quest manager can be found here: Make An RPG 2016 Ep 1 : Quest System Unity, C#

Creating A Kill Quest

Primary Resource for creating a kill questcan be found here: Kill Quest | Making a Simple RPG - Unity 2017

Creating A Quest UI

Primary Resource for creating a quest UI and a quest using UI can be found here: #19.0 Unity RPG Tutorial - Quest UI Unity - Quest System Pro - Getting started

Learnig About Quest Development Challenges

Primary Resource for creating a quest UI and its development challenges can be found her: The quest for the custom quest system

Open Issues/Risks

One has to be increadibly careful with their syntax and order of code otherwise the code will easily break

Recommendations

My Recommendation is to go through all tutorials above and the ue4 project file and always make sure to use debug to test your code

Download Questing Simulator
Leave a comment