News:

Thx to our VIP donor/subscribers in 2012 cheers!
..thx Botchee, sixty, zorba, caleb, ettu, trrroglodyte, diane, aviator, r_monk ,captainmubbers,Tom roygbiv*, anonymous and yyy

Main Menu

New TB Features in the works

Started by Tom, July 26, 2007, 03:19:27 AM

Previous topic - Next topic

Tom

(That is assuming MadMatt likes my coding style  :wacko: )

I'm working on a set of commands to allow TourneyBot to create and start tourneys automatically.
(See TDBot thread in http://www.fibsboard.com/other-bots-tech-stuff-b3.0/ for background)

I have commands to create/examine/modify the schedule.

I also have the start of a procedure to check the schedule and create the tourneys as defined.

So I am wondering how we want the bot to act.

My thoughts so far

1) 30 min before scheduled start time create the tourney
2) Announce the tourney every 5 mins (via Shout? Subscribed Tells? Which is best?)
3) After the scheduled start time and there are minplayers start the T (does tourneybot do this already)
4) later I want to also add clocking support for when players get booted etc

what else can we add to more automate the running of tourneys?

tom

socksey

Quote2) Announce the tourney every 5 mins (via Shout? Subscribed Tells? Which is best?)

No, TB does not start tourney automatically.

Quotewhat else can we add to more automate the running of tourneys?

You might consider limitations, i.e., possitive reputation, minimum experience, as I do for Mini-Matches.  My limits are 0 or better reputation and 400 experience minimum.  This has seemed to eliminate most problems in my tournaments.   :)

I like the clocking support you plan to implement.  We often experience delays when players don't report the absence or the player playing another match not in the tournament.  I'm wondering how your TB will know which player is indisposed.   :unsure:

socksey



"Learning is acquired by reading books; but the much more necessary learning, the knowledge of the world, is only to be acquired by reading man, and studying all the various editions of them." - Philip Dormer Stanhope, statesman and writer (1694-1773)

Tom

Quote from: socksey on July 26, 2007, 07:35:36 AM
No, TB does not start tourney automatically.

You might consider limitations, i.e., possitive reputation, minimum experience, as I do for Mini-Matches.  My limits are 0 or better reputation and 400 experience minimum.  This has seemed to eliminate most problems in my tournaments.   :)

I like the clocking support you plan to implement.  We often experience delays when players don't report the absence or the player playing another match not in the tournament.  I'm wondering how your TB will know which player is indisposed.   :unsure:

socksey

Actually I use the Create Tourney commands as they now are and you can take a tourney that is in the newly Created state and save it into the schedule, so all existing and future tourney options will be supported.

In the bot I wrote for a yahoo bg league she checks proper tables,  watches idle time and leaving the room etc to maintain the clocks automatically.
Which results in players not needing to worry about the clocks... they need to just play...
and there is no emotion involved in enforcing clocks... to the bot 15 mins is 15 mins for all...

tom

socksey

I understand all that, but what I'm asking is, if player A should be playing B, but player B is playing player C, player B is not idle but playing someone he shouldn't be playing, while player A is idle and can't play player B,  does TB know the proper player to forfeit?    :wacko:

socksey



"Desperate times call for desperate measures." -Hamlet


Tom

Quote from: socksey on July 26, 2007, 02:55:28 PM
I understand all that, but what I'm asking is, if player A should be playing B, but player B is playing player C, player B is not idle but playing someone he shouldn't be playing, while player A is idle and can't play player B,  does TB know the proper player to forfeit?    :wacko:

socksey

Yes we could look at those issues.

The forefit is not immediate; they get put on clock and that event gets announced (tells I guess)
In the other bot I also have commands for players to tell her to put players on clock or to tell her you are back

Gusssss

Quote from: socksey on July 26, 2007, 02:55:28 PM
I understand all that, but what I'm asking is, if player A should be playing B, but player B is playing player C, player B is not idle but playing someone he shouldn't be playing, while player A is idle and can't play player B,  does TB know the proper player to forfeit?    :wacko:

And I will have T while I'm waiting :wacko: :laugh: :blink:

Tom

Ok TDs what is the proper way to SPAM you T's?

Shouts every 3 mins?
Subscribed Tells every 3 mins?
Both?

Then once the start time arrives will the tourneybot code handle announcing the pairs as people advance?

ie. once the tourney is started what else does a TD need to do besides handle player issues?
(Slow play, droppers, etc)

Tom

Tom

Ok!

