News:

You can now show us where you live by placing a pin on the Google map in your profile.

Main Menu

Tourneybot's New Commands

Started by adamosad, January 22, 2005, 02:23:37 PM

Previous topic - Next topic

adamosad

QuoteI believe fibs needs a new kind of bot for two jobs... the first one is for helping tds with their advertising. it can adv the starting of a tourney automatically so less job for them, and secondly, it can bring a database with 1st and 2nd places of official tourneys like leagues, minimatches, and fridays3!!!  it's difficult for someone to see the winners and second place winners of a player in one tourney as there are a lot of them from 2003. so this bot can carry the "glory" for everyone for many years.

This text above is a quote from tourneybot's database which was firstly posted by Don.
See http://www.fibsboard.com/index.php?showtopic=756&hl=

I have asked webrunner if i find someone to create this bot, is it easy to host it with the other mgnu bots? As he said that it's very difficult for him to host another bot, i want to ask if  there is a way to add a command to tourneybot in order to do at least one of these two jobs.

My specific question is for Madmatt. If i collect all these standings for all official tournaments so far,is it very difficult for u to add this command to tourneybot? For example if i write "ask standings madmatt" to answer me all the 1st and 2nd places u took in previews tournaments from 2003 to today.

Finally i want to thank Madmatt for the creation of tourneybot. I believe that tourneybot and repbot are the most important bots in fibs community. Thx again Madmatt!!!

MadMatt

TourneyBot is Free Software, you can make any kind of additions and modifications to it. I personally cannot at this time devote any more of my free time to the project, but the code is there for anyone to use. I make no guarantees to include any changes into the main branch of TourneyBot, though, but if you produce meaningful additions and quality code, it is likely that I will be willing to include them into the running copy of the bot and the main code branch.

Regarding your specific questions, I'm not sure they would be all that much of an improvement. As far as tourney advertising goes, TourneyBot deliberately limits its shouting to announcing the tourneys and round winners so as not to be too annoying. Automated shouting can be a problem and occasionally people still complain TB shouts too much as it is.

Regarding the other thing, I've always liked the idea of having some sort of tourney rating to determine the most successful tourney players. It would weigh the points given  for every tourney win by how difficult the tourney was (type, round length, average rating and participants) and such. If you code up something like that, definitely send it in.
MadMatt
----------

TourneyBot Website

don

Just a note here:  Adams quote attributed to me was not writting by me.
So many string dimensions, so little space time...

adamosad

Sure Don. It was written by me, but the quote is situated in your post! That's what i said

adamosad

Thx u very much for answering me MadMatt.

I didnââ,¬â,,¢t say anything about advertising in this post because I discuss it with other players and they told me the same with you, that this will be very annoying. I have just quoted the idea as it was firstly created.

Secondly I didnââ,¬â,,¢t say anything about creating a tourney rating system because as you said ââ,¬Å"It would weigh the points given for every tourney win by how difficult the tourney was (type, round length, average rating and participants)ââ,¬Â and I think this is impossible.

The idea for this is to let the players decide the difficulty of each tourney. For example if you won in two tourneys and I won in two tourneys, we are going to have different data to botââ,¬â,,¢s database. You maybe have the title ââ,¬Å"jan 2005 minimatches winnerââ,¬Â and ââ,¬Å"rating championship winner of group X 2005ââ,¬Â and I maybe have other 2 titles. Other players will be able to see these results easily with a simple command and no-one will forget that you won those officials tourneys.

If a system like that will be created then each tourneyââ,¬â,,¢s creator should inform tourneybot with a simple command ââ,¬Å"the new titleââ,¬Â and the ââ,¬Å"specific playerââ,¬Â he rewards with that title. As for the old results we can find the data in ââ,¬Å"hall of fameââ,¬Â of tomawakyââ,¬â,,¢s page.

My problem is to find someone who knows how to make this code. I know a lot about economics but not enough about programming :lol:   Finally, as you donââ,¬â,,¢t have additional time Iââ,¬â,,¢m wondering if there is anyone else who knows how to do it. Anyone who wants to help and knows what to do, is welcome.  :cool:

Thx again for your time MadMatt. If I find someone to create the code, Iââ,¬â,,¢ll inform you.

adamosad

#5
This is a conversation i had with Donzaemon at 16:00 utc today!!!

