Starpoint Arena

Overview

This is an overview of the most important application implementation issues.

Application structure

Starpoint Arena consists of three main packages: Any main application must implement interface StarpointContext, that is used for interaction between the core game and the surrounding application.

The main application control flow is described in this diagram:




In 2D gaming, the context application only requires to provide platform specific implementations for:

Since Starpoint3D requires the JAVA3D-API, it is implemented as seperate application (allowing 2D gaming as well). It provides an own PainterFactory for 3D-specific painters, special mouse handling for changing camera perspective and the complete 3D-scene creation and -modification based on the GameState-updates.

2D painting

As shown in the initial diagram, StarpointArenaNG is completely capable of doing all 2D-painting necessary for the standard game.

Depending on the GameMode (Menu, Editor, Game etc.), a PainterSet consisting of layered painters is used for painting to the GraphicContext (provided by the main application).
During game, these layers are as follows:




The Painter2DArena-class implements the logic for displaying the field and all game elements. Its paint sequence is as follows: