Devil Level: Reddit Inferno

Elevator Pitch

Devil Level is a fast-paced precision platformer forged for Reddit using Devvit. Players guide a mischievous imp through seven handcrafted infernal stages packed with collapsing ledges, spike ballets, moving ferries, and cinematic win/loss sequences. The game blends arcade-tight physics with Reddit-native distribution so every community can run a mini hell challenge.

Why It Stands Out

  • Immersive Reddit Experience – Built entirely with Devvit so the game runs inside Reddit posts, subreddits, and chats without leaving the platform.
  • Mobile-first Responsiveness – Dynamic canvas scaling and adaptive HUD ensure the same pixel-perfect physics from wide monitors to phones.
  • Reactive World – Breakable platforms, moving spikes, jump pads, and timed ferries respond to player proximity and jump triggers.
  • Atmospheric Polish – Custom devil-themed UI, glowing overlays, and layered audio cues (jump, impact, door) amplify feedback.
  • Speed-run Friendly – Deterministic physics loop at 60 FPS with restart-on-keypress for quick resets and competitive play.

Gameplay Loop

  1. Choose a stage unlocked through previous runs.
  2. Navigate hazards using arrow keys or on-screen touch controls.
  3. Trigger moving platforms and jump pads with precise timing.
  4. Reach the glowing door to conquer the level and unlock the next torment.
  5. Post runs, best times, or challenge friends directly in the hosting subreddit.

Level Progression Snapshot

  • Infernal Gate – Introduces split/vanish platforms and a launch pad opener.
  • Molten Ferry – Moving ferry platform over a lava pit with bounce mechanics.
  • Obsidian Peaks – Tight ledges that crumble and shrink as you cross.
  • Hell's Gauntlet – Chain ferries, collapsing stones, and aggressive bounce pads.
  • Spike Ballet – Five spike clusters with horizontal movers triggered by jumps.
  • Blazing Return – Sequential moving jump pads that snap back if mistimed.
  • Echoing Vault – Multi-tier corridor with spike traps and a high ceiling alcove finish.

Architecture

Devvit (Reddit) App
├─ Client (React + Vite)
│  ├─ DevilGame.tsx  // core gameplay loop & rendering
│  └─ devil-game.css // custom animations, fonts, particle glow
├─ Server (Devvit SSR bundle)
│  └─ index.ts       // handles configuration, Devvit hooks
└─ Public Assets     // audio (jump, impact, door) + branding

Technical Highlights

  • Physics & Collision – Deterministic delta-less updates mimic retro platformers. Breakable platform logic rebuilds static arrays on the fly.
  • Responsive Layout – Canvas renders at base 800×450 units then scales uniformly. UI buttons use Tailwind breakpoints to adapt to touch devices.
  • Event System – Keyboard, touch, and Devvit input events update a shared state with refs to avoid rerenders every frame.
  • Audio Management – Preloaded HTML5 audio objects with fail-safe playback catch to avoid promise rejections in browsers.
  • Devvit Tooling – Vite-driven client bundle, Express/SSR server setup, devvit playtest integration for instant Reddit previews.

Setup & Run

npm install
npm run dev        # start concurrent client + server builds
devvit playtest    # open live Reddit preview with hot reload

To deploy a playable demo to Reddit:

devvit login       # once per machine
npm run build
devvit deploy

Controls & Accessibility

  • Desktop: Arrow keys (move), Space/Arrow Up (jump), R key or on-screen button (restart).
  • Mobile: On-screen directional arrows with generous hitboxes.
  • Visual Accessibility: High-contrast palette, glowing UI, and screen-shake toggleable through CSS variables if needed.
  • Audio Accessibility: Sound cues reinforce state changes; volume balanced at <0.8 to avoid clipping.

Testing & Validation

  • npm run build (Vite client & SSR server) ✓
  • devvit playtest in desktop and mobile browsers ✓
  • Manual QA for level completion flow, death reset, and overlay stacking ✓

Future Enhancements

  • Add leaderboard integration via Devvit server to track clear times per subreddit.
  • Introduce daily challenge seeds and cosmetic unlocks earned by clearing streaks.
  • Expand accessibility settings (colorblind palettes, screen-shake toggle, audio sliders).
  • Support WASD + customizable keybindings stored per Reddit account.

Team & Roles

Contributor Focus
Game Design Level layouts, platform behaviors, polish
Engineering Devvit integration, physics loop, responsive UI
Audio/UX Sound design, win/lose overlays, visual cues
Share this project:

Updates