Click the „Read more” button for a full changelog.

Our biggest release to date, 0.2 brings new playable units, a new gamemode, better mod support, and more!

The game is available for download here.


Introducing Builders, a new type of bot utilized by the First Expedition.

  • Researched in ResearchCenter.
  • Builders are now the only bots allowed to build buildings.
  • Like the Astronaut, Builders have the ability to scan for flat ground.
  • WingedBuilder can build while airborne.
  • Buildings built by a trainer Builder are also trainer.

Missions+, an alternative campaign with bonus content and additional challenges, optimized for a programming-only playthrough.

  • Includes a brand new mission on Volcano – Reverse Engineering, taking place between Transport and Analysis.
  • The mode provides additional challenges for players who have already beaten the game (although it is not a prerequisite):
    • Space Programmer – no radio-control, meaning this is a test of your programming prowess. Defeat your past self.
    • Space Researcher – by default Missions+ allow you to use all technologies you previously aquired, this challenge disables that.
    • Space Explorer – disables Astronaut’s abilities. As per usual your bots will have to do all the work. Fleshbag.

  • Added new PracticeBot types: TrackedTrainer, WingedTrainer, LeggedTrainer, HeavyTrainer, and AmphibiousTrainer.
  • All trainer bots (apart from TargetBot) now differ visually from their normal counterparts.
  • Trainer bots can now be built in BotFactory.
  • Buildings can now be trainers (a trainer BotFactory can only be controlled using CBOT factory() and will assemble trainer bots, etc.).

CodeBattle levels have been redesigned to utilize Builders and be more visually pleasing.

  • Levels are now split into two categories:
    • Training – a singleplayer mode for practice and testing your programs.
    • Versus – symmetrical 1v1 combat scenarios (challenge someone on Discord to an asynchronous duel).
  • Updated level layout, visuals, descriptions.
  • Added camera viewpoints.
  • Added enemy team AI in Training mode.

  • Heavy bots can now destroy bushes on contact allowing other objects to pass.
  • Added dedicated animations for plant destruction.
  • Recycler can no longer recycle small building ruins.
  • Thumper can no longer destroy buildings and mushrooms.
  • Thumper can now destroy the smallest Crystal, ground marks, Fireworks, Bushes and other small plants, Bag, ApolloModule, small CeeBot-Teen objects, and Barriers.

TargetBot is now a playable unit.

  • Researched in AutoLab.
  • Wrecks and ruins are now destroyable by ramming a TargetBot into them.
  • TargetBot is now more fragile and can be destroyed by Ants and Spiders, as well as water.
  • Updated Alien AI in Missions (some Ants will attempt to run from TargetBots).

  • Added new categories for exisiting objects: BrownMushroom, GreenMushroom, Ruin, Bush, GraviPlant, and Crystal.
  • Added new functions: flag() and deflag().
  • Added new types: byte, short, char, long, and double [@melex750].
  • Changed some functions from object-oriented to free functions in order to improve compatibility with CeeBot4 SCHOOL: factory(), isbusy(), takeoff(), research(), destroy().
  • Added automatic object detection for factory(), research(), takeoff(), destroy(), and camerafocus().
  • PracticeBot is now an alias for WheeledTrainer, TrackedTrainer, WingedTrainer, LeggedTrainer, HeavyTrainer, AmphibiousTrainer.
  • Added sizeof() operator for numeric data types [@melex750].
  • Restored repeat() instruction [@melex750].
  • Added binary and character literals [@melex750].
  • Improved switchcase statement [@melex750].
  • Added private and protected keywords for methods [@melex750].
  • Added dead boolean member variable for objects, indicating whether an enemy is alive or dead [@Droog71].

