BrendonButler / BrendonButler/entropy

[Feature] Implement a physics system

Open
#18 0 comments 0 reactions 0 assignees View on GitHub
engine enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.