🏰 About the Project
Inspiration
We wanted to create a game that captured the thrill of merchant life—where every deal matters, relationships with vendors shape your success.
The medieval market setting felt perfect: a bustling bazaar filled with colorful characters, each with their own personalities and trading quirks. We envisioned a world where the blacksmith haggles harder than the farmer, and where building rapport with the alchemist unlocks rare goods.
What it does
You control a character that trades with different merchants in the game. but beware of shady merchants trying to scam you. THis is basically a Medieval Stock Market.
How we built it
Tales of the Trade was built in 16 hours with passion, Monster drinks, and way too many sprite and tile sheets. 🎮✨ We built it using Python, specifically the Pygame library. We also used Tiled to create and render the maps.
Challenges we ran into
We ran into a challenge of linking the backend and the frontend. It was a bit of a difficulty using map templates that had object layers so we had to create maps from scratch. It was very difficult to find the exact tilesheets we needed. Rendering text onto speech bubbes was initially difficult but we managed to figure that out.
Accomplishments that we're proud of
Smooth Movement: 60 FPS gameplay with responsive controls and proper collision detection for realistic user experience Extensible Architecture: Clean separation between game logic, rendering, and state management Hand-Crafted World: Every market stall, sign, and cobblestone was placed with care in our custom Tiled map
What we learned
This hackathon pushed us to master several new technologies:
Pygame & Pyscroll: We dove deep into tile-based rendering, sprite animation, and camera systems. Implementing smooth character movement with collision detection taught us the intricacies of game loops running at 60 FPS.
Tiled Map Editor: Learning to design multi-layered maps with collision zones, NPC spawn points, and interactive areas was both challenging and rewarding. Our market map features 7 distinct vendor zones across 36 layers!
Game State Management: Balancing multiple game modes (exploration, trading, inventory management) required careful architectural planning using a dedicated GameState class to handle UI and interaction logic.
Sprite Animation: Creating a frame-based animation system with directional walking cycles (up, down, left, right) and managing animation states taught us about sprite sheet organization.
What's next for Tales of the Trade
- Complete Trading System: Functional buy/sell interfaces with vendor-specific inventories
- Dynamic Pricing: Market prices that fluctuate based on supply/demand and day of week
- Quest System: Townsfolk requesting specific items with time-limited rewards
- Day/Night Cycle: Visual time progression with vendors opening/closing at different hours
- Reputation Mechanics: Better prices and exclusive items as relationships grow with vendors
- Multiple Maps: Expand beyond the market and taverns to docks, and noble estates
Built With
- pygames
- python

Log in or sign up for Devpost to join the conversation.