Mod Manager allows the player to manage installed mods in-game.

  • Accessed from the main menu.
  • Can enable or disable each mod without the need to restart the game.
  • Shows metadata from the manifest.txt file.
  • Displays a list of subdirectories included in a mod to give a rough idea of what that mod adds/changes.
  • Mods can be reordered (if there is a conflicting file between multiple mods, the file from the last mod on the list will be used).
  • General improvements to reloading game resources on-the-fly.
  • The list of mods is stored in the colobot.ini file.
  • Added AltTextures example mod that replaces textures of certain objects.

  • Sniffers can now plant flags but can no longer scan for flat areas.
  • Added WayPoint animation for deleting ground marks.
  • Vault is now buildable.
  • Run multiple ticks if game speed is 2 or higher [@immibis].
    • This should make the game more stable and predictable at higher simulation speeds.
  • Improved the VSync setting.
  • Updated Polish translation [@TerranovaTeam, @suve].
  • Updated French translation [@B-CE].
  • Recycler, Thumper, Shielder and PhazerShooter are now referred to as Heavy bots.
  • Added option to mute sounds when game is not focused [@Erihel].
  • Audio settings are now updated on each change [@Erihel].
  • Improved loading dialog [@Erihel].
  • Added sub-folders in CBOT editor open/save dialog [@melex750].
  • Improved shadow quality on OpenGL 2.1 [@timgott].
  • Fixed specular lighting on OpenGL 2.1 and OpenGL 3.3 [@nextghost].
  • Added power cell capacity parameter.
  • Added new splash screens.
  • Updated logos.
  • Updated SatCom documentation [@TerranovaTeam, @immibis, @HamsterofPi].
  • Updated Barricade models.
  • Updated shading on trainer body.

  • Replaced Jenkins with GitHub Actions.
  • Send comment when pull request targets the wrong branch.
  • Safely upload linter results from forks to GitHub.
  • Send colobot-lint results to GitHub using annotations.
  • Fixed AppImage build.
  • Updated READMEs:
    • Updated commands in the build tutorial.
    • Mentioned Guix package [@ccao001].
    • Mentioned Fedora package [@mszpak].
    • Updated contact section – added Discord server, removed forum and IRC channels [@MrJohn10].
  • Fixed MSVC building issues [@TerranovaTeam, @jaladreips].
  • Fixed GCC11 diagnostics [@suve].
  • Refactored SaveState and RestoreState to use streams [@melex750].
  • Removed unnecessary warning if there is no fonts.ini file.
  • Improved sound reloading.
  • Support new-format text models through the same code path as old models [@immibis].
  • Added several fixes to the Blender import/export script [@immibis].
  • Added ability to use arrays in colobot.ini.
  • Renamed ‘freemissions’ back to ‘free’.
  • Fixed update-pot CMake target not working with MSBuild.
  • Moved UI mouse particles generation to a new class [@MrJohn10].
  • Save screenshots using PHYSFS instead of FILE* [@melex750].
  • Fixed missing include after boost library update [@mgorny].
  • Fixed missing STD includes [@suve].
  • Added support for binary relocation:
    • Relative paths are now based on the binary path instead of the working directory.
    • Paths to data, lang and save directories can now be specified with environment variables.
    • The changes allow to embed data files in AppImage.
  • Removed unnecessary dependency on libwebp that caused compilation problems with static builds.
  • Fixed manpage build rules to work with Ninja generator [@mgorny].
  • Fixed build on ARM and PPC [@pkubaj].
  • Added FreeBSD build support [@fernape].
  • Sort input file list in data submodule for reproducible builds [@bmwiedemann].

  • Fixed some bugs and memory leaks in CBOT [@melex750].
  • Fixed inherited data members not being saved [@melex750].
  • Fixed programs hanging/crashing at delete() [@melex750].
  • Fixed imprecise integer arithmetic operations [@melex750].
  • Fixed unsigned right shift operator >>> [@melex750].
  • Fixed switchcase not accepting negative values [@melex750].
  • Fixed factory() being able to produce non-bot units.
  • Fixed crashes caused by produce() attempting to create objects with a type value that doesn’t exist [@Droog71].
  • Fixed collision bug with scaled plant crashsphere.
  • Fixed collision bug with exploding Heavy bots.
  • Fixed use of object:: notation for other classes [@melex750].
  • Fixed crash after changing public functions [@melex750].
  • Disallow using public or extern keywords multiple times for one function [@melex750].
  • Fixed classes bypassing the execution timer [@melex750].
  • Fixed game hanging when calling constructors in an infinite loop [@melex750].
  • Fixed game game crashes when running extern function with parameters [@melex750].
  • Fixed crash when passing an object[] array as the category parameter to radar() [@melex750].
  • Fixed burning objects not having collisions.
  • Fixed infinite loop when setting VSync.
  • Detect invalid UTF-8 characters [@suve].
  • Fixed crashes related to invalid UTF-8 characters.
  • Fixed mipmaps being outdated after texture update.
  • Fixed the issue with objects and terrain being darker than they should be.
  • Fixed crash when quick-saving with increased game speed [@immibis].
  • Fixed crash on bad savegame title [@Erihel].
  • Prevent creation of overcharged PowerCells [@Droog71].