A Small Steam Game Shows How LLMs Could Kill the Dialogue Tree (re: Verbal Verdict demo) (www.404media.co)
from memfree@beehaw.org to gaming@beehaw.org on 05 Mar 2024 02:17
https://beehaw.org/post/12262087

Excerpts:

The Verbal Verdict demo drops me into an interrogation room with basic facts about the case to my left, and on the other side of a glass window are three suspects I can call one at a time for questioning. There are no prompts or briefings—I just have to start asking questions, either by typing them or speaking them into a microphone

The responses are mostly natural, and at times add just a bit more information for me to follow up on.

Mostly. Sometimes, the AI goes entirely off the rails and starts typing gibberish

There are, of course, still many limitations to this implementation of an LLM in a game. Kristelijn said that they are using a pretty “censored” model, and also adding their own restrictions, to make sure the LLM doesn’t say anything harmful. It also makes what should be a very small game much larger (the demo is more than 7GB), because it runs the model locally on your machine. Kristelijn said that running the model locally helps Savanna Developments with privacy concerns. If the LLM runs locally it doesn’t have to see or handle what players are typing. And it also is better for game preservation because if the game doesn’t need to connect to an online server it can keep running even if Savanna Developments shuts down.

it’s pretty hard to “write” different voices for them. They all kind of speak similarly. One character in the full version of the game, for example, speaks in short sentences to convey a certain attitude, but that doesn’t come close to the characterization you’d see in a game like L.A. Noire, where character dialogue is meticulously written to convey personality.

#gaming

threaded - newest

memfree@beehaw.org on 05 Mar 2024 02:45 next collapse

NOTE: I just downloaded the game and on my first attempted launch, it complained that the port it wanted was not open. My only option was to close the game. I ran netstat and did not see the port listed, so I tried again. THAT time, it complained about my older video card :-/ The warning is clunky and there’s a typo, too (within -> withing). It says (if I transcribed accurately):

You are using an: NVIDIA GEOFORCE GTX 1080. This video card is currently not recognized withing the recommended specs. We only support a limited amount of NVIDIA GTX graphics cards, all NVIDIA RTX graphics cards or all AMD RX graphics cards since the local AI requires a lot of performance.

So please note that the game might not work properly. Refer to the Steam guide for more information.

When I closed that warning, the game loaded.

zaphod@lemmy.ca on 05 Mar 2024 05:08 collapse

Wait… why the heck does it need to open a network port?

Mixel@feddit.de on 05 Mar 2024 06:21 next collapse

Probably or the ai if I should have guessed in the backend it’s using something like local ai, koboldcpp, llamacpp probably

ninjan@lemmy.mildgrim.com on 05 Mar 2024 07:26 collapse

It likely starts the LLM it uses as a service, and it requires running on a port. They could of course have rewritten it to not use a port and instead use other mechanisms possible when you’re in control of the code but then that requires modification of the LLM project they use and would make updating its version harder so such a thing would be reserved for the full release or skipped all together because it’s not really a big deal. All this assuming that they do use one of the hundreds of open source local LLM projects floating around Github.

peter@feddit.uk on 05 Mar 2024 12:05 next collapse

Why do you need to open a port if its listening locally?

memfree@beehaw.org on 05 Mar 2024 12:36 next collapse

It is probably easier. I used to run a program that ran its own mini server-like process to send input to other open programs. It used local ports. It didn’t need internet, but it did need ports. My first guess is that programmers already know a bunch of dev libraries that deal with ports so it is easier to use that than write something else from scratch.

Midnitte@beehaw.org on 05 Mar 2024 14:05 next collapse

If it runs the model as a service locally, it’s probably communicating to the game via a network port.

Similar to how some single player campaigns are still technically running a “server” for the game, despite being single player.

ReversalHatchery@beehaw.org on 05 Mar 2024 14:12 collapse

Actually it’s not rare that a part of interprocess communication between a software’s processes is done through localhost networking

