Humbly Submitting "epAI" Bot

(Which is sometimes able to beat Hard AI 1v1)

Discussion about the game and its default mods.
Post Reply
earthpig
Posts: 31
Joined: Sat Apr 21, 2012 1:10 am

Humbly Submitting "epAI" Bot

Post by earthpig »

Yay. epAI just (slowly and over the course of 52 minutes) defeated Hard AI 1 on 1. It's done it a few times before, but the assault force it put together this time was especially cool. So I thought I'd celebrate this victory by sharing what I've been playing God with.

I haven't done much testing playing against epAI myself as a human because I know it's habits well enough that it wouldn't be much of a learning experience to help me improve it. If you use epAI and enjoy it, please post replays for me to learn and tweak from.

This is mostly intended for those of us that are bored with being able to win 1 vs 5 Hard AI but that also play when there aren't a lot of other human players around. Throw a few epAIs into the mix to get more varied behavior that your tried-and-true "how to beat any bot" formula may not be as effective against.

Some notes compared to Hard AI:
-Starts slower, but amasses better/bigger attack forces mid/late game (that include artillery/v2). You can easily rush epAI and defeat it early in the game, but when you're doing 1v5 it may not be possible to knock them all out that early.
-Seems to perform better as Allies than Soviets.
-Builds fewer Ore Refineries, but still too many. The opportunity cost of less Ore Refineries is that it doesn't build it's second one until waaay too late in the early game.
-Builds slightly more defensive structures, especially anti air.
-With the increased use of rocket dudes, it should be stronger vs human players that use lots of aircraft.
-Like all bots I'm aware of, it is strongest if placed in the southest corner of the map or at least south of the human if at all possible. (Don't ask me why, but they love building defenses north of their command center regardless of where the opposition is likely to attack from....)
-Still doesn't use aircraft, still can't handle island maps. Fixing that is beyond the scope of my nascent understanding of both programming (making this bot was not really even programming) and the game's mechanics.

OK, so here it is:

Code: Select all

	HackyAI@epAI:
		#If you make any changes to this, please rename your
		# custom bot to something else to avoid confusion
		# in viewing replays, sharing information, etc.
		Name:epAI 120421
		BuildingFractions:
			proc: 25%
			powr: 30%
			tent: 1%
			barr: 1%
			weap: 5%
			pbox: 7%
			gun: 10%
			ftur: 5%
			tsla: 15%
			fix: 1%
			dome: 3%
			agun: 10%
			sam: 10%
			#hpad: 20%
			#afld: 20%
			atek: 1%
			stek: 1%
		UnitsToBuild:
			e1: 14%
			e2: 7%
			e3: 10%
			harv: 20%
			apc: 5%
			jeep: 5%
			ftrk: 5%
			1tnk: 25%
			2tnk: 60%
			3tnk: 60%
			v2rl: 25%
			arty: 25%
		SquadSize: 10
To "install" it:
1. Open OpenRA/mods/ra/rules/system.yaml in a text editor.
-For Linux users, this is /usr/share/openra/mods/ra/rules/system.yaml

Code: Select all

sudo cp /usr/share/openra/mods/ra/rules/system.yaml /usr/share/openra/mods/ra/rules/system.yaml-backup
sudo gedit /usr/share/openra/mods/ra/rules/system.yaml
-For Windows users, I'm guessing it will be C:\Program Files\OpenRA\mods\ra\rules\system.yaml in notepad.
-For Mac users, pay someone $2500 to do this for you. Point them to this thread. (actually, I have no idea how anything works on Macs... so I'm hiding that ignorance by taking a cheap shot :P )

2. Scroll down until you see the other bots (Easy AI, Normal AI, and Hard AI).

3. Paste that block of text after the "SquadSize: 10" that belongs to Hard AI.

4. Start the game, and have fun beating up on my bot.
Last edited by earthpig on Sun Apr 22, 2012 12:27 am, edited 2 times in total.

bellator
Posts: 90
Joined: Wed Sep 28, 2011 12:22 am

Post by bellator »

Just put it inside the system file and upload that in its entirety.

earthpig
Posts: 31
Joined: Sat Apr 21, 2012 1:10 am

Post by earthpig »

bellator wrote: Just put it inside the system file and upload that in its entirety.
I put it together on the dev release and have only tested it on stable by just inserting those lines and not the whole dev release version of the file... I don't want to make anyone's game crash by telling them to do something I haven't tested (throwing an entire dev release system.yaml into stable).

There may also be other changes (balance, etc) between dev and stable that haven't been declared 'stable' by the dev team (I haven't checked).

User avatar
zypres1
Posts: 277
Joined: Mon Oct 24, 2011 8:22 pm

Post by zypres1 »

https://github.com/OpenRA/OpenRA/issues/2014 this will help us against many ore refineries...

earthpig
Posts: 31
Joined: Sat Apr 21, 2012 1:10 am

Post by earthpig »

zypres1 wrote: https://github.com/OpenRA/OpenRA/issues/2014 this will help us against many ore refineries...
The problem with simply reducing the number of ore refineries the bot builds is that it applies the entire game including the crucial early game.

So, in the example of the one in this thread... it doesn't build a zillion refineries, but it doesn't build that second refinery until way late as well. So while it isn't crippled with allocating to many resources towards refineries in the mid-late game, it is crippled with allocating to little resources early in the game. That's currently the choice faced: Too few early in the game, or too many later in the game... but no happy middle ground.

As an alternative to the proposal of simply placing a hard limit, having the AI switch from one bot to another once a certain criteria is met could potentially also get the job done.

A sort of "meta-bot" which simply selects from the others as the game progresses. Hard AI early game, switch to something like epAI 7 or 10 minutes in, and switch to a third bot that produces zero refineries (but produces trucks at 10%) whenever the refinery count >= 4.

Post Reply