Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quest system #2713

Merged
merged 75 commits into from
Apr 4, 2022
Merged

Quest system #2713

merged 75 commits into from
Apr 4, 2022

Conversation

avaer
Copy link
Contributor

@avaer avaer commented Mar 31, 2022

Adds basic quests support to the engine.

This is handled with the new quest type that can be inlined into the scene, much like lights/rendersettings.

The concept of quests is that it's an instruction to the engine that completion of some goal should cause some action. For example, defeating a boss should drop loot.

The system is specifically designed to be generic so that anything that would fall under the umbrella of a narrative quest in an RPG or action game can be represented and given first-class consistent presentation+gamefeel using quest subtypes, even though quests are distributed UGC implemented by different authors/land holders.

Using quests to drive a scene provides other major advantages:

  • It's easy to declare a gameplay/narrative loop without programming
  • First class UI support for quests, to keep the game streamlined
  • Minimap/pathfinding support built in
  • An easy mechanism for dropping automated gameplay rewards on completion (which may or may not have any actual value)
  • Quests are tracked in the quest log, allowing the player to bookmark gameplay tasks and keep track of what's happening
  • Deep AI integration, so characters know how to join, help, or hinder the player in the quest

@avaer avaer changed the title Quest system [WIP] Quest system Apr 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant