I would like to propose implementing an ECS model. Instead of an inheritance scheme from entity -> character and Entity -> player you would just have an Entity and each entity is described but the components used. The behaviour of each entity would be dictated by the components used to describe that entity. You basically have a collection of systems that manipulate the Entity based of what components each entity has. An Entity may have a location component that describes the location/rotation of the entity. The render will use the LocationComponent to determine where to draw the Entity. We would need to figure out the base components that would be used by LastTry and how they will behave for each system.
Wikipedia:
Entity: The entity is a general purpose object. Usually, it only consists of a unique id. They "tag every coarse gameobject as a separate item". Implementations typically use a plain integer for this.[6]
Component: the raw data for one aspect of the object, and how it interacts with the world. "Labels the -
Entity as possessing this particular aspect". Implementations typically use Structs, Classes, or Associative Arrays.[6]
System: "Each System runs continuously (as though each System had its own private thread) and performs global actions on every Entity that possesses a Component of the same aspect as that System."
Sooo, big update here. The project is not dead. I'm working on it on the remake branch, implementing something like https://github.com/libgdx/ashley . I enjoy this pattern, thanks for pointing me onto it ;)
I would like to propose implementing an ECS model. Instead of an inheritance scheme from entity -> character and Entity -> player you would just have an Entity and each entity is described but the components used. The behaviour of each entity would be dictated by the components used to describe that entity. You basically have a collection of systems that manipulate the Entity based of what components each entity has. An Entity may have a location component that describes the location/rotation of the entity. The render will use the LocationComponent to determine where to draw the Entity. We would need to figure out the base components that would be used by LastTry and how they will behave for each system.
Wikipedia:
Examples: https://github.com/libgdx/ashley https://github.com/junkdog/artemis-odb