
Own Game Engine
The major functionality of the engine was split into subsystems/services to limit the number of dependencies for better encapsulation. This makes it easier to maintain, update and test the game.
Implementation - Sophie Amelin
Guidance - DI Roman Divotkey

TECHNICAL DETAILS
A simple Asteroids game was developed to test the different features and display the functionality of the game engine.
The most important features are explained below.
SERVICE LOCATOR
It organizes and provides access to these services. Any service can request the access to another service via the service locator. It is responsible for the startup, update and shutdown of all services.
ENTITY MANAGEMENT
Another important part of the engine, which is a service, is the Entity Management. It provides component-based entities for the game. Game entities are elements within the game which (generally speaking) move and have a position within the game world.
One entity can have several components such as a physics body, a collider or a certain visualization.
DOWNLOAD CODE SAMPLES
STATES AND EVENTS
Managing states and automatically carrying out state changes is enormously helpful. State changes are triggered by events. In this game, these states represent different levels. These are triggered by events like finishing a level or dying.
GRAPHICS ABSTRACTION LAYER
Graphic engines need to be implemented for a concrete target platform and programming interface. Hence, each graphics engine needs to be used in its own way. The graphics abstraction layer allows to offer general services which provide common visualization tasks independently from the graphics engine used.
GIT REPOSITORY
Java project created with Eclipse Neon.3:
https://github.com/sophie333/GameEngine.git
Once cloned:
- Run 'GameLauncher'
- Navigate with arrows
- Shoot with space