A radio tuning puzzle game built for Reddit using the Devvit platform. Players tune radio frequencies to decode mysterious signals and solve meta-puzzles to claim ASCII territory on a global map.
- Interactive Dials: Circular frequency (0-108 MHz) and modulation (0-50%) sliders
- Real-time SFX: Dynamic audio feedback with mute controls
- Signal Preview: Live ASCII slot animation showing nearest phrase
- Visual Feedback: Animated signal strength bars with hover effects
- ASCII Slot Animation: Purple/violet/red gradient animations revealing phrases
- Progressive Discovery: Find phrases by tuning to precise frequencies
- Spoiler Protection: First discoveries are commented with spoiler tags
- Live Updates: Instant phrase display without page refresh
- ASCII Map: 10x10 global grid shared across all subreddits
- Territory Claims: First meta-solvers claim random plots with their initials
- Plot Information: Clickable plots show owner details and puzzle info
- Map Completion: 50 Echo Points bonus when all 100 plots are filled
- Puzzle Submission: +5 points for creating puzzles
- Puzzle Solving: +50 points for first-time solves, +5 for repeat solves
- Global Tracking: Points tracked across all subreddits
- Leaderboard: Real-time ranking system (coming soon)
- Puzzle Creation: Players can submit their own puzzles
- Unified Pool: Built-in and user puzzles in same selection pool
- Instant Integration: User puzzles immediately available for play
- Creator Rewards: Points awarded for puzzle creation
- Unified Pool: Built-in puzzles + user-submitted puzzles
- Daily Puzzles: Built-in puzzles posted daily and pinned
- User Puzzles: Instantly available after submission
- Smart Selection: Unsolved puzzles prioritized for new games
- Reddit Comments: Automatic comments for first discoveries and solves
- Spoiler Protection: All sensitive information hidden behind spoiler tags
- Achievement Recognition: Special comments celebrate major milestones
- Community Engagement: Players can see who solved what and when
- React 19 + TypeScript + Tailwind CSS
- Custom Hooks: Game state management, SFX controls, real-time updates
- Context API: Shared state across all components
- Web Audio API: Dynamic sound effects with mute controls
- Express.js + Devvit framework
- Redis: Game state, user points, puzzle storage, global map
- Serverless: Optimized for Devvit's serverless environment
- Real-time Updates: Live state synchronization
- Reddit API: Post creation, comments, user management
- Devvit Framework: Full Reddit integration
- Permission System: User-generated content support
- Cross-subreddit: Global features work across all subreddits
npm install # Install dependencies
npm run dev # Start development server
npm run build # Build for production
npm run deploy # Deploy to Redditsrc/
โโโ client/ # React frontend
โ โโโ components/ # UI components
โ โโโ hooks/ # Custom React hooks
โ โโโ main.tsx # App entry point
โโโ server/ # Express backend
โ โโโ index.ts # API endpoints
โโโ shared/ # Shared types and data
โโโ types/ # TypeScript interfaces
โโโ data/ # Built-in puzzles
โโโ utils/ # Utility functions
- RadioDial: Interactive tuning interface with SFX
- TuningSlot: Live phrase preview with ASCII animation
- PhraseDisplay: Decoded signals with flicker effects
- AsciiMap: Global territory visualization
- EchoPointsLeaderboard: Points tracking and ranking
- PuzzleSubmissionForm: User puzzle creation
- Load Game: System selects unsolved puzzle from unified pool
- Tune Radio: Adjust frequency/modulation to find signals
- Decode Phrases: Discover all phrases through precise tuning
- Solve Meta: Use decoded phrases to solve final puzzle
- Claim Territory: First solver claims random plot on global map
- Earn Points: All players earn Echo Points for participation
- Create Content: Players can submit new puzzles for the community
GET /api/game/init- Initialize new game with unsolved puzzlePOST /api/game/phrase-check- Check frequency/modulation for phrase matchPOST /api/game/meta-solve- Submit meta-answer and claim territoryGET /api/game/map- Get global ASCII map stateGET /api/game/plot/:row/:col- Get plot information
POST /api/puzzles/submit- Submit user-generated puzzleGET /api/puzzles/:id- Get specific puzzle detailsGET /api/puzzles/category/:category- Get puzzles by categoryGET /api/puzzles/difficulty/:difficulty- Get puzzles by difficulty
GET /api/echo-points/:username- Get user's global pointsGET /api/echo-points/leaderboard- Get global leaderboardPOST /api/daily-puzzle/post- Post daily built-in puzzle
- TUI Theme: Terminal/CLI aesthetic with green color scheme
- Smooth Animations: CSS transitions and keyframe animations
- Responsive Design: Mobile-optimized interface
- Interactive Elements: Hover effects and visual feedback
- Dynamic SFX: Frequency-based audio feedback
- Mute Controls: Instant audio toggle
- Fade Effects: Gradual volume changes for better UX
- Context-Aware: Audio only plays during interaction
- Fast Loading: Optimized intro animation (0.8s)
- Real-time Updates: Live state synchronization
- Efficient Rendering: Optimized React components
- Serverless Ready: Optimized for Devvit's environment
- Built-in Puzzles: 5+ puzzles with varying difficulty
- User Puzzles: Unlimited community submissions
- Global Map: 100 plots across 10x10 grid
- Echo Points: Global tracking system
- Social Features: Reddit comments and recognition
- Advanced Leaderboards: Detailed ranking and statistics
- Puzzle Categories: Themed puzzle collections
- Trading System: Echo Points marketplace
- Faction Wars: Team-based territory control
- Real-time Multiplayer: Live collaborative solving
- Achievement System: Badges and milestones
- Puzzle Editor: Advanced puzzle creation tools
Version: 2.0.0 - Latest
Platform: Reddit Devvit
Status: Production Ready
Community: Active Development
Built with โค๏ธ for the Reddit community using Devvit.