-
Notifications
You must be signed in to change notification settings - Fork 9
/
TODO.txt
30 lines (27 loc) · 1.33 KB
/
TODO.txt
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
Pathfinding TODOs:
Pikachu-class (walk + jump):
- Penalize paths that go through water
- Optimization: cache tile-type checks (required for multi-tile entities)
- Fix bugs in hasDirectPath computation
- Leave a buffer around the player when following
- We must intelligently select a point near the player to path to, instead
- (Going from non-zero acceleration to zero and back results in jerky follower movement)
- Try to de-dupe diagonal and direct jumps without losing optimizations
- We can do this by building a "jump trie"
- Use dynamic programming to shorten paths
- The "hasDirectPath" check should pass if every step on the path is a height drop
- When in the air, path from the landing site
- Combined with the DP check above, we can more intelligently merge jumps
- Similarly, if we're grounded but our center is not, adjust the source
Other classes:
- Multi-grid-cell entities
- Entities that can break some cell types
- Diggers (move through ground-type cells)
- Swimmers (walk, jump, and water-surface)
- Divers (move through fluids)
- Levitate (move through air cells)
- Flyers ("jump" through air cells - constant motion?)
- Phasing (levitate + move through solid cells?)
- Combinations of the above attributes
It may be that digging, swimming, and levitatation are the same ability just
applied to different types of cells.