2024-02-06 15:26:20 +01:00
|
|
|
## Levels:
|
|
|
|
|
|
|
|
|
|
- ignore comments in lvl files
|
2024-02-26 14:43:03 +01:00
|
|
|
|
2024-02-11 13:00:56 +01:00
|
|
|
- check when sphere bounces from one end to the other endlessly w/o
|
|
|
|
|
any solids in between. this is a game lock and equals game over
|
2024-02-26 14:43:03 +01:00
|
|
|
|
2024-02-13 18:15:52 +01:00
|
|
|
- Start the game end timer and add a score FIXME: put the actual max
|
|
|
|
|
reachable score into the level definition along with the minimum
|
|
|
|
|
steps required to reach it, also add a step counter
|
2024-02-09 20:20:13 +01:00
|
|
|
|
2024-02-11 13:00:56 +01:00
|
|
|
- Grid Observer:
|
|
|
|
|
https://github.com/mlange-42/arche/issues/374
|
2024-02-18 18:19:34 +01:00
|
|
|
|
2024-02-26 14:43:03 +01:00
|
|
|
- Add some final message when the player reaches the last level, start
|
|
|
|
|
from scratch or a message to buy me some beer, whatever
|
2024-02-18 18:19:34 +01:00
|
|
|
|
2024-02-26 14:43:03 +01:00
|
|
|
- Check player-player collisions!
|
2024-02-18 18:19:34 +01:00
|
|
|
|
2024-02-26 14:43:03 +01:00
|
|
|
- Add player mergers, possibly as an option, so maybe we could have
|
|
|
|
|
different primary and secondary players: one pair can merge, the
|
|
|
|
|
other not. Like S + s and M + m or something.
|
2024-02-19 19:05:48 +01:00
|
|
|
|
2024-02-26 14:43:03 +01:00
|
|
|
- Add shaders for animation (player destruction etc)
|
2024-02-19 19:05:48 +01:00
|
|
|
|
2024-02-26 14:43:03 +01:00
|
|
|
- Add player HUD + Stats (as hud_system!)
|
2024-02-20 18:47:32 +01:00
|
|
|
|
2024-02-25 14:05:44 +01:00
|
|
|
|
2024-02-26 14:43:03 +01:00
|
|
|
## Collider Rework
|
2024-02-25 14:05:44 +01:00
|
|
|
|
|
|
|
|
- do not use the map anymore for collision detection
|
2024-02-26 14:43:03 +01:00
|
|
|
- central collision_system
|
|
|
|
|
- add Collider component with callback funcs to call on certain events
|
|
|
|
|
- callback types:
|
|
|
|
|
- rect intersect (== future collision)
|
|
|
|
|
- collision resolve (set new position)
|
|
|
|
|
- pass over foreign rect (to e.g. change sprite while flying over sprite)
|
|
|
|
|
- pass over done (switch sprite)
|
|
|
|
|
- check for all moving objects against non-moving ones like moving
|
|
|
|
|
obstacle, player, bullet, laser
|
|
|
|
|
- check if executing callbacks within query loop is allowed
|
|
|
|
|
- callback function needs to be able to modify other components, so
|
|
|
|
|
possibly use observers for them, e.g.:
|
|
|
|
|
Collider.IntersectResolve => func(newpos) {player.pos = newpos; player.vel = stop}
|
|
|
|
|
- in the end it must be possible to add new entities without the need
|
|
|
|
|
to write a collision check for them, but have collision detection anyway!
|