Medieval Harem City is a text-based RPG from MHC-Project, built in HTML. You play as a man exploring a medieval town, meeting NPCs, pursuing girls, and building relationships through chat and roleplay with your own LLM. The design draws on SillyTavern but shifts memory, token management, and world-state handling to a backend system. Visuals use AI-generated CG and real adult imagery, with uncensored content.
The current build is v0.4, released on September 17, 2026, for Windows in English. Development is ongoing. The update adds a full save and load system, NPC schedules that change every three in-game hours, time skip and sleep at the player’s residence, and residential lanes with assigned NPC homes. These changes improve persistence, time progression, daily life, and stability.
Developer's description
Medieval Harem City
— the name pretty much says it all.
Enter the game, walk around the town, meet different NPCs, pick up some girls, build relationships, roleplay and chat with them using your own LLM.
I was inspired by
SillyTavern
, but I wanted to build something more focused on an actual game world. SillyTavern is very powerful, but I found some problems when trying to use it for a bigger RPG system, especially things like multiple NPC memories, token bloat, and managing different NPCs and world states.
So for MHC I am trying to handle more of this stuff in the backend instead of asking the LLM to remember everything by itself.
v0.4 *Major*
- system update focused on persistence, time progression, NPC daily life, and overall stability.
Save & Load System
- Added a complete Save / Load system.
- Game state can now be preserved and restored between sessions.
- New games and loaded games are handled separately for a cleaner start-up flow.
NPC Daily Schedule
- NPC schedules are now rolled every 3 in-game hours.
- NPCs dynamically move between home, work, and other scheduled locations.
- NPC whereabouts now depend on the current in-game time.
Time Skip & Sleep
- Added time skipping through player actions.
- The player can rest and sleep at their own residence.
- Sleep advances the game through the appropriate time period while updating the NPC world state.
Residential Lanes & NPC Homes
- NPCs now have assigned homes within Residential Lanes.
- NPC residences are represented as physical town houses.
- Players can only knock on the doors of NPCs who are physically at home.
- NPC presence at home is determined from the live schedule state rather than simply assuming every NPC is available.
F5 / Browser Refresh
- Browser refreshes with F5 no longer destroy the current chat state.
- Existing game state and session state can be restored after refresh.
Bug Fixes & Improvements
- Large number of bug fixes, stability improvements, UI improvements, and internal system refinements across the project.
- Numerous smaller corrections and reliability improvements are included throughout the v0.4 release.
Model Distribution
- Model files are
not included
in the MHC v0.4 package.
- Users must obtain the required model separately.
v0.3 - Local LLM Support
- Added support for Local LLMs using Wllama and GGUF models.
- Added a new LLM.html startup screen where you can choose between:
KoboldCpp
Gemini API
Local LLM
- Previously, when KoboldCpp was unavailable, the game would fall back to Gemini. Now you can choose your LLM provider before starting the game.
At the moment you can:
- Enter the game and explore the town, Talk to different NPCs, Build affinity and relationships, As affinity goes up, you will be able to
do more
with the NPC, --- Roleplay freely with your LLM, The system is designed to be fully moddable
- The game is built around using an LLM for the actual conversations and roleplay, while the backend handles things like NPC data, memory, relationship state and other game systems.
- I am currently using
Qwen 3.6 through KoboldCpp
.
- The project is designed so that the LLM/backend side can be changed, so other models should be possible too.
- This is still an early version and I am actively working on more features.
Modders / developers:
if you use a different LLM and need a kobold_client.js backend for your particular setup, let me know. I can make another backend version for it.
- More features are coming as I continue developing it.
v0.2
Initial release.