Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/coteh/lavaescape
:arrow_up: Jump game made using Phaser 3 and TypeScript
https://github.com/coteh/lavaescape
phaser3 typescript
Last synced: 6 days ago
JSON representation
:arrow_up: Jump game made using Phaser 3 and TypeScript
- Host: GitHub
- URL: https://github.com/coteh/lavaescape
- Owner: Coteh
- License: mit
- Created: 2019-12-28T19:18:43.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-05T10:48:00.000Z (9 months ago)
- Last Synced: 2024-10-31T23:33:18.337Z (about 2 months ago)
- Topics: phaser3, typescript
- Language: TypeScript
- Homepage: https://coteh.github.io/LavaEscape/
- Size: 3.05 MB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Lava Escape
A jump game made using Phaser 3 and TypeScript.
**[PLAY HERE](https://coteh.github.io/LavaEscape/)**
![Lava Escape Screenshot](screenshots/game.png 'Lava Escape Screenshot')
## 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
1. Clone the repository by running `git clone https://github.com/Coteh/LavaEscape.git`
1. Run in development mode (with debug mode enabled) by running `npm run dev`
1. 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](https://github.com/digitsensitive/phaser3-typescript))
- Game background by ferdinand feng on Unsplash ([link](https://unsplash.com/photos/2RAt2zMoHqU))
- Font used (currently just for space bar graphic) is "Press Start" font from dafont ([link](https://www.dafont.com/press-start.font))