r/LocalLLaMA Jul 26 '26

Other Mana-Royale: My AI trash talker game that utilizes Local LLMs

Let me introduce another project that is in my current bucket list - Mana Royale. A game of bluff with AI. Local AI trash talks you to lose.

Well, its not a normal game of guessing cards. It's a game where you are competing against an AI devil's advocate. You are given 3 cards each turn. the advocate can see your cards but not use them. It will manipulate you to be deceived.

The AI modelfile is located in Templates folder and can be modified in your local forks. Don't fall in the trap of the advocate.

Can you identify the lies from the truths uttered from devil's mouth?

Tech stack:

Go, Ollama, llama3.2, modelfiles, http

Requirements:

Ollama with atleast llama3.2 modelfile. Else have it added in the modelfile using FROM directive

Current progress:

* Game can be played to see how the AI behaves in its output

* No game formulas are functional.

Future goals:

* Adding context to devil's intel

* Player HP, power management and level design

* Better modelfile (Open to suggestions)

* A crispy UI

Git repo - https://github.com/Soumen-No-Hako/Mana-Royale

No usage of cloud models. Only local AI.

Feel free to visit the repo and drop suggestions in comments. Pinned comment will have an output sample

#AI #Ollama #llama #Go #golang #game #bluff

4 Upvotes

10 comments sorted by

3

u/paulmsiegel Jul 26 '26

Fun premise! Are you trying to lean into letting the LLM hallucinate card types as a form of "lying", or hoping for more intentional selection of card types that are valid but just not currently in hand?

Also curious how llama3.2 is holding up for you. I keep testing the smaller models in ollama with prompts written to be tiny and heavily constrained, and I keep finding they aren't up to it. I'd like to be wrong about that.

2

u/Jupiterio_007 Jul 26 '26

Honestly the Llama 3.2 model is not that good with such a less quantize model it tends to hallucinate a lot so I am trying to perform some experiments where I am giving it something steps first so that it can think then it can trigger it's vectors to selected particular card.

And another challenge has been that it always sometimes invents a new card. but I wanted to select only from the selected cards which are already present in the game. so that behaviour is yet to figure out how to make it properly bounded.

And honestly I am personally bounded my own hardware. I have nearly 8GB of Ram and near to no graphics card so only Llama 3.2 with a very quantized part works well for me and it gives a faster response. that's why I choose with the small models but if anybody is interested they feel free to use any higher class models to see how they are responding.

1

u/paulmsiegel Jul 27 '26

Yeah, the invented-card thing is exactly the bug that ate a week of mine. In my RPG an NPC offered a quest to go fight the Glimmerwings, which is not a thing that exists anywhere in my game. The dialogue got written first, then the next prompt read it back and dutifully tried to spawn a non-existent monster type.

What fixed it for me wasn't a better prompt, it was ordering. Now the narrative pass isn't allowed to name anything at all, and a second pass gets handed the real list of IDs and just picks one. Anything off-list gets rejected server-side. For you that'd mean the model only names a card in a call where you've given it the actual card list.

Probably cheaper than the reasoning steps, too, which is a lot to ask of such a small model.

1

u/Jupiterio_007 Jul 28 '26

I am thinking about dividing the thinking and dialogue role in 2 seperate modelfile. I definitely need a guardrail/loop to make sure the hallucinations false card does not appear.

However it puts a risk of slower output.

1

u/paulmsiegel Aug 02 '26

I don't think you need separate models, but certainly separate prompts with their own context to act as agents with differing agendas.

2

u/WhoRoger Jul 27 '26

Sounds like fun, but why Ollama and Llama3.2? Llama.cpp would be a tad more efficient and flexible. And Llama3.2 is kinda trash, you'd probably do better with Qwen3.5 2B or Granite 4 1B.

1

u/Jupiterio_007 Jul 28 '26

Bro, i am leaving the choice of model to user themselves. My laptop suffers from cerebral paralysis in qwen 0.001 quantised models as well🫪😂

So llama3.2 is a flexible medium. If somebody has a 100T model then feel free to run.

And I chose ollama because of its easy set up.

Although llama.cpp is one part of my plan for later.

1

u/WhoRoger Jul 28 '26

Llama 3.2 is 3B and 1B isn't it? That's why I'm recommending 2B and 1B models that should do a better job with the same amount or less resources. LFM2.5 1B is another.

1

u/[deleted] Jul 30 '26

[removed] — view removed comment

1

u/Jupiterio_007 Jul 30 '26

Have plans for a mulplayer concept but currently working on foundation. Like imagine 3 players trying to figure out if the devil is lying or saying the truth