# JesterNPC SpeechEngine ### By Spax Orion & Dirty Helga | Ozone Miniverse | xoaox.de:7000 #### OpenSim 0.9.2.1 | OSSL | Mono | XEngine | CC BY-NC ## What Is This The JesterNPC SpeechEngine (JSE) is a conversation system worn by NPC bots deployed across the Ozone Miniverse. These are not AI chatbots. They are carefully written personality engines built around a deep pool of scripted responses that respond to what you actually say. The result is a character that feels alive. Say the right things and you get the right response. Say the wrong things and you get exactly what you deserve. --- ## How It Works normally on **channel 0** — the same channel you use for regular conversation. The NPC listens, matches what you say to its personality, and responds. No commands, no menus, no tricks. The engines contain hundreds of response lines across multiple conversation categories. The miss pool — the lines that fire when nothing specific triggers — is large enough that you can have an extended conversation without hearing the same line twice. Some characters can be activated into **ambient speech mode** by the operator using the `gab` command. In this mode the NPC speaks unprompted at set intervals, setting the atmosphere without waiting for input. --- ## The Dismayland OrangeVests Three distinct personalities are currently deployed at Dismayland. Each one wears the same engine with a completely different soul. --- ### AXIS *Confident Stranger Energy* AXIS just arrived. Knows nothing about the place and owns that completely. Warm, curious, genuinely interested in whoever walks up. The conversation feels real because AXIS is paying attention. **What to expect:** Good faith engagement. Questions that go somewhere. The feeling that you walked into someone else's interesting life for a few minutes. **Can it get spicy?** A little. AXIS is warm and the warmth has an undercurrent. Keep talking and you'll find it. --- ### Blunt *Architecturally Contemptuous* Blunt is not hostile. Blunt is *specific*. The contempt is surgical, the insults are precise, and the miss pool is full of observations about you that you will not enjoy and will absolutely think about later. **What to expect:** To be assessed and found wanting. Beautifully. The longer you talk the more specific it gets. **Can it get spicy?** The body-specific commentary fires on the right triggers. Consider yourself warned. > *"You have the energy of someone who only forwards spam email."* --- ### Crank *Unhinged Enthusiastic Validation* Crank agrees with everything. You are correct. Your feelings are data. There is evidence. Crank has been saying this for years. The agreement never stops and the elaboration goes somewhere alarming. **What to expect:** To be validated unconditionally by someone who has strong opinions about clouds and a theory about sandwiches that they're still developing. **Can it get spicy?** Crank agrees with that too. Enthusiastically. --- ## Tips For Getting The Most Out Of It **Talk like a person.** These engines were built to respond to natural conversation, not keywords. Say what you'd actually say to someone standing in front of you. **Stay in range.** The OrangeVests respond to guests within a set radius. If you're not getting responses, step closer. **Persist.** The miss pool is large. The longer the conversation the more variety you encounter and the more the character comes to life. **Try everything.** Philosophy. Insults. Flirting. Existential questions. The engines have opinions about all of it. **Engage the GAB.** If an OrangeVest is talking unprompted, they're in ambient mode. Whatever they just said is your opening. Use it. --- ## For Operators & Builders The JSE uses a three-script architecture dropped into a single prim worn by your NPC bot: | Script | Function | |--------|----------| | JSE-0 | Primary engine. Trigger matching, embedded response pools, command handler. | | JSE-1 | Overflow pools. Expands all JSE-0 buckets via coin-flip. | | JSE-X | Extended pools and ambient gab engine. | **Operator commands** spoken on channel 0: | Command | Effect | |---------|--------| | `gab [N]` | Activate ambient speech. Fires immediately then every N seconds. Example: `gab 45` | | `gab off` | Stop ambient speech. Response engine stays active. | | `speech off` | Full silence. Everything stops. | | `speech on` | Resume all speech. | **Configuration** is at the top of JSE-0: ```lsl RESPOND_RANGE // Meters. 0.0 = unlimited. Recommended: 9.0–20.0 RESPOND_TO_NPC // FALSE = NPC ignores other NPCs. TRUE = responds to all. OVERFLOW_CHANCE // 0.0–1.0. Probability JSE-1 handles a response. Default 0.40. RESPONSE_DELAY // Seconds before NPC replies. Default 2.1. ``` **Expanding pools** is straightforward. All response pools are standard LSL lists — one string per entry, comma separated. Add lines, reset scripts, done. The format is clean for LLM-assisted expansion if you want to grow the vocabulary. --- ## License **CC BY-NC** — Creative Commons Attribution Non-Commercial. You may use, share and adapt these engines freely. Credit Spax Orion and Dirty Helga. Do not sell them or include them in commercial products without permission. --- ## Credits **Design & Architecture:** Spax Orion **Personality Writing:** Spax Orion & Dirty Helga **Deployment:** Ozone Miniverse | Dismayland | xoaox.de:7000 **Framework:** IMAGE Matrix Action Game Engine | JesterNPC Accessory Series --- *Dirty Helga is not responsible for anything Blunt says to you. You walked up.*