Space Battle Arena Materials

Published 9/11/2013

AP CS education Java Python ShipsInSpace

You may have seen our 'Ships in Space' videos before.  We're happy to finally release the materials for Space Battle Arena v0.9.Space Battle Arena

Space Battle Arena is a 'Programming Game' where students must write code (in Java) to control a space ship to accomplish specified tasks.  We have performed this project and its challenge two years running now with great success.  Students have been enthusiastic, excited, and engaged with learning to control a ship in a physical environment and comparing strategies against their fellow students in a fun competition.

The question of why 'Space Battle' over an existing platform (like Robocode) was brought up during our Reach for the Stars talk.  The answer is that most programming games are built around a specific objective.  This means that while there may be varying strategies, eventually the problem can be solved and solutions available.  It also means that it will always be the same challenge.  For an educational context specifically, where word can travel fast and students may remain in proximity over multiple years, we wanted a system that could be extended, reused, and changed over time.  Space Battle was our test bed and proved this with the two different challenges we were able to run over the past two years.

We will continue to work on our project in the coming year, so please refer to this page for any future updates.  We'll post new information here and on Twitter as it becomes available.

This project has evolved over the last two years to be a really exciting post AP Computer Science project.  If you plan to use it in your class and need assistance, please drop us a line at our e-mail below.

Packages:

[Space Battle Arena Server v0.9 (Windows)](http://www.mikeware.com/downloads/SpaceBattleServer.zip)

[Space Battle Arena Client for Java w/ JavaDoc and Example Ship](http://www.mikeware.com/downloads/SpaceBattleClient.zip)

**Documentation:**

[Client Setup Instructions](http://www.mikeware.com/downloads/SBAClientInstructions.docx)

Add both jars to the classpath.

Create a Ship which implements the Spaceship interface.

Execute the TextClient class of the SpaceBattle.jar with two arguments the first being the IP Address of the server and the second being the name of the Ship's Class.

Online JavaDoc

[Server Setup Instructions](http://www.mikeware.com/downloads/SBAServerInstructions.docx)

Use the run.bat with the name of a config file for an argument

[Lesson Outlines](http://www.mikeware.com/downloads/SBALessonOutlines.docx)

The above materials are provided under the Mikeware Educational License (MEL).