BrendonButler / BrendonButler/entropy
[Feature] Implement a physics system
- Dominant language
- Java
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
### Description of the Feature
A physics system will be essential for managing collisions, animating motion, and more.
A simplified implementation can be used to start, and additional features can be added during feature development. It will be worth ensuring any methods and types are reusable and can be fully manipulated based on given inputs. The JavaDoc should also include any physics algorithms being used by the method and all inputs should be thoroughly defined.
This should include a way to check for collisions between entities defined in GH-17 at a high level, with the collision being overridable by custom collision implementations. This will allow for collisions such as a ghost's collide-able body being different than the _veil_ or sheet around it, for example (although this sheet would probably be handled by effects instead of the sprite itself).
### Benefits of the Feature
1. A physics system with all variables being customizable allows for full control of the algorithms outputs (some systems statically assign different algorithm values based on real-world values, but for games, these should be able to be changed (e.g. gravity, terminal velocity)
2. This should hold high-level methods that associate with common algorithms
3. Entity collisions are handled here and are overridable
### Additional Information
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.