donzaemon: hi
You: hi:)
You: Nice programming of donzbot.u do nice work in this subjects...congrats:)
You: do u know anyone who knows ruby? except of madmatt?
donzaemon: thanks .. I like backgammon so I put some work into this stuff ... I have a pretty good database of cube positions for learning the game better too
donzaemon: ... don't know any ruby programmers .... I'm sure there are many programmers who could do it with some documentation in hand, though
You: ohhh u read the post....right?
donzaemon: not lately .. what's happening ?
You: http://www.fibsboard.com/index.php?showtopic=785 (We talked about this Post)
You: i wrote a good description but i got a negative answer from madmatt
donzaemon: doesn't sound 'negative' .. he just doesn't have time to do it .... my idea
would be to keep the current tourneybot the way it is but also have anotherupgraded
one with the features of having records etc. as a special tourneybot that can do the 'official' tournaments
donzaemon: .. and have them less often ... but with longer match lengths
You: wow good suggestion!!!! u are unbelievable!!!
You: but there is still a problem.... who is going to host it? :(
You: webrunner can't host another bot
donzaemon: .. inim was talking about getting a rental server .. virtual OS in a data center type thing when he gets his bots going ... if he does that it would be a great place to put something like that
donzaemon: apparently they have some really cheap ones in Germany or something
You: ohhh nice
You: so if the advancetourneybot....will be created...a lot can be changed for fibs community:)
donzaemon: but he hasn't yet ... he is working on a couple of interesting thing .. he is going to tweak the tourneybot interface and make it into a regular playing bot with GNU on the back end
You: but we need a ruby programmer and inim's server when he will buy it
You: hmmm so he already try to modified it...right?
donzaemon: have you talked to inim about it ? he is doing some neat stuff and has become very comfortable with fibs and interfacing to it ..
You: wow. I'll speak to him
donzaemon: I would take a look at it but I am starting to get REALLY busy with other
stuff recently
You: thx u very much donz:) Can u post your extension idea as a replay to my post?
You: it is a veryyyyyyyy good one:)
donzaemon: what extension ? the model for deploying and promoting it by making
it host the 'official' tournaments ? that's not a big deal and is subject to change .. the
person who deploys it should probably decide how all that works
You: and the new advancetourneybot can play in all official tourneys too:)
donzaemon: I don't know ... host playing in the tournament may or may not be a good idea ... BUT .. you could use it as a promotion .... winner get's an extra bonus by their name if they then beat the bot or something
You: the idea to create a new bot similar to this one but more advance for official tourneys...
You: hmmm or only the title owners can play this bot
You: so more people will try to win official Tourneys.Good idea:)
donzaemon: yeah .. or .. there is always a special match for the winner after the tournament ... and if you win it you get a different color trophy or something ... makes it just that much more special
donzaemon: but there will be enough work just getting the extra features set up WITHOUT making it a GNU bot
You: yes i know
donzaemon: so maybe that should be a 'second wave' idea .. after the other is already working
You: I understand...
You: but if we make it works with the first idea...it's a peace of cake for u to make it
a gnu bot...
You: so if we find a lot of people to work together we can create the ultimate bot here
You: if i find the guys to make the new bot and inim agree to host it...are u going to make it a gnu bot?
donzaemon: inim could do that much better than I could .. I'm not too familiar with GNU and he is working on interfacing tourneybot for it .... but i could look at it and maybe figure something out
You: ok. Can i post this conversation? I find very important all the topics
donzaemon: yeah if you want to
You: thx u very much donzaemon...
You: i will post it as a reply in my post
You: so do i have your permission right?
donzaemon: yeah .. I don't mind
You: ok thx again

inim

#6
We face a stituation where the two main non-core fibs services, tourneybot and repbot, are left more or less unuspported. Adamosad has pointed out this important issue, but unfortunately is not a technical person who could himself solve the problem. So among others he asked me to work on tourneybot's code base.  For technical and personal reasons I had to refuse at the moment. MadMatt left a stable system, so hacking into it without real commitment would be a crime. A fibs bot badly needs  stability, it's no fun for either the users nor patti to have beta level software rampaging on fibs.com. Stability beats featurism.

What are the remaining options?

1. Revitalize burper's porting efforts to Java, using his existing code base.
2. Finding a volunteer interested in learning Ruby and to take over tourneybot maintainance
3. Rewriting tourneybot from scratch in a mainstream language such as Java.

Options 1 is out of my control. Option 2 would solve the concrete tourneybot problem, but not help with other fibs software. Option 3 would require someone to take the responsibility to lead a project until the end.

Looking at the situation I'm not happy with what i find. On the one hand I'd like to see progress and would contribute, but on the other hand I do not have the time and guts to lead a fully fledged project. My feeling is I'm not alone with that mindset, however. All of the successful past fibs projects, including fibs itself, were one man shows. Burper tried to build an open source community around fibs and to my deepst regrets failed doing so. Maybe it's worth a second try.

