art-from-the-machine / mantella-spell Goto Github PK
View Code? Open in Web Editor NEWMantella spell mod for Skyrim VR / AE / SE
Home Page: https://www.nexusmods.com/skyrimspecialedition/mods/98631
License: MIT License
Mantella spell mod for Skyrim VR / AE / SE
Home Page: https://www.nexusmods.com/skyrimspecialedition/mods/98631
License: MIT License
Should be "if repository.targetTrackingOnHit"
The code to make NPCs look at you in a multi-NPC conversation has been commented out:
This line should be uncommented and the results tested, with the main test being how conversations flow when NPCs look at the player when talking vs naturally looking at their surroundings. It is not always ideal for NPCs to look at the player when they could be talking to each other in a multi-NPC conversation.
The Dialogue History mod tracks historical conversations between the player and NPCs. The data of this mod could be read by Mantella to keep Mantella NPCs in the loop on the events that have taken place in game (eg who is the current jarl of Whiterun?).
A line of code exists in Scripts/Source/MantellaEffectScript.psc
after the Say()
command is called:
target.SetLookAt(caster)
This has been commented out as an "end" state has not yet been configured via target.ClearLookAt()
. A solution needs to be found where the target looks at the caster for a "natural" amount of time (with "natural" not yet decided. A few seconds? Once they have finished delivering their line? When the conversation has ended?). If a "look" is called it must always have a set end point where the look is reset to ensure that the target is not stuck looking at the caster even after the conversation has ended.
.lip generations tend to end after a fixed amount of time. A possible fix to this is to ensure all .lip files in Sound\Voice\Mantella.esp are reasonably long on game load, so that when these .lip files are replaced during Mantella use the generations maintain this length.
Mantella heavily relies on notifications to inform the player of what the exe is up to. This is unimmersive, and notifications are hard to read in VR. A solution needs to be found where an idle is played to indicate that the player has been heard by the NPC and that the LLM is generating a response.
It is possible to play idle animations on NPCs via Papyrus, however these idles are often immediately overriden by whatever package the NPC is currently in. If a solution can be found to this issue, then the player can be notified that the LLM is generating a response without relying on notifications.
To make the experience more seamless, a hesitation noise could be used to mask the latency inherently introduced by the LLM. These would be multiple samples extracted from all the original voice actor datasets, unless the TTS is able replicate them.
It would be noises such as:
The Mantella spell references a single line of dialogue which has been set in the Creation Kit. This line has been set as a "Goodbye" type, which means that NPCs will sometimes say this when conversations end. This needs to be fixed by changing the dialogue type from "Goodbye" to something less intrusive.
A single hotkey is mapped to both add an NPC to a conversation as well as open the dialog box. A new pair of hotkeys need to be created which split out these features into two. The original "merged" hotkey needs to be kept for the benefit of VR users.
Dunno Papyrus, just throwing it out there that ChatGPT thinks of a few ways:
https://chat.openai.com/share/8325aeb4-da69-4a88-aacc-c14b1fdfd9be
Track weather as a game event:
I hit an idle guard while having a Mantella conversation. Blood splatter appeared from that punch, but the event did not get registered in game events. So LLMs get kinda confused of why the NPC went into combat with the player. Even had one of the LLMs reverse roles due to this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.