peter@feddit.uk on 05 Mar 2024 16:53 collapse

But what firewall blocks that by default?

ReversalHatchery@beehaw.org on 06 Mar 2024 00:37 collapse

Probably none, but I think OP did not say this

peter@feddit.uk on 06 Mar 2024 08:53 collapse

OP said that the port wasn’t open, unless they meant the port was already in use rather than the port was closed?

memfree@beehaw.org on 06 Mar 2024 20:12 collapse

The warning message said the port was not open, but my guess is that the message was inexact. I doubt the port was ever restricted at all. In fact – and with no evidence one way or the other – it wouldn’t surprise me if the only issue was my old video card and the ‘port’ error was simply the first error message the game found on initial launch. For my theory to make sense, though, some initial setup piece must have completed on 1st launch such that the 2nd launch had a newly made config file or something and that extra piece let me proceed to a more accurate error.

zaphod@lemmy.ca on 05 Mar 2024 17:01 collapse

So laziness. Got it.

(They could easily move to an ipc mechanism that doesn’t require binding a port on a network interface but that’d require time and effort and why bother when the goal is to ship something fast and cheap while the AI hype is strong)

Sounds like a fun way to directly mess with their model though.

ninjan@lemmy.mildgrim.com on 05 Mar 2024 17:02 collapse

We’re talking about a demo here…

Fisch@lemmy.ml on 05 Mar 2024 09:35 next collapse

Since I learned about LLMs when ChatGPT became popular, the one thing I wanted to see was games where you can actually talk to NPCs (using a locally running LLM like here, not using ChatGPT) and it’s cool to see that we’re getting closer and closer to that

peter@feddit.uk on 05 Mar 2024 12:04 next collapse

This is the only actually good use of LLMs I can really think of. As long as there is a good way to keep them within the bounds of the actual story it would be great for that

blindsight@beehaw.org on 05 Mar 2024 19:07 collapse

I think they also have potential for creating lots of variations in dialogue pre-run in a database, and manually checked by a writer for QC.

The problem with locally-run LLMs is that the good ones require massive amounts of video memory, so it’s just not feasible anytime soon. And the small ones are, well, crappy. And slow. And still huge (8GB+).

That of course means you can’t get truly dynamic branching dialogue, but it can enable things like getting thousands of NPC lines instead of “I took an arrow to the knee” from every guard in every city.

It can also be used to generate dialogue, too, so not just one-liners, but “real” NPC conversations (or rich branching dialogue options for players to select.)

I’m very skeptical that we’ll get “good” dynamic LLM content in games, running locally, this decade.

Fisch@lemmy.ml on 06 Mar 2024 07:24 collapse

Big breakthroughs are still made when it comes to efficiency (so same or better quality for less processing power) and game devs will probably figure out how to best instruct the LLM to do what they want over time. I think there’s still a lot that will happen in that regard in the next few years until it starts to slow down.

derbis@beehaw.org on 08 Mar 2024 01:14 collapse

There’s a Stardew valley mod that does this but it seems development has stalled

Fisch@lemmy.ml on 08 Mar 2024 07:07 collapse

That’s really cool. I also heard about a Skyrim mod that does this too and since I’m playing Skyrim in VR (modded ofc) that would make it even cooler.

savvywolf@pawb.social on 05 Mar 2024 09:41 next collapse

I’ve played Ace Attorney and the writers put a lot of love and personality into the characters. I’d be sceptical if an AI could get close enough to any kind of writing style to “kill” writing in games like that.

Honestly getting fed up of AI doing a mediocre job of creating art and then people claiming it kills whole industries because it’s the “in” technology.

[deleted] on 05 Mar 2024 15:07 next collapse

.

spriteblood@kbin.social on 06 Mar 2024 16:03 collapse

The amount of time to build something like this seems like it would offset the amount of effort it would take just to write good character dialogue. AI tools are basically word calculators, which means you have to provide data for the LLM, which means time to produce this data, time to build guardrails, etc. Even in this implementation, they say they had to build guardrails so that they don't say anything "harmful."

