tukkek / javelin

Party-based roguelike (open-source strategy-RPG game).
https://javelinrl.wordpress.com/
66 stars 7 forks source link

Diplomacy and questing revamp #247

Open tukkek opened 4 years ago

tukkek commented 4 years ago

~The current system are actually over-engineered. Quests should grant some predefined loot as reward and also diplomacy points, which can then be redeemed at lesireu for current "diplomacy rewards", potentially a random, always evolving selection of them.~

~Happiness would just be a measure of your current level of diplomatic relations, so a 5/5 = 100% relation that goes unclaimed evolves to a 5/20 = 25% as population grows.~

~There could also be trait-related quests - for example, Magic cities could ask for low/mid/high/epic-level magic items (of a particular type). A systemic way to approach this would be to have monsters drop "trophies" #281 , where each type of town would want as quests - magic towns might want aberration trophies for research and military towns might want Dragon trophies for glory. The fact that these would not be easily focus-farmed right now is an issue though.~

tukkek commented 4 years ago

Mostly done, branching the trait-based quests into a new issue and ignoring the diplomacy resource for now (although a diplomacy-based win condition would be sweet)! What remains to be done is test out all individual Mandates to verify they are working as intended.

tukkek commented 4 years ago

A good Mandate would be "show location of Temple" - since those are the current long goals. Would need to validate periodically that the Temple hasn't been found and also ensure that only not known temples are generated.

If we're going with the thematic quest/mandates per Town Trait (#248), might as create a generic "uncover X" for all types of locations and generate as many quest rewards as wanted.

tukkek commented 3 years ago

The best idea so far is to have Branches, which are going to be used to generate Haunts at some point and also have Maps to generate Planes, also as the internal engine for generating quests. Rather than mission to be done throughout the world, instead make it one-off Encounters inside the city - either Haunts or Map fights with Haunt mechanics (basically a one-Branch-based single battle). The downside to this is that these have to be individually curated per-branch but that is not too much trouble.

Ideally each Haunt would have a Labor Deck associated with it, so it's easy to loop Branches and from there Haunts and Districts. Alternatively a Branch#Quest object would inform both a Haunt and a Map to be used and their respective Traits.

A quest reward would be generated from the Branch's chest type.

tukkek commented 3 years ago

Closing #248 and using this is as the main issue for finishing the revamp. Pending are:

  1. Simplify the quests by having simple Quests and Rewards based on town traits (ideally 1 of each only per trait)
  2. Add ruby mandates (non-trait based)
  3. Lots of holdovers from the original Diplomacy system, like Squads needing to present in Town to generate/validate Mandates or the idea of requesting a Mandate from another Town.
tukkek commented 3 years ago

Kill quests:

Fetch quests (location-based):

Find quests (long term):

tukkek commented 3 years ago

Review how quests are affecting town happiness and its natural decay, which has been brought up on Discord.

tukkek commented 3 years ago

As a final step once the redesign is done, trying a new approach to Point of Interest described here might be a good, simple-enough idea https://github.com/tukkek/javelin/issues/307#issuecomment-829449611