Toggle menu
15
243
113
28K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 18:47, 10 March 2025 by Prd (talk | contribs)

Return to the Project Index

Planned info update by 3/23.

Attention!

  • This is the Dialogue-embedded Logic Unit's introduction, explanation, ongoing development and usage thereof.


Kenshi is a game based around a time domain you can control. This occurs as you play the game wandering through the world encountering characters and partaking in activities. In so doing you allow time to pass in the game and with each passing moment comes an opportunity for a dialogue to trigger. These are essentially any moment when an event happens. This isn't necessarily two characters interacting as Kenshi offers a handful of other means for triggering dialogue responses.

Take for instance the various weather effects when encountered. Passing through a dust storm will induce a face coverage animation. Walking through a gas cloud will both cause damage and a dialogue response.
It is in these small moments and responses we can observe what the DLU is purposed for. Observe the following:

//Add in pictures of the basic event-response//
//Discuss dialogue triggering and the time domain//
//Introduce world states, their forms, behavior and how new types can be created//
//Go over the faction container mechanic and bit translation//
//Show the basic logic gate and response tick//
//Define the various logic states and how the DLU uses inline loops//
//Outline the DLU's possibilities and scope, Bit Shifting, Multiplexing, etc.//
//So how does it all work?//
//Etc, etc.//

Understanding the Faction object

  • What are factions?
  • How are they defined in the FCS? What are their parameters?
  • How do relations, world states and dialogue tie to factions?
  • How can we use logical operations to achieve greater ineractivity?
The Relations Span
  • What is a fuzzy bit and how can we apply this to faction relations?
  • Relations with a faction spans from -100 to 100.
  • There are two main types of faction relation states:
    • Player Enemy (of)
    • Player Ally (of)
  • Classification for enemy and ally are at set thresholds.
  • For ally this is +60.
  • This could be taken as until your relations are +60 the following states are true for any given faction container:
  • Player Enemy = ?
  • Player Ally = 0
  • The enemy status can be derived through a check, but for our purposes the only set value we currently know is assuming relations are <+60 then a Player Ally = 0 state will return.
  • We may now find that there is an entrypoint to a fuzzy state check, observe:
  • Player relations > Enemy classification -- Player Enemy = 0
  • Providing us with...
  • Player Ally = 0
  • Player Enemy = 0
Player relations = ?
  • It is with this in-between state we have established both a bounding set and an unclear true relations status.
  • This means faction containers are not restricted to "two" states per se. Rather, they are a tri-state bit which can flux from one true state to a doubly false state.
  • The bit still exists and can be manipulated through hysteresis to latch and unlatch the bit across these thresholds. In essence we have a bit with a softly indeterminate state.
  • This indeterminate state is pseudo in nature and observed in an elective manner to take advantage of what it may offer for transitive and transformative operations.
  • The word salad above essentially means: We have a multi-state container we can compare and alter in a number of manner. The choice of how we choose to observe the container defines its truthiness of falsehood.


  • What can the DLU do with all this in mind?
  • How the basic logic gates are initialized through dialogue.
  • How relations can be used as counters and other forms (fuzzy as defined value qualities).
  • Explaining the nested counters, keyring system, async handling and error checking.
  • How in the fuck this is all possible.
  • Why it is not ideal. Undeniable issues with scale and complexity. The UI problem.
  • Write-once and straight-shot modes.
  • Weighing the pros and cons.
  • Full scale implementation.
  • Player-oriented best practices and suggested approaches.
  • Realpolitik narrative structure.
  • How you can use this information (in your mod).

It's somewhat implicit this treads into topics which could be considered outsider, esoteric or niche. Please consult some of the following topics as an entrypoint to understanding logical dialogue systems the semantics of logic: