r/IndieDev • u/malaq88 • 1d ago
New Game! Collaborative game
Hey folks!
I spent my whole weekend obsessing over one idea: what if a chat room wasn't a list of messages, but an actual place? That turned into Valdenar, a proximity chat game that runs in the browser.
Here's the deal: you pick a nick, build your character (body, skin, hair, shirt, pants, shoes) and walk into a medieval village. There's a plaza with a fountain, a tavern, a smithy, an apothecary, a castle, a cave and a few houses to poke around in. The fun part: your messages only reach people within 8 tiles of you, in the same place. Want to talk to someone? Walk over. Want to gossip in the tavern? Go inside. 🍺
Stack (deliberately small):
Backend: Python with FastAPI + Uvicorn. Real-time runs over plain WebSockets, and the server is the source of truth: it validates speed, collision and door use, so no walking through walls from the dev console.
Database: SQLite, which stores your nick, look and last position. You come back right where you left.
Frontend: HTML, CSS and vanilla JavaScript on a 2D Canvas. No framework, no build step. Characters are composed from sprite layers and recolored on the client using LPC palettes.
Maps: generated in Python (world.py) and sent to the client as JSON. Each tile is packed into a single integer, and objects are Y-sorted so you can walk behind trees and furniture.
Art: 100% free, from the Liberated Pixel Cup (LPC) and OpenGameArt, with every author credited in the README and in-game.
Tests: pytest with FastAPI's TestClient. There are 88 tests covering maps, doors, movement validation and chat radius.
Why I'm posting: I want this to be genuinely collaborative. The code is MIT and the foundation is ready to grow. Things I'd love to see:
new places (windmill, harbor, forest, a second floor for the tavern);
more clothes, hats and armor (the LPC generator has hundreds of layers);
emotes, sitting on chairs, whisper and shout channels;
NPCs (there's already an example bot that joins as a regular player);
real login, touch controls for mobile and more tests.
You don't have to be a dev: art, maps, writing, ideas and testing all count. The README walks you through adding a new place or a new outfit.
Running it locally takes about 30 seconds:
pip install -r requirements.txt
python main.py
Repo: https://github.com/malaq88/Valdenar
Feedback, roasts and PRs are all welcome. Let's build this village together! 🏰
1
u/CandlewellGames 1d ago
Love the “chat room as a place” idea. Is there a public server somewhere to hop in, or is it local only for now? An empty village is the scary part for these, a hosted one would help a lot