Colobot

Colobot
Stable release
0.1.7b / April 3, 2016 (2016-04-03)
Development status Active
Operating system Cross-platform
Type Real-time strategy
License GPLv3+
Website colobot.info

Colobot (Colonize with Bots) is an educational real-time strategy video game featuring 3D graphics. The objective of the game is to find a planet for colonization by the human race by establishing a basic infrastructure on the surface and eliminating any alien life forms endangering the expedition. The game takes place on the Earth, Moon, and 7 fictional planets. The main feature of the game which makes it educational is the ability of the player to program his or her robots using a programming language similar to C++ or Java.

The game has been recommended by the Polish Ministry of National Education as a teaching aid for learning the basics of algorithms and object-oriented programming.[1]

Epsitec has released the games' source code under GNU GPL v3 after being contacted by PPC[2] (Recently rebranded to ICC & TerranovaTeam[3]).

Plot overview

Life on earth is threatened by a devastating cataclysm. Mankind has to move out and search for a new home. A first expedition of only robots was sent to find another habitable planet. For reasons yet unknown, the mission was a disaster and was never to return.

With only a few robots for companions, the player must travel to planets unknown. Houston, Earth Mission Control as well as a spy satellite will transmit valuable information to the player. The player needs to build the infrastructure necessary to gather raw materials and energy supplies. You'll need to produce the weapons necessary to defend yourself. By programming your robots, you can delegate certain tasks to them, allowing you to continue your mission while your robots upkeep the base, fight off enemies, and harvest materials.

Language overview

The programming language used in Colobot is CBOT, syntactically similar to Java. Example code for a bot to find a piece of titanium ore and deliver it to a purification facility:

extern void object::FetchTitanium()
{
	object item; // declare variable
		
	item = radar(TitaniumOre); // find a piece of titanium ore
	goto(item.position); // go to the ore
	grab(); // pick up whatever is in front of the robot (presumably the ore)
	
	item = radar(Converter); // find the ore converter
	goto(item.position); // relocate to the converter
	drop(); // drop the piece of ore
	move(-2.5); // back up 2.5 meters to allow the converter to start processing the ore
}

Trivia

External links

References

This article is issued from Wikipedia - version of the 10/11/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.