There are also a number of lawsuits going on that will set a precedent for how training data can be utilized in commercial products. While I expect them to take the side of large corporations with vast resources at the expense of ethics, there's the possibility that they will do the right thing. This will affect how AI tools wil be used in such contexts.

SoupBrick@yiffit.net on 05 Mar 2024 17:51 next collapse

It will kill industries temporarily, until the corpos realize their success came from the artists.

AceFuzzLord@lemm.ee on 05 Mar 2024 17:58 collapse

I know the situation is different for everyone diagnosed with autism, but I like to compare AI writing as being something similar to someone with autism writing (as someone with autism). It can look kinda emotionless and robotic at times but other times it looks passable as something slightly less robotic.

AlmightyTritan@beehaw.org on 05 Mar 2024 18:32 next collapse

I don’t think we’ll see this any time soon, because corpos probably won’t listen to any creative that presents this, but I want something where the LLM runs locally and is just used to interpret what you are asking for but the dialogue responses are all still written by a writer. Then you can make the user interaction feel more intuitive, but the design of the story and mechanics can just respond to the implied tone, questions, prompts, keywords from the user.

Then you could have a dialogue tree that responds with a nice well constructed narrative, but a user who asked something casually vs accusatory might end up with slightly different information.

Fauxreigner@beehaw.org on 05 Mar 2024 19:02 collapse

Unless you’re willing to put in some kind of response that basically says “I’m not going to respond to that” (and that’s a sure way to break immersion) this is effectively impossible to do well, because the writer has to anticipate every possible thing a player could say and craft a response to it. If you don’t, you’ll end up finding a “nearest fit” that is not at all what the player was trying to say, and the reaction is going to be nonsensical from the player’s perspective

LA Noire is a great example of this, although from the side of the player character: the dialogue was written with the “Doubt” option as “Press” (as in, put pressure on the other party). As a result, a suspect can say something, the player selects “Doubt”, and Phelps goes nuts making wild accusations instead of pointing out an inconsistency.

Except worse, because in this case, the player says something like “Why didn’t you say something to your boss about feeling sick?” and the game interpreted it as “Accuse them of trying to sabotage the business.”

memfree@beehaw.org on 06 Mar 2024 20:03 collapse

Ooooh, I’d like that! Well, there’s 3 parts to the (random user input / scripted game output) conundrum:

  1. I think it is fair that if you ask, ‘Why didn’t you say something?’ the NPC might either respond as if it is being accused of sabotage, answer the damn question, lie, or prefer not to talk about it (it’s personal).
  2. I’d keep a short list of standard options – probably in a collapsed scroller kinda thing so you could either verbally say or type whatever you want, OR you could click an arrow to pick from a list. That way lazy or stuck players wou;dn’t have to think of all the options, and players interested in roleplaying could do as they please.
  3. I’m OK with, “I’m not going to respond to that”. I’d hope each character had several variations of that, but I think it is legitimate for NPCs to dislike being pestered. Shopkeepers might have replies like, “Are you gonna buy something or are you just here to bend my ear?” or “I don’t see how that relates to my inventory.” Random townies might reply, “Do I even know you?” or “Would you PLEASE stop bothering me.” or “You’re harshing my mellow, man. Shhhh… Just chill.”
webghost0101@sopuli.xyz on 06 Mar 2024 09:58 collapse

I wonder if were gonna start seeing modular specialized game drivers to save space and work.

We already have shared libraries for gamepad controlles and such. Why not one that handles a large language model , one for raytraced light. Maybe even an image generator for patterns in creative building games.

These would need to be standardized and able to be further molded, processed , restricted by the actual games.

Obvious the Triple Ass studios will want you to pay for online services but I legitimately believe there is a future for open source gaming and this could potentially save allot of hair pulling for some nonprofit indie devs.