# the ball game

## Description

Work in progress.

This is a simple ball game written in Typescript using Threlte.

Try it out [here](https://flo-bit.github.io/ball-game/).

![screenshot](./screenshot.png)

## Todo

- [x] Countdown
- [x] Improve menu
- [x] Add time keeping and local highscores
- [x] show "new highscore" when you get a new highscore
- [x] Add sound effects + music 
- [x] refactor level selection (currently breaks sometimes)
- [x] automatically capture mouse in game

- [ ] show hints in game (tutorial)
- [ ] refactor levels
- [ ] Add more levels
- [ ] Add mobile controls: touch joystick
- [ ] Add gamepad support
- [ ] toggle sound+sound effects on/off in settings
- [ ] add pause menu
- [ ] improve physics (difference between in the air and on the ground)

## low prio

- [ ] keyboard controls for menu
- [ ] Add sharing levels (import/export) maybe using links?
- [ ] Add different balls
- [ ] Add different platforms / forces
- [ ] REFACTOR (later :P)


## Platform/items ideas

- [x] force (pushes you in a direction)
- [x] bouncy (bounce off)
- slippery (low traction)
- sticky (high traction)
- void (no traction)
- ghost (disappear after you touched it)
- bumper (bounce off with high speed)
- moving (moves in a direction and back)
- switch gravity
- teleporter
- collectable (needs to be collected to finish level)