So all you fibs geeks out there, how do you feel about fibs software development? I'm not asking for "I'm the best coder since Steve Wozniak and I will fix it immediately" style comments, but for thoughts on sustainable models for volunteer  software development and maintainance for fibs. If there is such a thing.

inim

P.S. Please let me correct Adamosad's last posting: Yes, I'm working on bot code in java and willing to share parts of the source once they are finished. But no, I don't have server space to offer.
This space is available for rent by advertisers. Call 0900-INIMITE today, and see your sales skyrocketing in no time! New customers receive free Vl@9rå and a penis enlargement set as a bonus! We support banners, flash banners, and scrollers. Discrete handling by our HQ on the Dutch Antilles.

MadMatt

Just to clear something up. TourneyBot is in no way unsupported. I still regularly perform maintenance (removing old tourneys, resetting scores) as well as admin tasks (banning abusing TDs and such). Should you find any bugs, I will be more than happy to try and eliminate them when I have the time. The web page is updated occasionally and I participate regularly on this forum. I think, considering all this, you can hardly claim TourneyBot is being unsupported. There is a lot more to this project than you imagine.

At this time, I am simply in no position to devote time to implementing new features, especially when I don't believe that the suggested ones would be a significant improvement worthy of my time or that there is a significant demand for them. I have personal experience with situations like this - about one third of the development time that went towards producing TourneyBot was making the double elimination tourney, because a lot of people said they would like to see that. I complied and it was a ###### to make, but since then, what, maybe 5 double elimination tourneys have been held? Not worthy of my time at all.

You see, I maintain firmly that TourneyBot should be fun. For the people to play in tourneys, for TDs to hold them, but also for the coders involved in its production. Hence, I code on my own time because I feel I'm adding a significant feature to FIBS or because the technical challenge behind it appeals to me. I don't like what FIBS has become much, so I don't feel particularly inclined to add new features. It doesn't mean TB is unsupported though.

If you produce a meaningful addition, I will include your code into the TB's main branch, though this will be at my discretion, of course. Everyone is, of course, welcome to start their own fork and run their own copy of the bot, as the code is Public Domain, meaning you can do whatever you like with it without even giving me credit or giving anything back to the community. I can't do much more than that, can I? I certainly can't code your additions on request for you. Everyone has a thousand ideas after all and I have seen too many people promising awesome new additions and great features here on these very boards, but it turned out to be all just talk.

Looking forward to seeing your additions to the FIBS community very much,

Mat
MadMatt
----------

TourneyBot Website

adamosad

Thx u for your reply MadMatt. I want to say that this not only a simple idea. I ask a lot of people if they support it before i create this new topic. More than 90% answer me positively. Yesterday, me,inim, donzaemon, chris and resh tried to find a solution to this problem,  as a lot of people find it very interesting, even u madmatt.

QuoteRegarding the other thing, I've always liked the idea of having some sort of tourney rating to determine the most successful tourney players. It would weigh the points given for every tourney win by how difficult the tourney was (type, round length, average rating and participants) and such. If you code up something like that, definitely send it in.

Finally i want to tell you that double elimination tourneys worth your time. As a td i run only this kind of tourneys the last 20 days. You can check it if you want.  People like them a lot. You can ask EddieVedd. He enjoys joining these tourneys more than the normal bracket ones and there are much more players like him who does.

As a Td, i have to thx u about the creation of double elimination tourneys. It was a GREAT improvement


inim

#9
Quote[...]
I think, considering all this, you can hardly claim TourneyBot is being unsupported. There is a lot more to this project than you imagine.

I am more than happy to see MadMatt's reply. We have a well maintained project, a maintained production server, a commited lead and and even a generous invitation to interested third partys. What else could you ask? I'm very sorry for having used the wrong word "unmaintained", in no way I wanted to blame Matt of anything. I just did not knew any better.

Quote[...]
Everyone has a thousand ideas after all and I have seen too many people promising awesome new additions and great features here on these very boards, but it turned out to be all just talk.
Too True. Realistic self assesment is an underetimated virtue -- there are too many  rotting project corpses in sourceforge already. As Master Yoda put it: "Do. Or Do Not. There Is No Try". For my part, I have decided to "Do Not" when asked. That's honest and much better than any "Maybe" or "Later". Beside that, I'm quite happy with tourneybot as it is.

Finally, even coders need a friendly word from time to time. So let me repeat the main message: thank you MadMatt for your continued work and your clear commitment, both is  appreciated a lot :thumbsup2: .

inim

