AI, Modding, PvE, Raptors, Scavengers, Gameplay
February 9, 2024

Unbacom removed from BAR

Unfortunately camels back has been broken by one last straw, and unbacom has been removed from BAR, and will remain removed indefinitely. In short, it is too unstable and causes too many bugs to remain in its current state. Read on for more details!

Last updated:
February 9, 2024

Unbacom removed from BAR

Why did this happen?

Unbacom has a history of breaking things. In the past year or so it has regularly caused bugs with gridmenu, buildmenu, and pregame building. This alone was quite bad, but in the past couple of days unbacom completely broke Barb AI, causing a ton of confusion and a flood of bug reports.

Technical explanation

Unbacom basically works by having a super unit from the start, it has all the weapons, damage, and buildoptions. Then, as milestones are reached it levels up, and it does so by going through and unlocking some of these buildoptions and weapons. So what’s wrong with that? Well, this is the only unit in BAR that works this way, and none of the systems of the game are made to work with it. So instead of it just being a unit that got enabled when this option was turned on, it had code spread far and wide throughout the game to give custom handling for this specific unit.

This was mostly located in gridmenu, buildmenu, pregame, and unit stats display. Over the last year or so, myself and others have tracked down and fixed a lot of these bugs, but this kind of maintenance overhead for what should be a simple unit was becoming more and more laborious. And then recently, Barb AI broke because of it - for the similar reasons as the other cases, Barb saw this nice huge buildlist that unbacom had, and would try to make some of those things, but because of the custom handling spread throughout the codebase, it got denied, and would basically get stuck in a loop trying to build something that other parts of the code wouldn’t let it.

Now, this bug could be fixed. And indeed, many bugs like this have been fixed in the past. But it was decided that the maintenance cost, as well as the regular regressions and bug reports caused by it was too high to allow it to remain.

What now?

Unbacom isn’t being barred (heh) from the game, if the technical issues described above can be addressed by a willing and capable volunteer, there is a good chance it will get added back. Since the creation of unbacom, there’s been a new evolving unit on the field: legion com. Instead of doing what unbacom did and having a bunch of custom code spread around for the different levels, legion com is literally just a bunch of different units, each with their own buildlists and weapons. So now, instead of having custom handling in tons of different core parts of the codebase, it can just swap the unit out for a different one, and all these systems will treat it exactly the same as they treat any other unit.

This won’t be a simple task however, it will amount to being a complete rewrite of unbacom from the ground up. But if you think you can do this, don’t hesitate to volunteer!

More Images

More microblogs