FransBots 20251116!

6 new bots for OpenRA Red Alert 20250303

Information and discussion for custom maps and mods.
Post Reply
fransotto
Posts: 16
Joined: Fri Jan 21, 2022 8:57 pm

FransBots 20251116!

Post by fransotto »

Fransbot 20251116!

Additional bots for OpenRA Red Alert 20250330; (Yes, the description is AI-generated ;) )


Fransbots Expansion for OpenRA
This expansion adds six new advanced AI opponents to the standard lineup of Rush AI, Normal AI, Turtle AI, and Navy AI—each designed to deliver a more dynamic and challenging skirmish experience.

These bots utilize specialized units such as engineers, thieves, medics, technicians, and even Tanya! They feature distinct build orders and attack strategies, deploy a broader range of units, and make smarter use of atomic bombs.. All bots are capable of base expansion, making them more resilient on larger maps and in late-game scenarios.

Fransbots consistently outperform the default AI without relying on cheats or artificial bonuses. Their strength lies in optimized base construction, unit production, and economic management—crafted for maximum skirmish enjoyment!

Installation Instructions
Make a backup of your existing ra folder, typically located at: C:\Program Files\OpenRA\mods\ra

Download the fransbots.zip file and replace the contents of your ra folder with the 19 files distributed across 3 folders.

If installed correctly, you'll see the message "Fransbots enabled!" in the skirmish lobby, along with a short description of each bot.

Important: To play with friends, they must also have the bots installed. While Fransbots are active, standard multiplayer games and other scenarios may not function properly. For flexibility, it's recommended to maintain two separate ra folders and switch between them as needed.

Overview of the Fransbot "family";

Air AI deploys frequent, small, well-balanced forces supported by air units. It targets harvesters and construction yards early, often starting with an engineer rush to capture key structures. It expands moderately and uses mines.

Horde AI overwhelms opponents with waves of infantry, rockets, and artillery. It focuses on rapid production of basic units and expands slowly. It captures oil derricks but does not use mines.

Base AI is defensive by nature, keeping units at home until it builds up enough force to strike. It prioritizes economic growth early and expands quickly. It uses thieves to capture oil derricks and deploys mines.

Tech AI relies on small groups of high-end units. It builds its economy early to support advanced tech later in the game. It expands slowly but captures oil derricks and uses mines.

Raid AI constantly harasses with small forces and aggressively deploys engineers and thieves to capture buildings. Though it may not survive long on its own, it excels as a team member or secondary opponent. It expands quickly, uses mines, and has naval capabilities.

Fleet AI specializes in naval assaults. It builds a balanced base and defends until its navy is ready. It expands moderately, captures oil derricks, and uses mines.



Let me know which one gives you the toughest fight!
Attachments
fransbots20250702.zip
Obsolete
(52.01 KiB) Downloaded 1527 times
fransbots20251116.zip
Latest
(51.93 KiB) Downloaded 12 times
Last edited by fransotto on Sun Nov 16, 2025 11:15 pm, edited 7 times in total.

abcdefg30
Posts: 669
Joined: Mon Aug 18, 2014 6:00 pm

Re: FransBots 20250308!

Post by abcdefg30 »

Nice to see you are still updating these :bana:

fransotto
Posts: 16
Joined: Fri Jan 21, 2022 8:57 pm

Re: FransBots 20250308!

Post by fransotto »

abcdefg30 wrote:
Sat Apr 26, 2025 4:45 pm
Nice to see you are still updating these :bana:
Thanks abc.. :)

I understand it might be some fibbling with files as you cannot play online while have the bots installed.

How to add these bots to a specific map?

abcdefg30
Posts: 669
Joined: Mon Aug 18, 2014 6:00 pm

Re: FransBots 20250308!

Post by abcdefg30 »

fransotto wrote:
Tue Apr 29, 2025 11:24 am
I understand it might be some fibbling with files as you cannot play online while have the bots installed.

How to add these bots to a specific map?
Sorry for the late response. You can add them to a map by unzipping the .oramap, adding "Rules: rules.yaml" to your map.yaml file, then creating a rules.yaml file in the map with the contents of your ai.yaml. Then rezip the file as .oramap (the easiest is to use the Map Editor to save the map as unpacked, and then afterwards save it again as packed).

Therapist
Posts: 18
Joined: Wed Jun 10, 2020 6:39 am

Re: FransBots 20250308!

Post by Therapist »

Nice, these AI bots should be added to the game by the devs.

User avatar
Punsho
Posts: 174
Joined: Wed Jul 18, 2018 2:56 pm
Location: Lithuania

