You must sign in before using shopping cart.Sign In
An Objective is generally an abstract or physical object that Player has to complete for a reward. The Objective Management System(OMS) is an effort to make objective management autonomous and easy to set up in an abstract and object-oriented manner. The OMS is designed to take in Objectives from User as parameters, and then the User is only required to set up logic (rules) of what cause and what happens at completion(events).
In other words, the User connect the dots: by binding an object interaction to completion and doesn't need to be concerned about setting variables to keep track of Objective completion (Which objectives is completed? How many times? Is it meeting the condition of completion for this very specific gameplay?).
The User tell the OMS what are the objectives, and then bind any (Player) interaction to those objectives to completion using OMS functionnalities.
OMS was designed to fit a wide variety of completion setup, and thus OMS's tools takes in parameters:
For example, User can propose the Player several objectives and only be concerned that the Player complete the first 5 before allowing the Player to move towards another section of the game using the 'Ntime' parameter. You can set cross-level waypoints or level-bound collectibles. Perhaps you want the Objectives to be infinitely completable. Perhaps you want Objectives to be completable only sequentially, or not... Et cetera.
Target and usage:
Intermediate users (Level - Gameplay Designers). OMS is aiming at OpenWorld SandBox games, but can be used for "smaller" games. I expect C++ Users to use this source code as time-saver / template to write upon, even though that might be conflicting with new code addition from my part to this project
Number of C++ Classes: 3 AActors-derived classes. 1 Interface. Four UActorComponent-derived classes. Some other enum classes used by those precedently listed classes.
Network Replicated: No(t yet)
Supported Development Platforms: Win64.
Supported Target Build Platforms: Win64.
Resources (Documentation, Example Project):
Developed for and from a Win64 architecture, so I can't claim it works for other platforms other than Win64. The uplugin was for this reason whitelisted to Win64 platforms only. However the source code is written in a standard Unreal-assisted C++ and doesn't rely on platform specific code.