Skip to content

Understanding the Angle Codebase

Sumner Evans edited this page Feb 8, 2017 · 3 revisions

The Angle Codebase has three main components: the Client, the Server, and code that is shared between them. In addition to these main components, Angle also depends on BCF and BlueGin.

Overview

In general, the Client is responsible for any GUI/Graphics/UX aspects of the game while the Server is responsible for the gameplay and configuration loading. Any code that needs to be shared between the two is in Shared. Additions to Shared should be made with discretion.

Client-Server Communication

The Client and Server communicate via TCP. Angle uses BCF to encode the messages.

Client

Server

Configuration

The server contains the master configuration. This configuration will be propagated to the clients when necessary. The configuration is done in JSON in server/src/main/resources/configs. The following are links to wikis about the configuration options for various entities.

Shared

Shared contains utility classes, configuration and asset management classes, exception wrapping classes, and resolver classes.

Clone this wiki locally