Lava Escape
A jump game made using Phaser 3 and TypeScript.
PLAY HERE
Features
- Basic jump game mechanics
- Left and right directional movement
- Upward force applied to player when they hit top of platform
- Score is calculated based on how high up the player is, the higher they go the higher the points
- Hold down space bar to hold jump and increase jump height
- Procedural chunks of platforms are generated for the player to jump on
- 3 different types of chunks provide different types and configurations of platforms
- Speed of lava wraps to speed of player
- Lava is faster the further away it is from the player
- Lava will also generally speed up over time
- Lava dial item pickups decrease the lava height and temporarily slow it down
- Vertical scrolling background that loops back to bottom
- High score functionality
Setup
- Clone the repository by running
git clone https://github.com/Coteh/LavaEscape.git
- Run in development mode (with debug mode enabled) by running
npm run dev
- To build for production, run
npm run prod
and then serve a HTTP server from the project root
Limitations
- No audio (background music nor sound effects) at the moment
- No high score table at the moment either
- Not everything in the codebase has been modularized yet (e.g. cooldowns)
- No automated testing
Future Additions
- Reintroduce the broken platform type (a platform that breaks when player steps on it)
- Give player ability to wrap around stage
- Add background music
- Add sound effects
- Add high score table with ability to submit name
- Revamp chunking system to provide more variety of platforms and placements
- Pickup that allows player to jump higher (like holding space to charge jump but no time needed to charge)
- Adjust game balance (lava speed, pickup spawn rate, etc.)
- Add tests
- Optimize build for production
Credits
- TypeScript and Phaser 3 build configuration based off of digitsensitive's Phaser 3 TypeScript examples (link)
- Game background by ferdinand feng on Unsplash (link)
- Font used (currently just for space bar graphic) is "Press Start" font from dafont (link)