Space Battle Arena
Space Battle Arena is a ‘Programming Game‘ where you must write code (in Java) to autonomously control a space ship to accomplish specified objectives.
This has been a final project used in an Advanced Placement High School Computer Science course since 2012. Students have been enthusiastic, excited, challenged, 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.
In addition, it means the challenge is fixed and always the same. For an educational context specifically, where this is most students first exposure to a 'third-party' library. We wanted a system which could ease them into new concepts that build on what they had learned throughout the course of the year.
Finally, allowing the system to be extensible and configurable, means that challenges and difficulty can be directly geared to a specific group of students abilities which can fluctuate from class to class. Space Battle was our test bed and has proved successful with the multiple different challenges we have run over the past few years.
Space Battle Arena is licensed under the GPLv2. Gson is licensed under the Apache license and provided for convenience alongside the release.
Student Environment
It is expected that students have completed a full year of Java programming in high school or just over a semester of programming at the college level.
We use jGRASP as our IDE of choice when working with High School students, but any Java IDE can be used that is capable of adding a jar to a classpath and executing a class from within the jar as the main class.
Documentation
- Client Setup
- BlueJ
- Command Line
- Eclipse
- jGRASP
- VS Code
- VS Code (CSharp) [Community Driven]
- Java Docs
- Guides
- Server Information
- Lessons
- 00 - Intro and Setup
- 01 - Find the Middle
- 02 - Shapes in Space
- 03 - Intro to Radar
- 04 - Finite State Machines
- 05 - Competitions
- Competitions
- External Resources
- Twitch Archive - Recent Tournament Archives
- YouTube Playlist - Past Competitions
- Beat Senioritis with a Real-Time Networked Space Sim - CSTA 2016
- You Have Died of Dysentery: Games in Education Are Still Alive - PAXDev 2014
- Reach for the Stars - PAXDev 2012
- Development - Extend Space Battle Arena