Verified:

qzjul Game profile

Administrator
Game Development
10,263

Jun 21st 2016, 6:12:16

Hi all!

I've been most interested in coding bots lately (in case you didn't notice: https://github.com/jhaagsma/ee_npc ), for whatever reason.

So far I'm trying to make them not die as hard. The latest iteration of the casher bots have some bug that causes them to continually run without food, I'm going to try to squash that bug. Also, my buddy was interested in neural nets and is coding a bot (on the AI server) in R, so if anybody here knows R and wants access to that code, it can probably be arranged.

My questions are:

What are your thoughts on the bots so far?

What *SIMPLE* things can they do to be better?
(Long term I have a gazillion ideas; think things like: "make cashers not run out of food every turn")

Should the number of bots hold about the same, or increase?

Is anybody interested in helping out? :-)
Finally did the signature thing.

henrik Game profile

Member
370

Jun 21st 2016, 6:52:18

Thank you for the bots. So far I like having them around.
Maybe have some more of them? Difficult to find bots who aren't deeply in dr when logging in to play.

enshula Game profile

Member
EE Patron
2510

Jun 21st 2016, 8:48:48

i liked last set with the more bots

wasnt sure if you just reverted to your default number by accident or deliberately

also im always in favour of more bots, but id like to see deliberately bad bots that sit at 1 or 2k land and low nw so newbies have something to farm and get in the habit of grabbing

as well as pure d bots that you cant grab early easily

unfortunately i barely understand bits of the code, for example the build function i dont see where it decides which buildings to build just that it chooses to build

Duna Game profile

Member
787

Jun 21st 2016, 9:06:02

Add clan tagging and waring function to bots, increase numbers, and you are done - game can exist without real players.

NukEvil Game profile

Member
4327

Jun 21st 2016, 12:37:05

Also, make them able to post on the forums. The Bugs & Suggestions forum could use some additional activity.
I am a troll. Everything I say must be assumed to be said solely to provoke an exaggerated reaction to the current topic. I fully intend to bring absolutely no substance to any discussion, ongoing or otherwise. Conversing with me is pointless.

Elders

Member
177

Jun 21st 2016, 15:16:52

make them randomly missiles dump countries

Kingme Game profile

Member
1824

Jun 21st 2016, 15:32:57

Originally posted by Elders:
make them randomly missiles dump countries


I think this should definitely be the case in express. But i'd say only if hit more than 2-3 times by the same country.

Paladine Game profile

Member
122

Jun 21st 2016, 18:16:04

Finish the API so bots can change tax rate, military distribution, join clans, attack, etc! lol

I don't mind helping out in my free time. Feel free to start posting issues in github or the AI dev board :)

Vic Game profile

Member
6543

Jun 21st 2016, 22:17:51

Originally posted by enshula:
i liked last set with the more bots



also im always in favour of more bots

Hawkster Game profile

Member
429

Jun 22nd 2016, 5:41:48

Originally posted by qzjul:
Hi all!

My questions are:

What are your thoughts on the bots so far?

Lame AI so far, but than except from big gaming company, I have only seen one game that had decent AI.

Originally posted by qzjul:
What *SIMPLE* things can they do to be better?
(Long term I have a gazillion ideas; think things like: "make cashers not run out of food every turn")
Make them do retals if they are LG'd.

Originally posted by qzjul:
Should the number of bots hold about the same, or increase?
Quality over quantity.

Originally posted by qzjul:
Is anybody interested in helping out? :-)
NO!

drkprinc Game profile

Member
5114

Jun 22nd 2016, 8:38:54

I think each strat ran should have 4-5 different very slight setups to make it harder to differentiate between whether it's a bot or a player pretending to be a bot making it more of a should I take the risk or not, until you can get the API updated that they can do all spy ops/attacks and all attacks/special attacks.

and enshula is right about having some really bad bots that the newer players can grab from and get into the rift of playing. have them buy military and resell it on private to keep their nw low.
(<(<>(<>.(<>..<>).<>)<>)>)

zz.ghqnet.com - 0.o
http://LaF.center - LaF
imp.ghqnet.com - IMP

