about summary refs log tree commit diff
path: root/README.md
blob: 9f206200606d77338586290e6da0fc2d1ef3b37f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# grav2ty :rocket:

![screenshot of grav2ty showing a spaceship, a planet, an asteroid orbiting and two projectiles](./doc/grav2ty-2019-05-24.png)

the most realistic asteroids-like game in existence.

## controls

* `up`/`down`: increase/decrease thruster power (ship acceleration)
* `left`/`right`: rotate ship (counter)-clockwise
* `c`: toggle centered view
* `+`/`-`: zoom in/out
* `space`: fire a projectile

## roadmap

- [x] simulation of gravity
- [x] controllable spaceship
- [x] collision detection
- [ ] make measurements more realistic
- [x] allow for zooming the viewport
- [x] ~~time scaling / fast forward~~
- [ ] performance improvements
  - [ ] simplify RelGraph (ordered tuples as keys)
  - [ ] don't calculate gravity to every little object
  - [ ] don't do collision detection at a safe distance
- [x] multi player support
  - [ ] Spawn ships for players
  - [ ] Support players disconnecting, timing out
  - [ ] Implement client
  - [ ] Simulate in client
- [x] switch rendering engine
  - [ ] only redraw if necessary
  - [ ] trajectory smoothing?
  - [ ] cosmetics (improved models, stars, …)
  - [ ] Introduce a good HUD
  - [ ] main menu, pause menu
  - [ ] Free viewport (mouse moved)
- [ ] gameplay
  - [ ] limit acceleration, fuel?
  - [x] projectiles
    - [ ] Limit firerate
    - [x] make projectiles self-destruct
    - [ ] reduce redundancy in projectile (cannon + object)
  - [ ] mapping support
- [ ] orbit visualization / prediction

## history

* screenshot of [grav2ty at its first commit](./doc/grav2ty-first-commit.png)
* the previous attempt [grav1ty](https://github.com/sternenseemann/grav2ty/tree/grav1ty)