Dialog specs

From Post-Apocalyptic RPG wiki

Jump to: navigation, search

Feature proposal.png This article covers a feature proposal.

Feature proposals are suggestions what kind of features the PARPG engine should support. Feature proposals are used as basis for code proposals, which describe how to implement the proposed features.

This is a set of specifications for dialog options to be supported by the technical framework of PARPG.

Minimum feature set

This is a list of features that represent the minimal requirements for some kind of RPG game. It is roughly based on fallout1/2. Someone with more experience with Arcanum or another cRPG might want to add / subtract ideas. Not all of these must be implemented for demo version, but all should be considered in software design phase.

  • Player should be able to click on an NPC to initiate dialog with any "person" (and possibly other things).
  • All NPCs should have at least a response to this dialog initiation - even it it's "please don't bother me".
  • Some NPCs will have more detailed "dialog" interface enabled. These are cases where the player could conceivably "get something" out of the interaction. "Something" here could be simply information, but also "quests" (including jobs), and items/money. A series of player dialog options interleaved with NPC responses from beginning ("talk initiated") to "end" (a traversal of the dialog tree for that NPC/game state) is called a "conversation".
  • "Bartering" is a sub type of dialog that can be initiated with a wide range of NPCs - it should open a (distinct) interface whereby the player can offer trades of goods for other goods. An example gui of this would be where player drags items from his inventory to an "offer board" and also drags items from the NPCs inventory to the "offer board" and takes a "attempt trade" action (probably a button click). The NPC evaluates the trade, and gives a yes or no answer. Player can then modify the deal, and try again. Bartering is not the only way to transfer items between characters. More complicated models are possible (see below).
  • Dialog options available to both the PC and NPC are dependent on _current_ game state (you can't ask about X if you you don't already know about X). The "conversation" itself may modify this game state - such that certain dialog options made by the player can change future responses of the current NPC (as well as others).
  • Dialog can (in some circumstances) "end" in activating turn-based combat (including surprise attacks)
  • Dialog can loop back to previous states within the same conversations and in repeated dialog initiations.
  • Dialog may in some circumstances, activate "journal" entries - that is to say, make a note for the player to keep track of a "quest"
  • Dialog may in some circumstances write to the character (PC) state, or even NPC states (for example, healing, transfer of carried items). This can include PC "knowledge" of new locations "Can you mark the site of the weapon cache on my map?"
  • Dialog options may be attached to (instantaneous - in player time) "tasks" which will influence further dialog. These tasks need not read/write from the game state (but will at least "read" from the character(s) state). Example: A dialog option might be associated with an "intimidation" task based on various PC and NPC statistics and skills and possibly coupled with a randomly generated result (see Zenbitz:Thoughts on task resolution as well as Proposals:Mechanics#.22Speech.22_type_skills ). These tasks may take a finite amount of "game time" (fade out?)

"Nice to haves"

These are additional features that could be very useful, but at the moment are not required. As time progresses, these items may move "up" to Minimal requirements, or "down" to "Pie-in-the-sky"

  • Ability for game engine to initiate dialog with the player (via NPC or other event)
  • "Shotcuts" via floating text (no Player dialog choices) to indicate to player that there is nothing he can influence (at this time...)
  • Random chit-chat via floating text
  • Gossiping system where by news spreads from place to place and NPC to NPC.

"Pie-in-the-Sky" features

This is low priority stuff that someone, somewhere thinks might be cool. I would not implement anything past "hooks" for anything here.

  • "Conference calls" - where PC converses with multiple NPCs. Such a mechanic can be found in Planescape: Torment where you could initate dialog with one of your party NPCs and other party members suddenly join the conversation.
  • Dynamic conversation AI - NPCs (in addition to hard coded dialogs) have needs, wants, goals, friends, enemies - these can be cranked upon to generate some "generic" dialog "plots".
  • See also: Zenbitz:Really_deep_thoughts_about_NPCs_and_their_disturbing_personalities
Personal tools