ironxxx Game profile

Member
EE Patron
1108

Jun 22nd 2016, 12:16:51

do any of the bots tech?

enshula Game profile

Member
EE Patron
2510

Jun 22nd 2016, 13:26:02

yes there are techer bots usually

the way the bots work is they have a random chance to pick a strat

Newworld Game profile

Member
386

Jun 22nd 2016, 17:25:54

As a few others have mentioned, I think your time would be best spent working on finishing the api first. I know myself and probably others would be willing to spend some time on the bot code if the api was completed and we could write more complex actions. :)

Other than that, it is nice having bots around for farm land though.
pew pew pew

m4z Game profile

Member
85

Jun 22nd 2016, 20:03:45

More bots please!

Celphi Game profile

Member
EE Patron
6233

Jun 22nd 2016, 20:26:40

I agree. The API to allow spy / war actions would greatly enhance the bots capabilities.

More players would be able to benefit from the bots if the players who committed multiple grabs carried a risk of spy/missle retaliation.

Edited By: Celphi on Jun 22nd 2016, 20:28:49
Resistance is futile. You will be assimilated.

enshula Game profile

Member
EE Patron
2510

Jun 22nd 2016, 21:58:19

if you were going to make them missiles id give them logic like

if they login and see x grabs by y player since their last login and they have a missile on hand they shoot a missile

but if they make a missile while running turns they lose the aggro and dont hold a grudge, then you bring back the old bottom feeding of diffusing people you farm

and create a situation where you can spread your grabs if you want to take less risks

anyway simpler things are

try a bot which goes 100% turrets and weapons tech to boost its defence when its cheaper than more turrets, and allies with other bots if that is possible, best tried when starting a new set for real but no reason not to see how they went mid set

try a bot which doesnt explore every time it needs to, perhaps make it random between cashing and exploring would be the easiest option in your logic, then you can adjust the percentages to make it explore more or less

im not sure how you startup the bots, i presume you run something like the ffa auto starts, perhaps the 97 cs one

theres nothing wrong with a pure cs start, particularly with tag protection but having some of the bots start a lot faster would be interesting, its seemed to be more of an issue since you changed bpt from 50 to 70 as well

is it possible to do something like limit max bpt by turn/day, i use eestats and earthgraphs to get what day of the set it is but you could just get that off http://www.earthempires.com/alliance/main or use turns from advisor since how they play could be based solely on their turns run

then you could have some begin building with as few as 20 bpt, i wouldnt go lower than that, and get high production and military early

i also like the idea of starting some of the countries gradually, a couple a day or whatever

when you first brought the bots in i thought they were being started every 10 human made countries but might have been wrong on that

Celphi Game profile

Member
EE Patron
6233

Jun 23rd 2016, 2:24:24

If you post the startup strat for the bot enshula., I'll post the PHP script for it.

I'll need BPT, GOVT TYPE & when you want it to explore. Also detail what it does with turns if it doesn't have the $ to build.
Resistance is futile. You will be assimilated.

Pang Game profile

Administrator
Game Development
5731

Jun 23rd 2016, 4:49:15

Originally posted by enshula:
also im always in favour of more bots, but id like to see deliberately bad bots that sit at 1 or 2k land and low nw so newbies have something to farm and get in the habit of grabbing


I really like that idea!

Originally posted by Paladine:
Finish the API so bots can change tax rate, military distribution, join clans, attack, etc! lol


Is there a list of missing functionality anywhere? I don't see anything on the AI forum.

Making a proper RESTful API that could be used to either write bots or code a better UI over is one of the few reasons I may actually do some coding. Then it could be used for comsci courses! :p

-=Pang=-
Earth Empires Staff
pangaea [at] earthempires [dot] com

Boxcar - Earth Empires Clan & Alliance Hosting
http://www.boxcarhosting.com

Celphi Game profile

Member
EE Patron
6233

Jun 23rd 2016, 4:57:36

@Pang:

Yes,.. Spy operations & Attack operations. If we had those two APIs then many of the programmers could make better bots.
Resistance is futile. You will be assimilated.

enshula Game profile

Member
EE Patron
2510