Re: FransBots 20250308!

Post by Punsho »

Someone needs to make a github Pull Request

User avatar
Mechanicat
Posts: 14
Joined: Tue Jan 07, 2025 3:36 pm
Location: Earth, Sol system

Re: FransBots 20250308!

Post by Mechanicat »

lots of odd things going on with these bots. there are errors:
actors being listed for the wrong types,
like Dtrk being given as AirUnitsTypes for the Air ai,
fix, atek, stek being declared as ProductionTypes for BaseBuilderBotModule@horde, was they meant to be ProtectionTypes: instead ?,
references to actors not existing in vanilla RA,
like in SquadManagerBotModule@air there is NavalUnitsTypes: e42
or declarations missing a : at the end,
like UnitBuilderBotModule@air doesnt have it,
a CaptureManagerBotModule that included mech units but declared no any eligible target for them to capture,
if you declare a structure a limit of 0 under BuildingLimits you probably dont need to assign any BuildingDelays for it,
spelling mistakes and typos,
Produsctionmincashrequirement: at UnitBuilderBotModule@tech
under SquadManagerBotModule@tech: there is IgnoredEnemyTargetTypes: AirborneActor, given, without any further in the list,
etc. etc.

fransotto
Posts: 16
Joined: Fri Jan 21, 2022 8:57 pm

Re: FransBots 20250308!

Post by fransotto »

Mechanicat wrote:
Sun Jun 22, 2025 2:19 pm
lots of odd things going on with these bots. there are errors:
actors being listed for the wrong types,
like Dtrk being given as AirUnitsTypes for the Air ai,
fix, atek, stek being declared as ProductionTypes for BaseBuilderBotModule@horde, was they meant to be ProtectionTypes: instead ?,
references to actors not existing in vanilla RA,
like in SquadManagerBotModule@air there is NavalUnitsTypes: e42
or declarations missing a : at the end,
like UnitBuilderBotModule@air doesnt have it,
a CaptureManagerBotModule that included mech units but declared no any eligible target for them to capture,
if you declare a structure a limit of 0 under BuildingLimits you probably dont need to assign any BuildingDelays for it,
spelling mistakes and typos,
Produsctionmincashrequirement: at UnitBuilderBotModule@tech
under SquadManagerBotModule@tech: there is IgnoredEnemyTargetTypes: AirborneActor, given, without any further in the list,
etc. etc.
Hello Mechanicat! Thanks for the comments.

Yes, its true there are some odd things in the files.

First of all I know _nothing_ about coding. All entries are trial and error from my side. -I make changes, start a game, observe the AI and take notes, rinse and repeat.

I am using notepad. I cannot get the "Lua for openra" to work.

But the bots are working as intendent -at least on my computer and my local lans.

Some comment:

Demolition truck is put under "airunitstype" because I want it to attack itself deep into enemy base. Else its clump up with the rest of the land units and blows them all up.. It works so I leave it.

Yes, by putting those units under "production" the AI will not produce those buildings if there are not enough money, preventing the AI to stall, also its a way to force the bot to a certain build order.

The Navalunitstypes I am using for for a "second group" of attack force with different target. It works quite well with the "HordeAI" there the artilleries is going after fixed defense strucktures... The "e42" is a leftover from experiments, as I am trying desperatly to get the Airunits to do something else than mindless kamikazes..

The structure limits are there because its easier for me to adjust if required. Also I notice if I put "0" there are no risk the bot get feeling and build it anyway (which it does sometimes).

Capturemanagerbotmodule -I just notice that the mechanics works better when they are on this list, as it not giving any errors I left it. I am happy I got an bot that captures derricks, buildings, harvesters and healing itself...

Yea, spelling errors... Notice the same so now that part is working better (next version).

Anyway, a new version is incoming! I have manage to understand base expansion, economics of the bots so now they are better on small maps as on big maps. The nuke decision and support bombing are also better. I have given up the airunits as I notice the bots cannot really handle more than one airunits at the time (ie they will not land for rearm properly) so I am working with some workaround.

I will also add the bots to some maps because then peoples does not need to play around with files when playing online. Any suggestions?

Stay tuned, update incoming! :)

User avatar
Mechanicat
Posts: 14
Joined: Tue Jan 07, 2025 3:36 pm
Location: Earth, Sol system

Re: FransBots 20250308!

Post by Mechanicat »

