๐ฎ PLAY GAME NOW! ๐
This is a fully modern, TypeScript-powered platformer game that showcases professional game development practices:
- ๐ฅ Full TypeScript conversion from JavaScript for better developer experience
- ๐ Automated CI/CD pipeline with GitHub Actions
- ๐ฏ Advanced game mechanics with Pac-Man style wrapping and dynamic physics
- ๐ ๏ธ Professional development workflow with feature branches and proper deployment
- ๐ Production-ready build system with Webpack optimization
- Smooth platformer mechanics with precise jump controls
- Coin collection system with animated score feedback
- Dynamic bomb spawning with intelligent bounce physics
- Advanced wrapping mechanics - player wraps on all edges like Pac-Man
- Smart bomb physics - bombs wrap horizontally but bounce off vertical boundaries
- Bomb lifecycle management - bombs self-destruct after 30 bounces
- TypeScript architecture with proper type safety and interfaces
- Custom game objects with extended Phaser sprite interfaces
- Modular scene management with clean separation of concerns
- Professional asset pipeline with organized sprite management
- Responsive design that scales to any screen size
Technology | Purpose | Version |
---|---|---|
TypeScript | Type-safe game logic | Latest |
Phaser 3 | Game engine | 3.80.1 |
Webpack | Module bundling & optimization | 5.90.3 |
GitHub Actions | CI/CD automation | Latest |
GitHub Pages | Static hosting | Latest |
ts-loader | TypeScript compilation | Latest |
๐ฎ Play Online: https://torresjdev.github.io/TS-Phaser-Game-Jumper/
- โ
Automated Deployment: Every push to
main
triggers deployment - โ Production Optimization: Webpack minification and asset optimization
- โ GitHub Pages: Fast CDN delivery
- โ Build Validation: TypeScript compilation checks
- ๐ Continuous Integration: Automated testing and deployment
TS-Phaser-Game-Jumper/
โโโ ๐ src/ # TypeScript source code
โ โโโ ๐ scenes/ # Game scenes (TypeScript)
โ โ โโโ Boot.ts # Initial boot sequence
โ โ โโโ Preloader.ts # Asset loading with progress
โ โ โโโ MainMenu.ts # Main menu with animations
โ โ โโโ Game.ts # Core gameplay logic
โ โ โโโ GameOver.ts # Game over screen
โ โโโ main.ts # Application entry point
โโโ ๐ public/ # Static assets
โ โโโ ๐ assets/ # Game assets
โ โ โโโ ๐ images/ # Sprites and backgrounds
โ โ โ โโโ ๐ characters/ # Player sprites
โ โ โ โโโ ๐ items/ # Coins and bombs
โ โ โ โโโ ๐ platforms/ # Platform sprites
โ โ โ โโโ ๐ ui/ # UI elements
โ โ โโโ ๐ audio/ # Sound effects
โ โโโ style.css # Game styling
โโโ ๐ webpack/ # Build configuration
โ โโโ config.js # Development config
โ โโโ config.prod.js # Production config
โโโ ๐ .github/ # CI/CD workflows
โ โโโ ๐ workflows/
โ โโโ deploy.yml # Deployment automation
โโโ tsconfig.json # TypeScript configuration
โโโ package.json # Dependencies and scripts
โโโ index.html # HTML entry point
- Node.js 18+
- npm or yarn
- Modern web browser
-
Clone the repository:
git clone https://github.com/TorresjDev/TS-Phaser-Game-Jumper.git cd TS-Phaser-Game-Jumper
-
Install dependencies:
npm install
-
Start development server:
npm start
Opens automatically at
http://localhost:8082
-
Build for production:
npm run build
Key | Action |
---|---|
โ | Move left |
โ | Move right |
โ | Jump |
Click | Start game / Navigate menus |
- Initializes Phaser engine
- Loads initial background
- Sets up scene transitions
- Loads all game assets with progress indication
- Preloads sprites, audio, and animations
- Smooth transition to main menu
- Animated logo display
- Interactive start button
- Clean, professional UI design
Advanced Features:
- Player Wrapping: Complete Pac-Man style screen wrapping
- Smart Bomb Physics: Horizontal wrapping with vertical bouncing
- Bounce Management: Bombs self-destruct after 30 bounces
- Dynamic Spawning: Intelligent bomb placement based on player position
- Score Animation: Smooth tween-based score feedback
- Sound Integration: Immersive audio feedback
- Dramatic red overlay effect
- Score display and restart option
- Smooth scene transitions
- Full IntelliSense support in VS Code
- Compile-time type checking catches errors early
- Custom interfaces for game objects (BombSprite)
- Better refactoring and code navigation
- Professional development experience
- Webpack 5 with optimized production builds
- ts-loader for seamless TypeScript compilation
- Asset optimization and minification
- Source maps for debugging
- Hot reload during development
- Automated testing on every commit
- Production builds triggered by main branch pushes
- GitHub Pages deployment with zero downtime
- Build artifact caching for faster deployments
We welcome contributions! Please follow our development workflow:
- Fork the repository
- Create feature branch:
git checkout -b feature/your-feature
- Develop with TypeScript - full IntelliSense support
- Test thoroughly - both dev and production builds
- Commit with clear messages:
git commit -m "feat: add amazing feature"
- Push and create PR: Professional review process
- TypeScript: All new code must be TypeScript
- Type Safety: Proper type annotations required
- Clean Code: Follow existing patterns and structure
- Comments: Document complex game logic
- Testing: Ensure both builds work correctly
- Language Distribution: 68.3% TypeScript, 27.2% JavaScript, 4.5% Other
- Total Lines: ~300+ lines of well-structured code
- Scenes: 5 professionally crafted game scenes
- Assets: Organized sprite sheets and audio files
- Build Size: Optimized production bundle
- Performance: 60 FPS smooth gameplay
โ
Full TypeScript Conversion - Complete migration from JavaScript
โ
Professional CI/CD - Automated deployment pipeline
โ
Advanced Game Mechanics - Pac-Man wrapping + dynamic physics
โ
Production Deployment - Live on GitHub Pages
โ
Modern Tooling - Webpack 5 + TypeScript + GitHub Actions
โ
Clean Architecture - Modular, maintainable codebase
This project is licensed under the MIT License - see the LICENSE file for details.
- Phaser.js - Amazing HTML5 game framework
- TypeScript - For making JavaScript development professional
- GitHub - For excellent CI/CD and hosting platform
- Community - For inspiration and feedback