Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flo-bit/shadow-shmup
Fun and casual top-down, roguelike shoot 'em up browsergame with shadow elements and colorful neon effects
https://github.com/flo-bit/shadow-shmup
browsergame pixijs rapier2d roguelike shoot-em-up typescript webgame
Last synced: 4 days ago
JSON representation
Fun and casual top-down, roguelike shoot 'em up browsergame with shadow elements and colorful neon effects
- Host: GitHub
- URL: https://github.com/flo-bit/shadow-shmup
- Owner: flo-bit
- License: other
- Created: 2024-07-22T02:25:08.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-07T17:36:29.000Z (5 months ago)
- Last Synced: 2024-12-16T11:36:27.832Z (7 days ago)
- Topics: browsergame, pixijs, rapier2d, roguelike, shoot-em-up, typescript, webgame
- Language: TypeScript
- Homepage: https://flo-bit.dev/shadow-shmup/
- Size: 976 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# shadow shmup
Browsergame, fun and casual top-down, roguelike shoot 'em up with shadow elements and colorful neon effects, developed for the [2024 piratejam](https://itch.io/jam/pirate), with the theme "shadows and alchemy".
See the submission on [itch.io](https://flo-bit.itch.io/shadow-shmup).
WIP. See the current development version on [GitHub Pages](https://flo-bit.github.io/shadow-shmup/).
https://github.com/user-attachments/assets/25994b9d-67f5-4e80-a42a-bcd9d6999a5b
## How to play
- Move with WASD or arrow keys
- Player auto-shoots nearest enemyFor co-op mode:
- Player 1: WASD to move
- Player 2: arrow keys to move## Techstack
PixiJS, Typescript, Vite, TailwindCSS, Rapier
## Development
1. Clone the repository
```bash
git clone https://github.com/flo-bit/shadow-shmup.git
```2. Install dependencies
```bash
npm install
```3. Run the development server
```bash
npm run dev
```4. Open the game in your browser at [http://localhost:5173](http://localhost:5173)
## credits:
- music: [Nicholas Palmer](https://soundcloud.com/nicholas-palmer-4)
- code and concept: [flo-bit](https://github.com/flo-bit) and [unbedenklich](https://github.com/unbedenklich)## License
CC BY-NC 4.0
## TODO
- [ ] more enemies
- [ ] laser dude
- [ ] stats
- [ ] count kills, deaths, damage taken, damage dealt
- [ ] show stats at end of game
- [ ] tutorial
- [ ] move wave counter to top right corner
- [ ] pentagon enemies: make bullets pentagon shaped and slowly rotating (and some kind of warning?)
- [ ] different players
- [ ] different weapons
- [ ] different shapes
- [ ] different stats
- [ ] sound effects (change to own recorded sounds)
- [ ] player shooting
- [ ] player getting hit
- [ ] player dying
- [ ] enemy getting hit
- [ ] enemy shooting
- [ ] enemy dying
- [ ] special effects
- [ ] player getting hit (red vignette)
- [x] player upgrades
- [x] weapon fire rate
- [x] weapon shooting distance- [x] bullet speed
- [x] bullet damage
- [x] bullet piercing- [x] movement speed
- [x] player health
- items stay longer
- [ ] powerups
- [ ] randomly spawn (with some chance in each cell)
- [ ] can be used for a limited time
- [ ] different powerups:
- [ ] invincibility
- [ ] 2x, 4x damage
- [ ] 2x, 4x fire rate
- [ ] 2x, 4x bullet count
- [ ] 2x shooting distance
- [ ] shoot through enemies
- [ ] 50%, 100% health refill
- [ ] items stay as long as powerup is active
- [ ] item magnet
- [ ] get all items
- [x] enemy upgrades (some enemies are upgraded every wave)
- damage
- speed
- health
- shooting range
- bullet speed
- bullet count
- fire rate
- weapons
- recoil on player
- [x] impulse on bullet impact (done for enemies)
- [x] indicator for sphere enemy shooting (+pause before shooting)
- [x] move items towards player
- [x] enemies attack
- [x] shoot (pentagon)
- [x] pulse (sphere)
- [x] ram/explode (triangle)
- [x] die
- [x] change player rigidbody to dynamic
- [x] different enemies
- [x] different shapes, attacks
- [x] waves
- [x] eyes blinking
- [x] obstacles
- [x] enemies drop stuff, player can pick it up
- [x] music
- [x] menu: solo, co-op, credits
- [x] credits
- [x] items ("potions")
- [x] disappear after a while
- [x] different potions (depending on monster killed?)
- [x] lights
- [x] make own light class and add to player
- [x] enemies should be lit by light distance instead of player distance
- [x] scale canvas so that it always shows a 1000x1000 area or something like that## Bugs
- [ ] sometimes stuck in wall (moving when low fps or spawn in wall)
- [ ] weapons still active after player death (in coop)
- [ ] bloom sometimes doesn't work (line enemy?)