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
- Builders are now the only bots allowed to build buildings.
- Like the Astronaut, Builders have the ability to scan for flat ground.
WingedBuildercan 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
- 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
- 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:
- Added new functions:
- Added new types:
- Changed some functions from object-oriented to free functions in order to improve compatibility with CeeBot4 SCHOOL:
- Added automatic object detection for
PracticeBotis now an alias for
sizeof()operator for numeric data types [@melex750].
- Added binary and character literals [@melex750].
protectedkeywords for methods [@melex750].
deadboolean 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
- 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
- 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].
PhazerShooterare now referred to as
- 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.
colobot-lintresults 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
- 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
- Renamed 'freemissions’ back to 'free’.
update-potCMake 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
boostlibrary 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
savedirectories can now be specified with environment variables.
- The changes allow to embed
datafiles 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
datasubmodule 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
- Fixed imprecise integer arithmetic operations [@melex750].
- Fixed unsigned right shift operator
casenot accepting negative values [@melex750].
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
externkeywords 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
externfunction with parameters [@melex750].
- Fixed crash when passing an
objectarray as the category parameter to
- 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].