Jun 23rd 2016, 7:01:09

id be interested in functions like

percentile of average land and nw
percentile of bot land and nw
or
total server land
total server nw
total server countries count
top 10 land
top 100 land
top 10 nw
top 100 nw
bot countries count
last set market averages, either eestats ones or better ones, ie averages per day or rolling period
all sets market averages, either eestats ones or better ones, ie averages per day or rolling period

one reason for the size things is so you can make bots that are deliberately outside humanitarian range of the leading and experienced players

and if attacks were put in place

total hits on this country by x country
total hits on this country by y country
recent hits on this country by x country
recent hits on this country by y country
has aggresor country already been attacked or missiled by a bot
did attack or missile succeed

ie recent and total news

also it would be good if you can keep stats like

peak bot nw
peak bot land
average bot nw
average bot land
total land explored
bot land explored
total land grabbed
bot land grabbed
building ghost acres created
bot building ghost acres created
nw ghost acres created
bot nw ghost acres created
end set land
killed land
dropped land
nuked land

you could get some sense of how much bots were contributing

average land grabbed from bots would be quite important too
and would be good per day of the set

obviously dont kill your db's

enshula Game profile

Member
EE Patron
2510

Jun 23rd 2016, 7:50:24

celphi i posted a general outline

Duna Game profile

Member
787

Jun 23rd 2016, 12:07:40

also, bots should be able to send rage messages for countries wich grabbing/warring with them and post on forum.

Celphi Game profile

Member
EE Patron
6233

Jun 23rd 2016, 12:08:01

None of those APIs exist.

We can only manipulate functions (APIs) that exist., but I saw what you posted on AI, so I'll see what I can do with that.
Resistance is futile. You will be assimilated.

Dissident Game profile

Member
2750

Jun 23rd 2016, 15:44:09

Make all bots topfeed laf so theyre fatter.

Apollyon

Member
81

Jun 23rd 2016, 15:52:13

I'd just run Dictatorship strat countries, spy the bot country's military down, and bottom feed it thinner than a matchstick. :P
Το όνομά μου είναι ο Ἀπολλύων

enshula Game profile

Member
EE Patron
2510

Jun 23rd 2016, 16:47:45

pang asked for suggestions of missing funtionality celphi, thats why none exist :P

Pang Game profile

Administrator
Game Development
5731

Jun 23rd 2016, 16:57:59

Yea, thanks for the list, ens :p

But that's not really missing functionality, that's missing data. We'd need to build a data warehouse to gather that sort of information.
-=Pang=-
Earth Empires Staff
pangaea [at] earthempires [dot] com

Boxcar - Earth Empires Clan & Alliance Hosting
http://www.boxcarhosting.com

enshula Game profile

Member
EE Patron
2510

Jun 23rd 2016, 17:30:58

true

sounds like the most important missing function right now is sell on private market

and probably get private market price

so you can do that if its better than public, or public is unavailable in protection

perhaps a system where you could record or macro a startup then call it like one of the ffa auto startups would be a way to simplify things for people

one way to record would be to make a country on a server, probably without magic market access, then snapshot it with being at 99 turns so its still in protection, as long as it didnt get too many daily acre bonuses

is there a way to give the bots bonus points?

or even just kludge it?
=ROUNDDOWN((IF(gov="Fascism",1.5%,1.3%)*(daysplayed-1)),3)
for example formulas like that

Paladine Game profile

Member
122

Jun 23rd 2016, 17:40:44

Originally posted by Pang:

Is there a list of missing functionality anywhere? I don't see anything on the AI forum.

Making a proper RESTful API that could be used to either write bots or code a better UI over is one of the few reasons I may actually do some coding. Then it could be used for comsci courses! :p



This is the list of functionality that you can currently do with the API: http://www.earthempires.com/api

Missing from this list are things such as:
- attacking
- spy ops
- managing country outside of govt type (tax rate and industry distribution will always be turn 0 default)
- messaging
- clan functions (join, create, etc)
- GDI
- foreign aid

Some of these aren't very important, but I think that is the list of non-data functions that the API currently doesn't allow.

enshula Game profile

