⚔️ SWORD & SHIELDS: GAME DESIGN DOCUMENT

Vision: A community-driven Idle RPG where legendary runs populate the world’s lore and every retired champion becomes a challenge for the next player.


📝 Project Overview

Sword & Shields is a strategic Idle RPG built for the Reddit Developer Platform. It combines the addictive progression of a "roguelite" with a unique Social Champion Pool system, turning a solo journey into a community-driven tournament.

💡 Inspiration: The Legend of the Last Aegis

Inspired by the challenge of "Leaving a Legacy," I wanted to create a game where reaching the top isn't just a personal win, but a contribution to the game's ecosystem.

  • The Story: A lone squire faces the Alabaster Titan—a giant sentinel whose neon-gaze looms in the background of every map.
  • The Legacy: While the Titan is the ultimate NPC goal, the true glory lies in the Tournament. Those who defeat other player-champions are uploaded to the global pool, turning your most optimized builds into the "ghosts" that future players must overcome to claim the throne.

🛠️ Technical Stack

The project is a hybrid technical feat combining high-performance frontend logic with a robust Reddit backend.

Layer Technology Purpose
Frontend GameMaker High-performance 2D engine for node-maps and UI.
Backend Devvit (Reddit SDK) App hosting and Social API integration.
Database Redis Real-time hero data storage and global Champion Pool.
Scripting TypeScript Backend state management and leaderboard logic.
Art Aseprite High-contrast neon pixel art.

🚀 Engineering Challenges

1. Mobile Optimization (The 60 FPS Goal)

A major hurdle was rendering massive node-maps on mobile devices without lag.

  • The Solution: Implemented Surface Caching and GPU Scissor Masks.
  • Technical Detail: Instead of drawing 100+ lines every frame, the game draws the connections once to a surface and then crops the view.
  • Result: Buttery-smooth performance on mobile browsers within the Reddit app.

2. Social Interaction & Asynchronous Multiplayer

I wanted a "Multiplayer" feel without the need for players to be online at the same time.

  • The System: Using Redis Hashes, every time a player completes a run, their Champion’s data is stored and indexed into the global tournament leaderboard.
  • The Hook: In Tournament Mode, you face the actual builds of other Redditors, making the community the primary source of content.

⭐ Key Features for Reddit Judges

  • [x] Best Use of User Contributions: Every enemy you face in Tournament mode is a player-champion, equipped and named by a fellow Redditor..
  • [x] Optimized Mobile Gameplay: The entire game features a "Drag-to-Scroll" map and "One-Tap" navigation.
  • [x] Recurring Community Content: The leaderboard and evolving Champion Pool ensure the "meta" changes daily as players discover stronger builds.

🎨 Art Assets Disclosure

This project uses open-source sprites from Duelyst, which have been made available for public and commercial use by Counterplay Games. These assets were instrumental in bringing the world of Sword & Shields to life within the Hackathon timeframe.


⚠️ Final Notes & Stability

Due to the intense last-minute push for the submission:

  • UI/Debug: Some debug info might still be visible and a few UI elements may appear out of place.
  • Current Build: While the tournament’s random champion selection and map progression are currently locked in the main build (limiting play to the first boss for stability), these features are fully functional in the playtest link.
  • Architecture: Leaderboards and item/enemy passives are already architected in the code and will be fully enabled in the next update.

🔗 Playtest Link

Experience the full working Tournament here: 👉 Sword & Shields Playtest

Built With

Share this project:

Updates

posted an update

Due to the intense last-minute push for the submission, some debug info might still be visible in the UI. Please note that while the tournament’s random champion selection and map progression are currently locked in the main build (preventing progression past the first boss), these features are fully functional and fixed in the provided playtest link. Additionally, the leaderboard and the item/enemy passives are already architected in the code and will be fully enabled in the next update. My priority was ensuring that the core loop and tournament systems are 100% stable for the community to experience!

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