Skip to content

anurag629/infinite-scroll

Repository files navigation

Infinite Scroll Jumper

An immersive infinite jumper game built for Reddit using Devvit and Phaser.js. Jump through Reddit-themed levels as Snoo, collect power-ups, defeat bosses, and compete on global leaderboards!

🎮 About the Game

Infinite Scroll Jumper is a vertical platformer where you control Reddit's mascot, Snoo, jumping upward through various subreddit-themed levels. The game features:

  • Infinite Scrolling Gameplay: Jump from platform to platform, avoiding obstacles and collecting power-ups
  • Subreddit-Themed Levels: Progress through different subreddit environments (r/aww, r/gaming, r/memes, r/roastme, and more)
  • Boss Battles: Face unique bosses at subreddit transitions
  • Power-Ups: Collect Gold Awards, Rocket Upvotes, Silver Shields, Magnets, and Slow-Mo effects
  • Combo System: Chain jumps to build multipliers and boost your score
  • Leaderboards: Compete globally and track your high scores
  • Achievements: Unlock 10+ achievements as you progress
  • Snoo Skins: Unlock and customize your Snoo character
  • Daily Challenges: Complete daily and weekly challenges for bonus rewards
  • Sound System: Immersive audio with background music and sound effects

🚀 Getting Started

Prerequisites

  • Node.js 22 or higher
  • A Reddit account with developer access
  • Reddit Devvit CLI installed

Installation

  1. Clone the repository:
git clone <repository-url>
cd infinite-jumper
  1. Install dependencies:
npm install
  1. Log in to Devvit:
npm run login
  1. Start development:
npm run dev

This will:

  • Build the client and server
  • Start a playtest session on Reddit
  • Provide a URL to test your app live

📜 Available Commands

  • npm run dev: Start development server with live reload
  • npm run build: Build client and server for production
  • npm run deploy: Build and upload app to Reddit
  • npm run launch: Build, upload, and publish app for public review
  • npm run login: Log in to Reddit Devvit CLI
  • npm run check: Type check, lint, and format code

🎯 How to Play

Controls

  • Mobile: Tap left/right sides of the screen to move
  • Desktop: Use arrow keys (← →) to move left/right
  • Jump: Automatically jumps when landing on platforms

Gameplay

  1. Jump Upward: Land on platforms to keep jumping higher
  2. Avoid Obstacles: Watch out for spikes and hazards
  3. Collect Power-Ups: Grab power-ups for special abilities
  4. Build Combos: Land quickly on platforms to build combo multipliers
  5. Reach New Subreddits: Progress through themed levels
  6. Defeat Bosses: Battle unique bosses at level transitions
  7. Beat Your High Score: Compete on the global leaderboard

Power-Ups

  • Gold Award 🏆: +500 bonus points
  • Rocket Upvote 🚀: Boost upward automatically
  • Silver Shield 🛡️: Block one hit from obstacles
  • Magnet 🧲: Attract nearby collectibles (8 seconds)
  • Slow-Mo ⏱️: Slow down time for easier navigation (5 seconds)

🏗️ Project Structure

src/
├── client/          # Frontend game code (Phaser.js)
│   ├── game/        # Game scenes, systems, and mechanics
│   ├── splash/       # Splash screen
│   └── public/       # Static assets
├── server/          # Backend API (Express)
│   └── core/        # Server endpoints
└── shared/          # Shared TypeScript types

🛠️ Technology Stack

📚 Documentation

For detailed documentation, see the docs directory:

🎨 Features

Game Systems

  • ✅ Infinite platform generation
  • ✅ Physics-based jumping mechanics
  • ✅ Combo multiplier system
  • ✅ Power-up collection and effects
  • ✅ Boss battle system
  • ✅ Subreddit level progression
  • ✅ Particle effects and visual feedback
  • ✅ Screen shake effects
  • ✅ Snoo trail animations

Progression Systems

  • ✅ Achievement system (10+ achievements)
  • ✅ Snoo skin unlocks
  • ✅ Daily challenges
  • ✅ Global leaderboards
  • ✅ High score tracking

Audio

  • ✅ Background music per subreddit theme
  • ✅ Sound effects for all actions
  • ✅ Volume controls (Master, SFX, Music)
  • ✅ Dynamic audio mixing

📦 Deployment

To publish the app publicly:

  1. Build the app:
npm run build
  1. Upload to Reddit:
npm run deploy
  1. Publish for review:
npx devvit publish --public

Once approved, you can install the app in any subreddit where you're a moderator!

🤝 Contributing

This is a Reddit Devvit app. Contributions are welcome! Please ensure:

  • Code follows TypeScript best practices
  • All features are tested in the playtest environment
  • Changes are properly typed and documented

📄 License

BSD-3-Clause

🙏 Credits

  • Built with the Devvit Phaser Starter
  • Thanks to the Phaser.js team for the excellent game engine
  • Reddit for the Devvit platform

Visit: Reddit Developers | Devvit Documentation

Releases

No releases published

Packages

 
 
 

Contributors