P.S. I love double elimination and wished TDs would run more tourneys of that type ;) )
This space is available for rent by advertisers. Call 0900-INIMITE today, and see your sales skyrocketing in no time! New customers receive free Vl@9rå and a penis enlargement set as a bonus! We support banners, flash banners, and scrollers. Discrete handling by our HQ on the Dutch Antilles.

jonesyjt

I agree that these are great suggestions.  I also agree with inim on stability.

QuoteA fibs bot badly needs stability, it's no fun for either the users nor patti to have beta level software rampaging on fibs.com. Stability beats featurism.

I wish I could help with this idea, but I cannot take on too many projects.  

BTW MadMatt  thanks for the double elim.  I have played a few.  Won one and runner up in another.

jonesyjt

adamosad

Well, as Avik, who knows Ruby, answer negatively as he doesn't have time. It seems that it is the end for this improvement idea. :tears:

Opinions about this idea are welcome....  

Tomawaky

QuoteEveryone has a thousand ideas after all and I have seen too many people promising awesome new additions and great features here on these very boards, but it turned out to be all just talk.
Very true ;-)
Stop talking now. It's time too work
Tomawaky "I feel good da da da da da da da.........i knew that i would now........."

Tomawaky

One thing that could be done easily is to post each tourney result in a database.
the problem is to control results' veracity.

Then to organise database with information we want to add in.
Tomawaky "I feel good da da da da da da da.........i knew that i would now........."

Chris

#14
[...]

webrunner

Let me start by asking Matt some tech stuff.
If the results of the Tourneys could be stored in a MySql database in stead of the way it is stored now, i could participate a little more and connect some php code to it.
Is it very hard to accomplish this Matt?

How many hours of work would that take you (i am not asking you to do it, just your opinion)

I could host another bot but then i would have to let two of the gnubots go.
(mainly the wclass one, that is a CPU hungry bot ;) )
"There is a difference between knowing the path and walking the path."
Bruce Lee
===================================
Orion Pax |

inim

#16
I looked a briefly into the tourneybot database available for download. The database format seems to be based on serialization of Ruby objects (aka marshalling) into named directories. The directory names are thus part of the data, e.g. tourney 1111 is stored in a folder named 1111. All in all a mixture of OODB and FileDatabase approaches.

Webrunners idea to unglue the data from its form of serialized objects into something more accessible and neutral is obviously right. Relational structures are one way, other formats that come to my mind are XML or CSV.

The code to produce whatever neutral format can obviously be written in Ruby only. Otherwise you needed to impement a parser for Ruby's marshalling format, which is binary. Not a pleasant thought.

I'm curious how much time could be saved, in MadMatt's assesment, if one not directly writes into a relational database, but "only" produces XML from Ruby in step one. That seems closer to me to the existing OODB approach than the full leap from OODB to RDBMS. And "print" is a always easier than "ODBC". Consuming  XML with PHP, or producing SQL from XML  and DTD/Schema ist very well supported by many free tools as well.

inim
This space is available for rent by advertisers. Call 0900-INIMITE today, and see your sales skyrocketing in no time! New customers receive free Vl@9rå and a penis enlargement set as a bonus! We support banners, flash banners, and scrollers. Discrete handling by our HQ on the Dutch Antilles.

webrunner

"There is a difference between knowing the path and walking the path."
Bruce Lee
===================================
Orion Pax |

MadMatt

#18
As I have explained a few times before, there are several reasons for TB's use of serialized object dumps instead of a real database. Stability is a primary concern, simply writing some data to a directory on the local machine is much less error-prone than maintaining a connection to a database server. In the latter case, TB's proper functioning would depend on the database server being there and working properly, the way it is now TB is completely self dependant. At the time of making, I had no idea if anyone would be willing to host TB at all and therefore could not rely on having a database available. Plus, it was so much easier to code it that way, I simply dump the object to disk whenever a change occurs without having to deal with SQL quaries or anything similar.

In short, I'm not interested in changing this. I can see the benefit of having an independent, minable database of tourneys, though I'm not quite sure how it ties with ideas suggested here. If you want to have the bot auto advertise tourneys or give titles to some tourney winners, I don't see how having a real database of tourneys would help with that.

I should also add that changing the way TB stores info would be no small task and would require significant time and effort, which is all the more reason not to do it. Instead, the simplest way is to write a bridge application that would read those objects from disk periodically and insert the data in a proper SQL database that could then be used for whatever purpose. This really isn't something that's very difficult or time consuming to do. The drawback is that you wouldn't have real time data, instead it would be the data from when you last ran the bridge application, but that's a small tradeoff, in my opinion.
MadMatt
----------

TourneyBot Website

Tomawaky

completly agree with you matt
Tomawaky "I feel good da da da da da da da.........i knew that i would now........."