While looking for a blog topic, I came across Colobot, a real-time, 3-D first-person strategy game that teaches users how to write computer programs. The pretense is an engaging one. The user is an astronaut who is equipped with robots. The user must use these robots (called “bots”) to make the planet he or she is currently on safe for human colonization (thus the name (“colony”+”robot”=”Colobot”)). In order to get the bots to accomplish tasks, the user must write the commands in CBOT, Colobot’s programming language, which is similar to the C or Java programming languages in its syntax.
Upon initial launch, the user is prompted to create an user account and character. The next screen presents the user with a switchboard interface that is graphically enhanced to make it appear similar to a control panel for a highly technical piece of equipment. Here users can configure Colobot and choose what kind of scenario they want to play out. The screenshot on the left shows this screen. There is a series of tutorials to help new users get accustomed to Colobot and the CBOT language, so this is what the author chose to do while experimenting with Colobot. The goals of each tutorial vary so the user can get a very clear idea of the missions that lay ahead.
Once the game has begun, the user finds him or herself in the role of the astronaut. A button in the upper left corner allows for users to toggle between being the astronaut and being one of the bots. To command a bot, the user must open the Program editor (shown in the screenshot at right). Here the user instructs the bot on what to do. Commands include movement, rotation, location scanning and object manipulation, among other things. Looking at the simple script that the author created, you can see that the bot has been instructed to turn ninety degrees left (to turn right, -90 would be used) and to fire its flame cannon at the spider. Clicking the Execute/stop button will verify that the code will work. Click on the OK button and the program is executed (see the screenshot below).
One of the great components of this software is the help feature integrated into the Program editor. The help provided includes both general assistance relating to the CBOT language as well as assistance writing a program for the given training scenario. In the first instructional scenario, users are even provided with the complete program to complete the mission. The author called upon this integrated help repeatedly while learning to use Colobot and found it to be very helpful. The screenshot below shows a typical help session.
In closing, I just want to say that this is an engaging and imaginative way to teach young people how write computer programs. This application is greatly enhanced by slick, colorful graphics and fun, realistic sound effects. When users learn to write complete programs (as opposed to doing things one step at a time as the author did) that’s when things really become visually appealing. It’s fun and fascinating to watch a bot complete a task and automatically go on to the next one like a, you guessed it, robot. Colobot is available on Linux and Microsoft Windows platforms.
Colobot [software]. (n.d.). GNU General Public License.