## Inspiration
Our inspiration came from two distinct places: the love for daily puzzle games and the strategic depth of classic roguelikes.
- For Daily Hashi, we aimed to build a calm, daily logic puzzle that could become a community ritual for users on Reddit.
- For Karma Crawler, we wanted to distill the essence of a replayable adventure into a fast, accessible, 3x3 grid format perfect for quick sessions, inspired by games like Dungeon Cards and classic roguelikes.
## What it does
This submission includes two distinct, fully playable games:
Daily Hashi Challenge: A polished logic puzzle game that automatically posts a new Hashi (Bridges) challenge every 12 hours. It features a responsive, interactive SVG board with advanced touch controls (pinch-to-zoom, two-finger pan), a multi-step interactive tutorial, and a Redis-backed system to save player progress.
Karma Crawler: A turn-based roguelike adventure on a 3x3 grid. Players choose from multiple hero classes with unique abilities to navigate a dangerous board, battle monsters, and collect gold. While each run is a new challenge, collected gold is saved to the player's Reddit account, allowing them to permanently unlock new heroes and grow stronger over time.
## How we built it
Both games were built entirely on the Devvit platform using the @devvit/web framework.
Frontend: The UIs are built with
ReactandTypeScript, using hooks (useState,useRef,useCallback,useEffect) for all state management. The Hashi game board is a dynamically renderedSVG, while Karma Crawler uses interactive React components for its grid.Backend: An
Expressapp running on the Devvit server handles API requests for both games.Data Persistence: We used Devvit's built-in
Redisclient as the core of our persistence layer. For Hashi, it saves a player's current bridge layout. For Karma Crawler, it saves a player's total gold and unlocked classes, creating a compelling permanent progression loop.Automation: A Devvit Scheduler uses a
cronjob to automatically post a new Hashi puzzle every 12 hours.
## Challenges we ran into
Data Optimization: For Hashi, we quickly discovered our puzzle data exceeded Devvit's 2KB
postDatalimit. This forced us to design and implement a compact, string-based data format and a client-side parser, which was a great lesson in optimization.Complex Game Logic: For Karma Crawler, separating the pure, turn-based game logic (in
board.tsandcards.ts) from the React UI components was a key architectural challenge to keep the code clean and manageable.Balancing: Designing and balancing four unique hero classes in Karma Crawler, along with the item drop rates and the permanent gold economy, was a complex process that required significant iteration to make the game feel fair yet challenging.
## Accomplishments that we're proud of
We are incredibly proud of building two complete, full-stack games from the ground up. For Hashi, creating a fully automated system that provides fresh content twice a day is a huge success. For Karma Crawler, implementing a compelling roguelite loop with permanent progression (unlockable classes) and a full multi-screen experience (menu, tutorial, settings) within the hackathon timeframe is something we're very proud of.
## What we learned
This project was a deep dive into the entire Devvit ecosystem. We learned how to use schedulers for automation, Redis for persistent user data, and the Express server for custom APIs. We mastered complex state management in React for two very different types of interactive applications. We also learned how to design for replayability by focusing on a tight core gameplay loop and a compelling meta-progression system.
## What's next for Hashi & Karma Crawler
For Hashi: The immediate next steps are to implement the features on our roadmap: an in-game timer, light/dark modes, and a community leaderboard to foster friendly competition. Further updates can be: backgrounds for hashi boards, style for nodes and bridges, etc.
For Karma Crawler: The next phase is to expand the content. We plan to add new monsters, more unique items, weapons, hero classes and so many more things. A leaderboard to track the highest gold earned or longest survival would also be a great addition to drive engagement. As we were developing style for Karma Crawler we began to draw different images for classes (as seen in class selection), but we decided to let community shape our game! That is why we already have
paint postsupport but not yet voting system. Idea is to regularly create paint post with theme as mob, item, class, etc. and let all users to submit their drawings. After that top voted image will be added to game as default image or skin for according card. Paint mode is pre set to be 32x32 pixels so all images look organic.
Log in or sign up for Devpost to join the conversation.