From 30 mins before the tourney is going to start the bot will announce the tourney every 3 mins with:

*** TomTest (Tourney #51) will start at 12:45  Type 'tell tdbot tourney 51' for details. Register with 'tell tdbot register 51'. ***

When 12:45 arrives it will attempt to start it and report status. In my case I was the only one in so I got:

tdbot *** TomTest (Tourney #51) starting now!
tdbot *** TomTest (Tourney #51) Needs More Players! Register with 'tell tdbot register 51'. ***

It will do that once a min for 5 mins and then give up with

tdbot *** TomTest (Tourney #51) starting now!
tdbot *** TomTest (Tourney #51) Is CANCELLED not enough players!  ***

If it succeeds it will act as if a human TD started the tourney

At this point I do not have any code for reporting results when the tourney finishes or any clocking support.

I may mess around a little over the weekend fixing (and breaking) things and hopefully will have a tourney Tuesday at 16:00
Signups will start at 15:30 (Is 30 mins too long for signups?)

Oh yes. It will start at 16:00 Sharp! (Assuming there are enough players)

To keep it simple I'll make it a 3pt matches and 3pt finals

Tom

Well TDBOT ran it's first tourney today at 1200UTC

I found one minor bug which I fixed and will test later.

tdbot Standings for "Morning Madness" (Tourney #53):
tdbot 1. manxcat 2. tam 3. KDP donzaemon 5. myshlev socksey
tdbot Done listing Tourney #53 standings.

manxcat won his first tourney

socksey

Purrrrrrrrrrrrkitty is a she.  ;)

socksey




"There are only two things a child will share willingly; communicable diseases and his mother's age." ââ,¬â€œ Anonymous

Tom

Here is an update.

I have also added a MATCHREPORT command to allow the moderator to specify an email address to send a tourney report to once the tourney is done.
(which works now)

It also has options for a URL to post match results to. (just the command not implemented yet)

The other area I need to work on is a player clock so if you go offline or don't start playing your opponent will be advanced.

I am not sure which to start first and when I have enough done to be useful.

For example right now the changes I have can help run a tourney that has a TD hanging around.
It will Create, SPAM and start the tourney as well as email the TD results, so they just need to be around
to deal with player issues...

I have been thinking about running a few automatic tourneys. The best time for me is Monday-Thursday at 1600 UTC
because that is my lunch hour and I can pay attention to it most of the time.

The only problem is I one have 1 hr... I would need someone else who could help past 1700 if needed.
Mostly to handle any player problems (advancing players etc)

tom

socksey

I can probably do this, but will need orientation on new bot.   :)  All sounds great!  Let me know when you are ready to start.

socksey



"I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won't last out the year." -- The editor in charge of business books for Prentice Hall, 1957

Tom

Quote from: socksey on August 31, 2007, 05:59:35 AM
I can probably do this, but will need orientation on new bot.   :)  All sounds great!  Let me know when you are ready to start.

That is the beauty of the way I implemented these things, once the tourney is running *nothing* is different from before!

So far all my commands deal with creating and spamming a tourney and nothing has changed while the tourney is running.

I am going to set up some web pages for tourney results; because what fun are T's if you can't fixate over some silly stats?

tom

Tom

Well the new code was running as TDBOT and ran the mini-matches today.

Fixed two bugs... maybe the next run will be error free :)

Tom

socksey

Something else I thought about.........in Mini-Matches, players who win a forfeit do not get points for that win unless they win 1st or 2nd place which are fixed points depending on number of players in the tourney.  Will the bot be programmed to reflect these differences?

socksey



Anybody who doesn't know what soap tastes like never washed a dog. -Franklin P. Jones

Tom

#15
Quote from: socksey on September 12, 2007, 01:53:06 AM
Something else I thought about.........in Mini-Matches, players who win a forfeit do not get points for that win unless they win 1st or 2nd place which are fixed points depending on number of players in the tourney.  Will the bot be programmed to reflect these differences?

socksey

Anybody who doesn't know what soap tastes like never washed a dog. -Franklin P. Jones


In the email it will list the results of each round and you can figure it our from there.

tam: standings 53
tdbot: Standings for ""Mini-Matches" tournament (all 2-pt matches)" (Tourney #53):
tdbot: 1. Gusssss 2. rossa 3. sunray kid_pantyhose 5. insbordnat bonnita teyakis moyang 9. don Feklhr tam myshlev
tdbot: Done listing Tourney #53 standings.
tam: round 1 tourney 53
tdbot: Listing Tourney #53 Round 1 (match length: 2):
tdbot: T53R1M1 (2-pt): sunray (1659) def. don (1832) 6-0
tdbot: T53R1M2 (2-pt): moyang (1585) def. Feklhr (1520) 6-0
tdbot: T53R1M3 (2-pt): bonnita (1533) def. tam (1641) 2-0
tdbot: T53R1M4 (2-pt): teyakis (1548) def. myshlev (1486) 2-0
tdbot: 4 out of 4 completed.
tdbot: Finished listing Tourney #53 Round 1.
tam: round 2 tourney 53
tdbot: Listing Tourney #53 Round 2 (match length: 2):
tdbot: T53R2M1 (2-pt): sunray (1659) def. insbordnat (1551) 2-0
tdbot: T53R2M2 (2-pt): Gusssss (1687) def. bonnita (1533) 4-0
tdbot: T53R2M3 (2-pt): kid_pantyhose (1537) def. teyakis (1548) 3-1
tdbot: T53R2M4 (2-pt): rossa (1450) def. moyang (1585) 2-1
tdbot: 4 out of 4 completed.
tdbot: Finished listing Tourney #53 Round 2.
tam: round 3 tourney 53
tdbot: Listing Tourney #53 Round 3 (match length: 2):
tdbot: T53R3M1 (2-pt): Gusssss (1687) def. sunray (1659) 2-0
tdbot: T53R3M2 (2-pt): rossa (1450) def. kid_pantyhose (1537) 2-0
tdbot: 2 out of 2 completed.
tdbot: Finished listing Tourney #53 Round 3.
tam: round 4 tourney 53
tdbot: Listing Tourney #53 Round 4 (match length: 2):
tdbot: T53R4M1 (2-pt): Gusssss (1687) def. rossa (1450) 2-1
tdbot: 1 out of 1 completed.
tdbot: Finished listing Tourney #53 Round 4.

socksey

#16
QuoteIn the email it will list the results of each round and you can figure it our from there.


Well, no, you can't figure it out from that.  I can figure out a bye with this information, but a forfeit shows a 2-0 win and lots of wins are 2-0 with no other distinction.   :ohmy:  So how am I to know if I'm, not there to award the win?   :unsure:

socksey



There is a fine line between genius and insanity. - unknown





Tom

Quote from: socksey on September 12, 2007, 01:08:01 PM
Well, no, you can't figure it out from that.  I can figure out a bye with this information, but a forfeit shows a 2-0 win and lots of wins are 2-0 with no other distinction.   :ohmy:  So how am I to know if I'm, not there to award the win?   :unsure:

socksey

Oh you mean manual forefits?

I am going to add all the status tells/shouts TB says to a tourney log that will be included in the email.
When a player gets a forefit I am sure TB tells them, so we'll have it captured

thanks!
tom

socksey

#18
Ah, I see where the full #53 report was now!   :laugh: 

I'm sure the player would get a notification about a forfeit, but does the td?   :unsure:  I would need that information to figure my points  system.

As you will see, the point system renders a slightly different verdict than the standing the bots put out.  Note that tdbot lists sunray and kid_pantyhose as tied for 3rd when, points-wise, the kid is pushed down a notch because the kid got a bye in first round so his points are lowered by 2 for standings.  I'm not sure what happened with insbordnat.  He/she did not play in first round, and was beaten in second round, but was listed in 5th place but should have been in last place with the rest of the players who didn't win a match.  ;)  Maybe this is why I gave up on using the "standings" feature on TourneyBot!  I have to put it all on paper in front of my eyeballs.  ;)

Thanks to you, tam, for all your efforts and help!   :wub:

socksey



"There's an old saying in Tennessee — I know it's in Texas, probably in Tennessee — that says, fool me once, shame on — shame on you. Fool me — you can't get fooled again." - George W. Bush  (I love making fun of our president.   :laugh: )



Tom

Ok we have had a busy week!

The bot can now maintain a log of the tourney activity and send them as an email to the TD at the end of the tourney.

It also can register match results to a web page and Tomawaky has started implementing the interface on his site.

So the bot can automatically create, spam, start and finish a tourney, send log results and post matches to a web site.
(That url is configurable per tourney, so if other leagues want to implement it they can)

We still need a human TD to handle clocks... But that is not a heavy load, as most players are well behaved...

Next I need to add match monitoring and clocks... now the fun stuff...

I am not sure if I want to run tdbot all the time or get the changes added to TourneyBot.

Any thoughts?

I'll also talk to Matt about it

tom