This virtual world was a culmination of a 12 weeks of learning the java language in detail, how objects interact, and efficent class/object creation. The user may click any spot on the "map" and create a local freeze event which changes the background permanently. If any of the autonomous entities are to walk through affected area, their procedures change as well having to slow down and change appearance.
See full code repository here
In order to create the most efficient classes and interfaces, I created a diagram using the YED editor in order to display and keep track of what entities were inheriting which properties and functions. Once the hierarchy was decided, I determined which properties could be private, protected, or public. specifically I attempted to reduce the amount of public properties as much as possible.