Suggestions

Post Reply
MichaBln
Posts: 18
Joined: Tue Nov 11, 2008 1:55 pm
Location: Berlin, GER

Suggestions

Post by MichaBln »

Hi,

first I have to say, that for some time I just did challenges and ignored more or less BitBath ... well its way more fun than the challenges ... so thanks for the great game.

I know I'm pretty new to the "BitBath-Scene" and have still a lot of room to improve my bot, anyways I'd like to make some suggestions to the ranking system ... and the game.

First thing is that about 60-70% of the generatetd maps are unfair (I know that everyone will equally often be on the unlucky and lucky side, but thats not the point). Some are just a little unfair, some are completely ... meaning even "Boris" or "Walk Softly" wouldn't win against Nero in 1 out of 1000 tries). Of course this all would equal out in the long run ... but as everyone knows it takes some time to run 1000 matches ... .
Its not about the ranking but more about figuring out where I can improve my bot ... . For new guys like me its important to get alot of input meaning games against other bots.

Yesterday after adum run the matches I looked throug most of my bots games and realized that most of them are not even worth analyzing ... either I was lucky or my opponent was. (On the other hand I lost badly against the really good bots and realized what is possible ... ).

So why not simply play every map twice with the same bots and changed slots ? After just a couple of matches you would have a way better ranking-result than now.

On the other hand i think its possible to calculate how fair a map is.
Most of the time its just the distance of the starting cities to the other cities one opponent has 4 cities right next to it, the other one sits alone in a corner, surrounded by swamp.
Sometimes your city is in a swamp your starting unit a grunt ... and the game is difficulte to win in 99% of the time since losing that 1 building-cycle to build a hovercraft can be the advantage the opponent needs, especially if bots are equally good. Both examples can be calculated.

I know that it takes some time to run matches so why not distribute that calculation ? With only a couple of users particapating you could calculate 100.000 or even 1.000.000+ matches a day. If you need help implementing that ... I'm in.

Anyways ... I really enjoy participating in this game ... its really fun, so thanks again to adum and whoever helped him for creating that nice "little" piece of code.

I think (well I'm not 100% sure), that some global information could help to make better strategies (no positions or something like that ... which would take a way the standalone-behaviour every bot has to somehow accomplish). Just having the number of cities and units of your own team would be enough ... . Usally one doesn't loose a match after having 4 cities against 2 cities so it wouldnt really have too much effect, but it would give the oportunity to try to use small advantages the right way. Like having just a pawn more in a game chess ... sometimes thats all i takes to win.

Michael
User avatar
adum
Posts: 392
Joined: Thu Apr 19, 2007 12:49 pm
Contact:

Post by adum »

hey michael. you're right that a lot of maps are unfair, and this essentially has the effect of flattening the rankings of bots. the best should still end up on top, but they won't have as great a ranking differential as they would if the maps were more fair. i have considered running each match twice and throwing out ties, but i probably won't get to that feature since the current system works.

it's nice to offer to help run the matches, but there is a trust issue there. not only trust to run them fairly, but currently my match runner connects directly to the db etc =)

the eventually upcoming Bitbath Extreme will use more balanced boards, by the way.

cheers,
adum
MichaBln
Posts: 18
Joined: Tue Nov 11, 2008 1:55 pm
Location: Berlin, GER

Post by MichaBln »

BitBath Extreme ... sounds good, can you spoil us a liitle bit about the features ?

What I meant with running matches wasn't that I or anyone else runs matches for you ... since as you said this might result in certain security issues.

What I meant was to implement a client-server-architecture for distributet computing. Pretty much the same way projects like seti@home did it in the past.

It would be a closed environment. No client would be able to know which match it actually calculates at the moment, it just gets the seed and the two bots (as encrypted byte-data) ... . All the server has to do is to assign jobs to clients and get the results back to write them in the db. So the server-application has acces to the db and the bots ... not the clients.

Since a match is based on very few variables (seed,bot1,bot2) and we all already have the vm we need, all thats left to do is to write an pretty easy interface to already existing functionality. Probably some changes to the classloader used are neccessarry ... but thats marginal.

Michael
User avatar
adum
Posts: 392
Joined: Thu Apr 19, 2007 12:49 pm
Contact:

Post by adum »

i don't think there's any truly secure way for untrusted parties to run matches, so i probably won't do that. i can run enough by myself anyway, i think.

bitbath extreme will make the game more strategic: resources, more types of units, fixed defenses, supply lines, etc. boards will be bigger, matches will be longer. basically, it's going to be really really cool and fun =)

adum
chr1s
Posts: 5
Joined: Thu Mar 05, 2009 5:03 pm
Location: Germany, BW

Post by chr1s »

It would be great to include the groovy framework so you would be able to extract some or all methods in a groovy script...
________
Vaporizer volcano
Last edited by chr1s on Tue Feb 22, 2011 6:49 am, edited 1 time in total.
User avatar
Kender
Posts: 18
Joined: Thu Jun 25, 2009 4:50 pm
Contact:

Re: Suggestions

Post by Kender »

MichaBln wrote: First thing is that about 60-70% of the generatetd maps are unfair (I know that everyone will equally often be on the unlucky and lucky side, but thats not the point). Some are just a little unfair, some are completely ... meaning even "Boris" or "Walk Softly" wouldn't win against Nero in 1 out of 1000 tries). Of course this all would equal out in the long run ... but as everyone knows it takes some time to run 1000 matches ... .
Its not about the ranking but more about figuring out where I can improve my bot ... . For new guys like me its important to get alot of input meaning games against other bots.
I know what you mean. With an average of 2 matches per day it'll take a year or more to get some statistically sound data on my 1st bot :(

Locally I have solved the problem by making my own match-runner that plays each map twice with the positions reversed on the 2nd run. Now it takes a whole lot less matches to see if a small tweak I make to my bot is an improvement or not.

Just modify org.hacker.engine.war.WarChooser in hackengine.jar
User avatar
Nick-Aotmzgin
Posts: 64
Joined: Sun Jun 14, 2009 11:01 am
Location: Microsoft Labs

maps? and simplesty Advantage?

Post by Nick-Aotmzgin »

well i tell you what i think 1st off the maps are alright except the terrain and the Twitchs.
the Bitbath robots working quite well and they do all the work for us.
while surfing or playing other games so the Highlight part is that Except the maps simplesty, the robots doing great job.
(i) Hacerks Group -> Greek Hackers Group (House of Hackers Offical Community)
Post Reply