fransotto wrote:
Mon Jun 23, 2025 9:23 am
First of all I know _nothing_ about coding. All entries are trial and error from my side. -I make changes, start a game, observe the AI and take notes, rinse and repeat.
Massive +respect
I am using notepad. I cannot get the "Lua for openra" to work.
May i recommend you Notepad++, its very convenient to use.
Demolition truck is put under "airunitstype" because I want it to attack itself deep into enemy base. Else its clump up with the rest of the land units and blows them all up.. It works so I leave it.
Ahh, thats rather very clever.
Yes, by putting those units under "production" the AI will not produce those buildings if there are not enough money, preventing the AI to stall, also its a way to force the bot to a certain build order.
I love it when people discover such hidden functions. So there was a means of more intelligent basebuilding for the AI all along. :lol:
The Navalunitstypes I am using for for a "second group" of attack force with different target. It works quite well with the "HordeAI" there the artilleries is going after fixed defense strucktures...
Ive seen this getting done by declaring a seperate SquadManager that then mutually excludes the first group, by setting up very long lists of excluded units for both. Nice to see you discovering a perhaps more convenient way of doing that.
The "e42" is a leftover from experiments, as I am trying desperatly to get the Airunits to do something else than mindless kamikazes..
Seems to be impossible right now.
The structure limits are there because its easier for me to adjust if required. Also I notice if I put "0" there are no risk the bot get feeling and build it anyway (which it does sometimes).
It still does that :? oh, noe. i thought that was supposed to get patched out by now.

One more question, at some of the AI BaseBuilderBotModule i see
WaterTerrainTypes: Water, ground
both getting declared, what purpose does that serve ? (btw the ground is probably a typo, the G has to be large to match the terrain type string)

fransotto
Posts: 16
Joined: Fri Jan 21, 2022 8:57 pm

Re: FransBots 20250308!

Post by fransotto »

Hi Mechanicat,
Massive +respect
Thanks for the kind words.
May i recommend you Notepad++, its very convenient to use.
..I use "Visual studio" now but I cannot get it work with yaml even if I have downloaded the extension.
Ahh, thats rather very clever.
Nah, the SquadManagerBotModule is so strange. It mostly comes down to the value of "AttackForceInterval" once that one is tuned the naval and air part is not needed anymore (to some extend). Next version of Fransbot I almost not use that part at all...
I love it when people discover such hidden functions. So there was a means of more intelligent basebuilding for the AI all along. :lol:
Thanks, well BaseBuilderBotModule works like this (my observations, obs I dont know coding); It priorities all buildings mentioned in the "ProductionTypes" in case the NewProductionCashThreshold is high enough. It build something random from there. In case not the botmodule start look at the "BuildingFractions" and build something random based on the fraction _and_ building limit. Defensetypes can be used to place certain buildings closer (or away) from enemy. The Module also take the delays into account but that part behave strange in case you have two bots of "same kind". I have also noticed there are other "botModules" that does not really work well in case there are several modules (capture and supportpower for example with "same ID/name" on the map.

Question: Are there any way to give the "botmodules" a unique ID (ie the word after @) once the game starts? As per now all my "Air AI" have for example "BaseBuilderBotModule@air" it would be nice if this could be change to like ""BaseBuilderBotModule@air_player4" in order separate all the modules.
Ive seen this getting done by declaring a seperate SquadManager that then mutually excludes the first group, by setting up very long lists of excluded units for both. Nice to see you discovering a perhaps more convenient way of doing that.
Yes, thanks. I learned something new there. Next version each bot have around 4-5 squadmanagers, on top of that I have cloned some units to give them unique names so similiar/same unit can participate in different squads.

Question The "MaxBaseRadius" in the SquadManagerBotModule seem to tell the radius around the basebuilder the bot should look for units to form a squad. Am I right? The trait description seem off on the site https://docs.openra.net/en/release/traits.
Seems to be impossible right now.
I manage a pretty decent workaround using the "IdleBehavior: ReturnToBase" on the aircraft itself together with AttackForceInterval tuning. The aircrafts have strange behavior in case they manage to "land" before they get a new attackorder, however nothing you really notice while playing. -Now a single AI Yak can snipe 3-4 rocketeers before being downed itself, if its survives it goes home and reload and almost immedlty goes out for hunting again.. Pretty nasty to play against.. :)
It still does that :? oh, noe. i thought that was supposed to get patched out by now.
Maybe it has, I keep it does not hurt and easier for me to adjust or add/remove in case I have to,

Next release will be decent and the best to date, There are a new bot in the family called "Fleet AI" that focus on the navy + heavy defense. All navy units are in squads and the air units focusing on support these squads, due to this new member I had to alter the other bots to at least do some navy. -which required quite a lot alteration, but it become quite ok.

