Skip to content
Media 0 for listing Game Facts

Description

System that make use of tags to keep track of things that happen during gameplay in order to be used at a later stage from other systems.

The system has endless use cases, i will just mention a few to give an idea of what it is:

  • Quest systems.
  • Story progression.
  • Characters short and long term memory.

Let's say that a particular quest need a door to be opened, a specific item to be picked up in the world and specific dialogue line to be triggered in order to be completed.

In a normal scenario you would have to retrieve the door actor to check if it was opened, maybe check in the inventory if the item has been picked up and need a very specific way to store the FACT that a specific dialogue line has been triggered, this however has a few potential issues:

  • Maybe the door has been unloaded or is in another level, it's not in the world anymore and you can't check if it is open.
  • The quest need an item to be picked up, but it does not care if you actually have it in an inventory so you can't rely on checking the inventory item quantity.

A solution would be to store a boolean for each of these FACTS which is fine, game facts work the same way, instead of storing boolean store gameplay tags with an associated integer for more flexibility.

Following up on the above example, the plugin could do something like this:

  • Add a game facts component to the game state, game instance or whatever, somewhere global that we know is always loaded.
  • When the door is opened add the fact to the game state.
  • When the item is picked up add the fact to the game state.
  • When the specific dialogue line is triggered add the fact to the game state.
  • Once the quest need a resolution, simply retrieve the facts stored in the game state and proceed however you want.

Included formats

  • logo of Unreal Engine format

Tags