# 🚀 ISRO Mission Simulator - Gyanyaan 1.0
An immersive, educational space mission simulator bringing India's Mars Orbiter Mission (Mangalyaan) to life through interactive gameplay.
- Overview
- Features
- Game Levels
- Tech Stack
- Installation
- Deployment
- How to Play
- Special Features
- Screenshots
- Team
ISRO Mission Simulator is an interactive educational game that simulates India's groundbreaking Mangalyaan (Mars Orbiter Mission) - the historic mission that made India the first Asian nation to reach Mars orbit on its first attempt.
Through 8 challenging levels, players experience the real physics, engineering challenges, and decision-making required to launch, navigate, and orbit a spacecraft around Mars. Each level is based on actual ISRO mission phases, complete with real data, mission requirements documents (MRDs), and educational content.
- Educate: Teach space physics, orbital mechanics, and mission planning
- Engage: Provide hands-on experience with real mission scenarios
- Inspire: Showcase India's achievements in space exploration
- Challenge: Test problem-solving skills with authentic space engineering challenges
-
8 Progressive Levels: Each level represents a phase of the Mangalyaan mission
- Level 1: Launch Sequence & Liftoff
- Level 2: Stage Separation & Trajectory Control
- Level 3: Earth Orbit Insertion
- Level 4: Orbit Circularization
- Level 5: Trans-Mars Injection (TMI)
- Level 6: Mars Transfer Cruise Phase
- Level 7: Mars Orbit Insertion (MOI)
- Level 8: Mission Complete - Final Trivia Challenge
-
Real Physics Simulation: Authentic gravity, thrust, fuel consumption, and orbital mechanics
-
Mission Requirements Documents (MRD): Detailed briefings before each level
-
Success/Failure Analysis: Learn from mistakes with detailed feedback
- Google OAuth Integration: Seamless sign-in with Firebase Authentication
- Email OTP Verification: Additional security layer with one-time password via email
- Dual Authentication Options: Choose Google Sign-In or Email+OTP
- Session Management: Secure user sessions with encrypted storage
- Firebase Firestore Integration: Cloud-saved progress across devices
- Level Unlocking System: Complete levels to unlock new missions
- Mission Completion Status: Track completed levels with visual indicators
- Mission Summary: View achievements and stats after completion
- Multiple Missions: Mangalyaan completed unlocks Chandrayaan-3
- Retro Pixel Aesthetic: Nostalgic 80s space mission control design
- Responsive Design: Optimized for desktop and tablet
- Smooth Animations: Framer Motion for fluid transitions
- 3D Visuals: React Three Fiber for planet rendering
- Dynamic Theming: Planet-synchronized color schemes
- Custom Sound Effects: Immersive audio feedback (optional)
- Toggle Chaos: Fun mode with glitchy, retro effects
- Text Scrambling: Random character replacements
- Visual Glitches: RGB split, scanlines, chromatic aberration
- Unclickable Buttons: Button flies across screen in chaos
- Perfect for Demo: Showcases technical creativity
- Mission Facts: Real data from ISRO's Mangalyaan mission
- Physics Explanations: Simplified orbital mechanics concepts
- Historical Context: India's journey to Mars
- Vocabulary: Space terminology and definitions
- Fun Facts: Interesting trivia about space exploration
Mission: Execute perfect rocket launch sequence
- Monitor fuel levels and thrust
- Maintain trajectory within safe limits
- Avoid over-acceleration damage
- Physics: Newton's Third Law, Thrust-to-Weight Ratio
Mission: Separate stages and maintain course
- Time stage separations correctly
- Balance fuel consumption
- Navigate through atmospheric layers
- Physics: Staging, Drag Forces, Trajectory Correction
Mission: Insert spacecraft into Earth orbit
- Achieve circular orbit at precise altitude
- Manage orbital velocity
- Execute burn maneuvers
- Physics: Orbital Velocity, Centripetal Force
Mission: Stabilize orbit to perfect circle
- Fine-tune apogee and perigee
- Minimize eccentricity
- Conserve remaining fuel
- Physics: Elliptical Orbits, Hohmann Transfer
Mission: Launch toward Mars at precise window
- Calculate transfer orbit
- Execute TMI burn at exact time
- Set course for Mars encounter
- Physics: Interplanetary Transfer, Launch Windows
Mission: Maintain spacecraft during long journey
- Execute Trajectory Correction Maneuvers (TCMs)
- Point High-Gain Antenna to Earth
- Manage momentum wheels
- Recalibrate sensors
- Real-time: Simulates 300-day voyage
Mission: Enter Mars orbit - The critical moment
- Execute braking burn with precision
- Achieve stable capture orbit
- Balance fuel for future operations
- Historical: The moment India made history
Mission: Answer trivia questions about the mission
- Test knowledge gained through gameplay
- Learn achievements of Mangalyaan
- Unlock mission summary
- Reward: Complete mission certificate
- React 18.3 - UI framework
- Vite 5.4 - Build tool and dev server
- Framer Motion - Animations and transitions
- React Three Fiber - 3D planet rendering
- Lucide React - Icon library
- TailwindCSS - Utility-first styling
- React Router - Navigation
- Node.js - Runtime environment
- Express.js - OTP email server
- Nodemailer - Email service integration
- CORS - Cross-origin resource sharing
- Firebase Authentication - Google OAuth
- Firebase Firestore - User progress storage
- Firebase Hosting - Static asset hosting
- Vercel
- Render
- GitHub Actions - CI/CD workflows
- ESLint - Code linting
- Prettier - Code formatting
- Git - Version control
- Node.js 18+ and npm
- Firebase account
- Gmail account (for OTP functionality)
git clone https://github.com/nikhil2004-blip/whack25deploy.git
cd whack25deploy# Install dependencies
npm install
# Create environment file
cp .env.example .env
# Add Firebase credentials to .env
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
VITE_API_URL=http://localhost:3001
# Run development server
npm run devcd otp-server
# Install dependencies
npm install
# Create environment file
cp .env.example .env
# Add Gmail credentials to .env
PORT=3001
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_gmail_app_password
FRONTEND_URL=http://localhost:5173
SESSION_SECRET=random_secret_key
# Start server
npm start- Create Firebase project at firebase.google.com
- Enable Authentication → Google Sign-In
- Enable Firestore Database
- Add
localhost:5173to authorized domains - Copy configuration to
.env
- Enable 2-Step Verification in Google Account
- Generate App Password: myaccount.google.com/security
- Use 16-character password in
EMAIL_PASS
-
Import Project
- Connect GitHub repository
- Select
nikhil2004-blip/whack25deploy
-
Configure
- Framework: Vite
- Build Command:
npm run build - Output Directory:
dist
-
Environment Variables
VITE_FIREBASE_API_KEY=... VITE_FIREBASE_AUTH_DOMAIN=... VITE_FIREBASE_PROJECT_ID=... VITE_FIREBASE_STORAGE_BUCKET=... VITE_FIREBASE_MESSAGING_SENDER_ID=... VITE_FIREBASE_APP_ID=... VITE_API_URL=https://your-backend.onrender.com -
Deploy - Automatic deployments on git push
-
Create Web Service
- Repository:
nikhil2004-blip/whack25deploy - Root Directory:
otp-server
- Repository:
-
Configure
- Build Command:
npm install - Start Command:
npm start
- Build Command:
-
Environment Variables
PORT=3001 NODE_ENV=production EMAIL_USER=your@gmail.com EMAIL_PASS=your_app_password FRONTEND_URL=https://your-app.vercel.app SESSION_SECRET=random_secret -
Deploy - Copy URL and update Vercel
VITE_API_URL
-
Update Firebase
- Add Vercel domain to authorized domains
- Example:
your-app.vercel.app
-
Update Render
- Set
FRONTEND_URLto Vercel URL - Redeploy service
- Set
-
Test
- Google Sign-In
- Email OTP
- Game progression
- Progress saving
- Visit: [https://whack25deploy.vercel.app/]
- Sign In: Choose Google or Email authentication
- Select Mission: Start with Mangalyaan
- Read MRD: Study the mission briefing
- Play Level: Complete objectives
- Progress: Unlock next levels
- Read MRDs Carefully: Each briefing contains crucial information
- Watch Gauges: Monitor fuel, velocity, altitude closely
- Timing Matters: Precision is key in space maneuvers
- Learn from Failures: Detailed feedback helps improve
- Conserve Fuel: You'll need it for later stages
- Use Help: "View MRD" button available in levels
- Mouse/Touch: Click buttons and controls
- Keyboard: Some levels support arrow keys
- Responsive: Works on desktop and tablet
- 3D Planets: Real-time rendering with React Three Fiber
- Texture Morphing: Smooth transitions between celestial bodies
- Synchronized Theme: UI colors match current planet
- Rotation Animation: Realistic planetary motion
- Progress Tracking: All progress saved to cloud
- Completion Badges: Visual indicators for finished levels
- Mission Summary: Detailed statistics and achievements
- Next Mission Unlock: Complete Mangalyaan to unlock Chandrayaan-3
- Glitch Effects: RGB split, scanlines, chromatic aberration
- Text Scrambling: Random character chaos
- Flying Buttons: Unclickable buttons for fun
- Retro Aesthetic: VHS-style visual effects
- Real Mission Data: Actual stats from ISRO Mangalyaan
- Physics Lessons: Simplified orbital mechanics
- Historical Facts: India's space journey
- Vocabulary Building: Learn space terminology
**team memmbers **
- NIKHIL KUMAR YADAV
- BHOJAK BHARGAV HEMEN
- DHRUV AGRAWAL
- MANJIT MISHRA
- ISRO - For the inspiring Mangalyaan mission
- React Community - For excellent libraries and tools
- Hackathon Organizers - For the opportunity
- Beta Testers - For valuable feedback
For questions, feedback, or collaboration:
- GitHub: nikhil2004-blip
- Demo: [Live URL]
Made with ❤️ for space exploration education
⭐ Star this repo if you found it interesting! ⭐