Another "feature" I am proud of is the new engineer. I cloned that unit and gave it about 20 in "RevealsShroud" this together with "CheckCaptureTargetsForVisibility true" makes the bot to claim and capture close by oil derricks at early stage. The old engineer is still there trying to capture enemy base and oil derricks far away (still total random though..) but this engineer-clone have have made the game more enjoyable -especially on 1v1 maps. :)

User avatar
Mechanicat
Posts: 14
Joined: Tue Jan 07, 2025 3:36 pm
Location: Earth, Sol system

Re: FransBots 20250308!

Post by Mechanicat »

fransotto wrote:
Tue Jul 01, 2025 5:05 pm
I have also noticed there are other "botModules" that does not really work well in case there are several modules (capture and supportpower for example with "same ID/name" on the map.
From my experience, as long they are setup so as to not overlap, they tend to function well, or rather at the least: 'as intended'
You can have two seperate capture modules running for the RA engineer and thiefs as their capturer and capture target types are seperate of each other.
Question: Are there any way to give the "botmodules" a unique ID (ie the word after @) once the game starts?
You can assign AI a random different name plate if you wish, but lua was involved.
And ofcourse i do not remember where in which mod-map out of hundreds i had ever seen that one being in use.
Yes, thanks. I learned something new there. Next version each bot have around 4-5 squadmanagers, on top of that I have cloned some units to give them unique names so similiar/same unit can participate in different squads.
You didnt need to do that, as they already can be part of different squads when you did have not exclude them.
Question The "MaxBaseRadius" in the SquadManagerBotModule seem to tell the radius around the basebuilder the bot should look for units to form a squad. Am I right? The trait description seem off on the site https://docs.openra.net/en/release/traits.
The trait descriptions on there generally seem to be correct. if you have any doubts as on what a trait actually does can always open up its .cs file to take a look at yourself. Thats after finding it inside the engine\ folder of OpenRA Modding SDK after having used the build command once.
Another "feature" I am proud of is the new engineer. I cloned that unit and gave it about 20 in "RevealsShroud" this together with "CheckCaptureTargetsForVisibility true" makes the bot to claim and capture close by oil derricks at early stage.
I have a feeling similar result could be achieved by assigning a RevealsShroudMultiplier with ai-only condition given to activate.

fransotto
Posts: 16
Joined: Fri Jan 21, 2022 8:57 pm

Re: FransBots 20250702!

Post by fransotto »

Fransbots 20250702!

First of all thanks everyone here at the forum and on Discord for helping me out, I love you.

Major changes since previous version;

-One more bot added "Fleet AI", focusing on the navy.
-All bots do more or less navy now -in order to counter the "Fleet AI".
-Aircraft do smarter choices and less kamikaze.
-Dublicated and adjusted the engineer for better capturing. Now close by oilderricks will be claimed at early stage.
-Adjusted the minelaying for smarter mining.
-Tweaked the squads quite a lot. For example many bots got a single "Jeep" roaming around for quick response base protection against lone units.
-Harvesters has been "dublicated" and the bot-specific harvesters have longer search range.
-Nukes tweaked even more, expect your nukesilo to be bombed.

mrhatta
Posts: 1
Joined: Tue Oct 07, 2025 1:51 pm

Re: FransBots 20250702!

Post by mrhatta »

Hi FransBots,

I am trying to install your bot in my OpenRA, I've copied the whole "ra" folder into my OpenRA/mods folder but I cannot see the mods in skirmish, I am using macOS. May I need some more steps before running?

Regards.

fransotto
Posts: 16
Joined: Fri Jan 21, 2022 8:57 pm

Re: FransBots 20250702!

Post by fransotto »

mrhatta wrote:
Tue Oct 07, 2025 3:03 pm
Hi FransBots,

I am trying to install your bot in my OpenRA, I've copied the whole "ra" folder into my OpenRA/mods folder but I cannot see the mods in skirmish, I am using macOS. May I need some more steps before running?

Regards.
I am not sure how MacOS is working, but it should be working.. In the skirmish lobby a message should show up right away like this;

Lobby greeting message
Lobby greeting message
lobby.jpg (311.87 KiB) Viewed 8324 times

fransotto
Posts: 16
Joined: Fri Jan 21, 2022 8:57 pm

Re: FransBots 20251116!

Post by fransotto »

Changes in Fransbots 20251116;

-Minor alterations, cleaned up files, preperation for next version of OpenRA.

Post Reply