Understanding The Source

Skycastle is structured into several modules.

The structure at 2007-11-25 was roughly as follows:

skycastle-core
Contains the core classes, such as GameObject, actions, and sensations.

At the moment, contains a lot of interfaces without implementations, that sketch out the major components listed on the Design page. They are used to find a good core architecture that supports all the planned features, and they are also useful as the starting points when implementing one of the features.

skycastle-client
The current client. Quite small and easy to understand. Is not yet connected with the stuff in skycastle-core.

skycastle-server
The current server. Quite small and easy to understand. Is not yet connected with the stuff in skycastle-core.

skycastle-components
Partial implementation of a system that allows you to build complex machines out of simple parts. Was written in test-first manner, so the test classes are a good starting place.

Not yet tied together with the core.

skycastle-texture
Similar to skycastle-components - a system that allows you to create a complex procedural texture by combining simple components. It has a similar component system as skycastle-components, and the two need to have the component system extracted into a separate module eventually.

skycastle-utils
Just a (large) number of mostly self contained utility classes or packages. Should be relatively well javadocced, and understandable by themselves.