Colored Trails Developer Manual


Use the following links to navigate through the tutorial. If you are a beginner, we advise you to start from "Section 1: What CT is" and linearly advance forward. More experienced users may directly go to their topic of interest.


Section 1: Introduction

1.1. Who needs Colored Trails

1.2. Technologies used by CT

1.3 Who develops CT?

Section 2: Getting started

2.1 IDE configuration

2.2 Launching CT from command line

Section 3: CT architecture

3.1. The client, the server and the controller

3.2. Making it easy: the configuration file

3.3. Exchanging messages

Section 4: Configuring CT

4.1. Structure of the configuration file

4.2. Using the controller

4.2.1. Handling command-line arguments in the controller

4.3. Putting it all together: a simple example

4.4. Human and computer clients

4.5. Passing arguments to the configuration class

Section 5: Deep into CT

5.1. Elements of the server

5.1.1. The game status class
5.1.2. Create your own functionality: communication

5.2. Elements of the UI

5.2.1. Board
5.2.2. Transfer window
5.2.3. Proposal window
5.2.4. Moving
5.2.5. Find your way: the path finder
5.2.6. Hide it: partial visibility
5.2.7. Do what you want: arbitrary messages
5.2.8. Waiting for clients to complete an action

5.3. The CT API

Section 6: Logging

6.1. Logging the server output with Log4J

6.2. Logging experimental data

6.2.1. Logging to stdout
6.2.2. Logging to MySQL with ExperimentLogger

Section 7: Testing

7.1. Unit testing with JUnit

Section 8: Internationalization

8.1. Getting started with internationalization

Section 9: Extensions

9.1. Colored Trails and BDI: CTAPL

9.2. Integrating WEKA Classifiers

Section 10: Troubleshooting

10.1. Client cannot connect to server / Connection refused

Section 11: Conclusions