hquxmu / ai-contest

Automatically exported from code.google.com/p/ai-contest
0 stars 0 forks source link

A Solution to starter package bots overload #166

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Starter packages are great to get people hooked up, but they are also 
increasing server load a lot, unnecessarily.

As a lot of people reads the tutorial, uploads the starter package, than just 
forgets it.

There are currently 1557 starter bots, and there are starter bots ranked around 
900-1000. Means that 500~ bots are not doing anything noticable.

A simple match between 2 starter packages is lasting 200 turns, only 2 fleet 
flying around all the time, which is just unnecessary server load.

So a catching system idea came out on IRC.

What if we catch the results of the matches between starter packages for each 
map, as it is always the same? Than, when 2 bots are matched against each 
other, just use the catched result based on the map, instead of wasting server 
resources with 200 turns.

Might really help to reduce server load.

Original issue reported on code.google.com by hder...@gmail.com on 18 Sep 2010 at 2:51

GoogleCodeExporter commented 8 years ago
Sorry, it should be cache, not catch. I should sleep more (:

Original comment by hder...@gmail.com on 18 Sep 2010 at 2:56

GoogleCodeExporter commented 8 years ago
A coworker and I discussed this today, and had an idea.  It has probably 
already been rejected, for a good reason, but I hadn't seen it yet.

The goal here is to keep it simple enough for anyone to enter, yet to not use 
resources when people submit and forget.  If they want to submit and use a 
starter bot, and keep it for the whole contest, this idea allows them to do it.

Make bots "active" for 7 days after they are submitted.  After 7 days, they go 
inactive.  A user can reactivate their bot by clinking a link on their profile 
or something, maybe even 1-2 days ahead of time, and get another 7 days, 
without losing their history.  

At the end of the contest, though, use all current submissions, "active" or 
not, so people weren't penalized for going on vacation the last week of 
November.

I am ignorant in database backed websites, so I probably have this all 
wrong.... 

- add a column in the database for each submission, as a "good until" date.
- a user's profile page shows the date their submissions will go inactive.
- within 24-48 hours of going inactive (or after), they can click a link to 
update the value in the database to the current time + 1 week.

Cons -
More complexity for the admins.  
Another link on the webpages.
An additional where clause in a bunch of sql.
Extra logic for displaying the user profile.
This doesn't do anything to cull out the entries at the end of the contest, as 
was done for the Tron competition (If I recall correctly)

Pros -
Anyone can enter, any bot they choose.  As long as they themselves are active, 
their bot is active.
People who submit and forget end up not using as much resources during the 
contest

If this is just dumb, sorry for taking up your time.

Dave

Original comment by dmj...@gmail.com on 30 Sep 2010 at 11:32