Hey guys, first time post so I apologize if I do this wrong.
I’ve spent weeks trying to set this up myself, being a novice with Unreal Engine i’m looking for some guidance.
I’m trying to set up an objective system that, upon completion of an objective you will be provided a reward.
However, this is the bit that differentiates it from any tutorial I have managed to find online. I want the objectives to be randomised each time you enter a dungeon. So everytime you enter a mission you will be given 5 objectives at random from a list of, say 100.
My initial thoughts for this would be using data tables, creating an array using the row names and using a random 0 to last index. However, I don’t really know how to approach this as I have no experience with this. Perhaps this is even the wrong approach.
If anybody could give me some guidance, the help would be super appreciated
Hi man,
Just make a custom Event _ Start Mission X. with an input of integer.
Make the Call "Start Mission " Node and plug out the Integer and add a Switch on INT, from here you can branch out all your missions,
To start a random Mission
Get the node : Random Int from range , and use it to call the Start Mission X.
How different are the missions from one another? Do they vary dramatically? The same goes for the rewards. How is it going to work? Each dungeon has a set of missions unique to that dungeon?
Depending on the complexity of the missions, I’d consider using actor components for this. Think of these as chunks of configurable and reusable functionality that can be dynamically added / removed from an actor. Those components can track the progress and define rewards based on external factors.
This way you do not need to do EVERYTHING in a single blueprint as **Est_engine **is suggesting - which may as well very quickly turn into an unmanageable, unmaintainable mess of wires and arrays full of switches and countless variables that are used only once.
Ideally, you’d want to encapsulate behaviour of any given quest / mission and leverage OOP as much as you can.