An LLM-powered 2D RPG where every conversation shapes the fate of the kingdom...
Shadows of the Crown II returns you to a medieval world teetering on the brink of rebellion. Sent by the King to the restless province of Tarnstead, you must navigate a dangerous web of conspiracies, interacting with powerful mages, cunning smugglers, and weary tavern keepers. This game is a direct sequel to Shadows of the Crown and assumes that the player remained loyal to the King.
Click on the gameplay GIF to watch the whole gameplay.
This repository contains the source code for Shadows of the Crown II (repo name: dynamic-evolution).
- Python 3.10+
- pip
All required Python packages are listed in
requirements.txt. To enable dialogue generation, you must generate your own Groq API key.
git clone https://github.com/skipdudes/dynamic-evolution.git
cd dynamic-evolutionpython -m venv .venv.venv\Scripts\activatesource .venv/bin/activatepip install -r requirements.txtGROQ_API_KEY=your_api_key_hereReplace your_api_key_here with your personal Groq API key.
Run the main script:
python main.pyThis project heavily relies on the openai/gpt-oss-120b model provided via the Groq API. The game's prompt engineering, narrative logic, and system architecture have been meticulously tuned specifically for this model. Proper functionality and stability are only guaranteed when using it.
Experimenting with other models: You are free to modify the code to test other LLMs at your own risk. However, please keep in mind that the game may become highly unstable or break entirely. If you choose to use an alternative model, it must:
- Be a highly advanced model capable of complex reasoning.
- Natively support Tool/Function Calling.
- Strictly adhere to JSON formatting.
Note: In this game, the LLM is not just a chatbot - it acts as a core logic engine. It must precisely generate structured data to execute in-game actions like giving items, teleporting NPCs, or updating quests. If a model fails at Tool Calling, the game will not function.
This project is licensed under the MIT license.
This project was brought to life using the following tools and assets:
- Font: CelticTime from the Nb Pixel Font Bundle created by Nimble Beasts.
- Character sprites: Fantasy tall sprites from TF TallSpriteMV bundle.
- Environment & UI: Tilesets, title graphics, and base items from RPG Maker MV.
- Additional items:
- Ferret amulet adapted from 2D Pixel Art Ferret Sprites by Elthen.
- Tavern key adapted from Pixel Art Key by Max.
- Level Design: All game levels and maps were built using Tiled Map Editor.
Copyright © 2026 Marcin Chętnik