Member
EE Patron
2510

Jun 23rd 2016, 17:46:03

changing industry production would be handy

enshula Game profile

Member
EE Patron
2510

Jun 23rd 2016, 17:51:18

pm => buy/sell stuff on PM!
Fields: U/A/S/C, buy, sell => components (both): m_spy (only sell), m_tr, m_j, m_tu, m_ta, m_bu, m_oil (only if oil allowed on PM)
Response: cost (buy), money (sell), goods (as above)

seems we can already sell stuff on private market

Apollyon

Member
81

Jun 23rd 2016, 22:50:09

Less Commie Indy bot countries! :P
Το όνομά μου είναι ο Ἀπολλύων

Celphi Game profile

Member
EE Patron
6233

Jun 24th 2016, 1:01:23

@enshula, yeah it's
function sell_on_pm()... it's in the ee_npc.php file

@pang, really all we need is:
1. the ability to use spy options
2. the ability to use war options.
3. the ability to adjust production %
4. the ability to join GDI
5. the ability to use the search options (find a country's networth)
6. the ability to set SOs
7. the ability to get news information for any given country #.
8. the ability to retrieve history information from market->history tab

With these options, I could make bots finish t5 on EXPRESS.
With these options, I could make bots be less targeted by same player.

Resistance is futile. You will be assimilated.

damondusk Game profile

Member
453

Jun 24th 2016, 22:34:59

Originally posted by enshula:
if you were going to make them missiles id give them logic like

if they login and see x grabs by y player since their last login and they have a missile on hand they shoot a missile

but if they make a missile while running turns they lose the aggro and dont hold a grudge, then you bring back the old bottom feeding of diffusing people you farm

this

TipDaVampire Game profile

Member
395

Jun 25th 2016, 0:12:58

Lots more bots!

qzjul Game profile

Administrator
Game Development
10,263

Jun 25th 2016, 0:25:57

Originally posted by enshula:
if you were going to make them missiles id give them logic like

if they login and see x grabs by y player since their last login and they have a missile on hand they shoot a missile

but if they make a missile while running turns they lose the aggro and dont hold a grudge, then you bring back the old bottom feeding of diffusing people you farm

and create a situation where you can spread your grabs if you want to take less risks

anyway simpler things are

try a bot which goes 100% turrets and weapons tech to boost its defence when its cheaper than more turrets, and allies with other bots if that is possible, best tried when starting a new set for real but no reason not to see how they went mid set

try a bot which doesnt explore every time it needs to, perhaps make it random between cashing and exploring would be the easiest option in your logic, then you can adjust the percentages to make it explore more or less

im not sure how you startup the bots, i presume you run something like the ffa auto starts, perhaps the 97 cs one

theres nothing wrong with a pure cs start, particularly with tag protection but having some of the bots start a lot faster would be interesting, its seemed to be more of an issue since you changed bpt from 50 to 70 as well

is it possible to do something like limit max bpt by turn/day, i use eestats and earthgraphs to get what day of the set it is but you could just get that off http://www.earthempires.com/alliance/main or use turns from advisor since how they play could be based solely on their turns run

then you could have some begin building with as few as 20 bpt, i wouldnt go lower than that, and get high production and military early

i also like the idea of starting some of the countries gradually, a couple a day or whatever

when you first brought the bots in i thought they were being started every 10 human made countries but might have been wrong on that


Good ideas, thanks! And yea you and Celphi are probably right, I'll try to get some of the API additions done.

Originally posted by enshula:

sounds like the most important missing function right now is sell on private market

and probably get private market price


I'm pretty sure those exist, i think the bots do that already.



Originally posted by Celphi:
@enshula, yeah it's
function sell_on_pm()... it's in the ee_npc.php file

@pang, really all we need is:
1. the ability to use spy options
2. the ability to use war options.
3. the ability to adjust production %
4. the ability to join GDI
5. the ability to use the search options (find a country's networth)
6. the ability to set SOs
7. the ability to get news information for any given country #.
8. the ability to retrieve history information from market->history tab

With these options, I could make bots finish t5 on EXPRESS.
With these options, I could make bots be less targeted by same player.



Okie, I think I'll work on those then this weekend perhaps. Some ought to be easy anyway. Att/Spy maybe not.

I've improved some of the stupidity of the bots in the last few days, and they will now mass-X.
Finally did the signature thing.

DJBeif Game profile

Member
217

Jun 25th 2016, 0:56:34

The bots have been great for allowing people who want to grab to actually do so with relative safety, and not piss off other alliances. It's sorta introduced some competition with who can find the bots first and get the best returns :P

Dissident Game profile

Member
2750

Jun 25th 2016, 4:37:00

Put all of the bots in a tag... so that untagged human players dont get farmed like a bot.

justtaint

Member
664

Jun 25th 2016, 5:04:27

The bots are great and a definite necessity in an age of declining player counts. I just wish there were a way to increase the number of human players. Bots just slow down the exodus of actual players.
SlashMD

qzjul Game profile

Administrator
Game Development
10,263

Jun 25th 2016, 22:59:43

:-) We'll try to make them more useful, and help with more fun!@
Finally did the signature thing.

Celphi Game profile

Member
EE Patron
6233

Jun 26th 2016, 0:39:32

@qzjul

Is this a typo?

36h => 0.25 <=== 1/4
48h => 0.15 <==== I think it should be .1875 || 3/16
54h => 0.125 <=== 1/8
72h => 0.0625 <=== 1/16

http://earthempires.com/...hing-returns-29694#533229
Resistance is futile. You will be assimilated.

Forgotten

Member
1605

Jun 26th 2016, 1:20:55

One day, a bot will not only get into Top Ten, but win it.

And then either Matrix or Skynet, you pick.
~LaF's Retired Janitor~

Syko_Killa Game profile

Member
4998

Jun 26th 2016, 1:26:29

Yes I would like to see at least one warbot tag on the server and have it change it's tagname each set to the name of an extinct tag. Also make it where if they get farmed too much it declares war on the tag farming it, or any untag and speed kills in 1 second. Beware of having idiots in your clan though, because they could get the whole live tag into some trouble ;)
Do as I say, not as I do.

Syko_Killa Game profile

Member
4998

Jun 26th 2016, 1:28:50

Oh Yeah, give us at least 200 Bots on Alliance server please. Would make this game a whole lot funner. Also with having the warbot tag. Who knows, if you make an easy bot tag, Stones might actually win a war.. who knows?
Do as I say, not as I do.

Forgotten

Member
1605

Jun 26th 2016, 1:42:55

In the line of thought of Bots and like the old thinking of potentially turning this into a FB/Mobile game.

We all know Alliance/FFA server would not work well for the newbies. That is a fact.

Would the advancement of bots be enough to create a dumb'ed down solo server with some pictures thrown in a la those Mafia games?

maybe only have a few important techs, no missiles or specials? maybe even skip spies?

That would create a pool where we can recruit from.

That's all.

I gotta stop dreaming
~LaF's Retired Janitor~

qzjul Game profile

Administrator
Game Development
10,263

Jun 26th 2016, 5:15:01

Originally posted by Forgotten:

maybe only have a few important techs, no missiles or specials? maybe even skip spies?


This is where the bots are at now lol...
Finally did the signature thing.

Shweezy Game profile

Member
EE Patron
1148

Jun 26th 2016, 5:16:54

Less bots more Facebook you lazy fluff
Catch me on ir c

Hawkster Game profile

Member
429

Jun 26th 2016, 5:33:05

@Justtaint - Bots also detract newer players from ever starting the game. I would guess that bots actually deter more newer players than it retains. I cant prove that ofc, but would not be surprised.

@Forgotten - NO!!!!! We all dont know that Alliance/FFA server does not work well for newbies. I actually recommend newbies to play on these servers first so that they can join a clan and learn how to play well. Your statement most definitely is NOT A FACT, it is your personal opinion. It is much less likely they will be able to teach themselves how to play well on a solo server.

SlashMD Game profile

Member
34

Jun 26th 2016, 5:58:40

@Hawkster - Maybe I should post under this alias more often, but I thought the signature at the bottom was enough. :P