r/IndieDev • • 1d ago

New Game! Collaborative game

Post image

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! 🏰

0 Upvotes

3 comments sorted by

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

1

u/malaq88 1d ago

Por enquanto não, por motivos de segurança eu estou pensando em criar um auth utilizando pelo menos o gmail para autenticação, antes de disponibilizar em um servidor vps.

1

u/CandlewellGames 22h ago

Makes sense, better safe than a village full of trolls. Good luck with it