Starpoint Arena

Overview

This is an overview of the most important platform independent game implementation issues.

Check Application implementation overview for information about 2D and 3D application implementations.

Gaming

The main classes relevant during game are shown in this UML-diagram:




The game sequence is as follows (according to the GameState-updates frequently sent to the update()-method of the main application:



The main game sequence while a level is played is the loop with the four states RoundBegin, RoundBeforeGettingMoves, RoundBeforeMoves, RoundBeforeUpdate. Each GameState-object contains an animation index as shown in the diagram that is used for a 4-phase-update per round. For smooth painting, the 2D-painters manage a repaint-counter, that is used to smoothen moves and animations during the 1-5 repaints per phase. This sequence while playing a level is as follows:




The sequence when a figure picks up an item is as follows:




Extending the game

Starpoint Arena can easily be extended by:
  • Items - check class com.starpoints.game.Item for details
  • ComputerFigures - check class com.starpoints.game.ComputerFigure for details
  • Fogs - check class com.starpoints.game.Fog for details

Copying a JAR with own extensions into the lib-folder automatically makes them available in the quest editor.

Check StarpointArena_Doc.html for further information.

API documentation

Packages 
Package Description
com.starpoints
Contains main classes for StarpointArena.
com.starpoints.animation
Contains classes for game state changes that are collected during one game update cycle.
com.starpoints.editor
Contains classes for the level editor.
com.starpoints.event
Contains event handler and platform independent event classes for input events.
com.starpoints.game
Contains the classes for the StarpointArena game.
com.starpoints.game.figure
Contains the figure subclasses, that implement the individual figure behaviours.
com.starpoints.game.fog
Contains the fog subclasses, that implement the individual fog behaviours.
com.starpoints.game.item
Contains the item subclasses, that implement the individual item behaviours.
com.starpoints.game.listener
Contains listeners interfaces for different events during the game.
com.starpoints.graphics
Contains some platform independent graphic objects.
com.starpoints.io
Contains readers and writers for different file based info objects.
com.starpoints.league
Contains classes for the league game.
com.starpoints.log
Contains a (more or less unused yet) Logger.
com.starpoints.network
Contains network handling components and message objects.
com.starpoints.painter
Contains 2D painters.
com.starpoints.painter.arena2D
Contains special 2D painters for things.
com.starpoints.painter.editor
Contains 2D painters for level editor.
com.starpoints.painter.menu
Contains menu item implementations.
com.starpoints.sound
Contains classes for sound updates.
com.starpoints.state
Contains state classes for UI updates, replay and best move storage.