Board for everybody who is interested in BrainKing itself, its structure, features and future.
If you experience connection or speed problems with BrainKing, please visit Host Tracker and check "BrainKing.com" accessibility from various sites around the world. It may answer the question whether an issue is caused by BrainKing itself or your local network (or ISP provider).
went and looked at friends list...OMG where did all those people come from? hahah 88 of them and I didnt know half of them so now there are only 33 and I am sure most of them dont know who I am except for a few LOL
Bernice: That's how it works. This is the "public" friends list. It is different than your regular friends list. This is a list where you are publicly showing you are friends. Anyone who clicked on your profile would see that he was a public friend. If you want to add Hrqls to your public friends list, you would first have to have him on your regular friends list. Then, next to his name, you would see a tiny lock. If you click that lock, it would send Hrqls a request. If he approves it, then he would be shown on your public friends list, on your profile.
got this request this morning....no name or any ID....anybody else?
*******wants to add you to his/her list of public friends. A public friend list is visible to everyone at the users profile. Visit your Friends page where you can accept or reject this request. ***********
rabbitoid: The basic problems with implementing features that the current implementation had not accounted for on creation, is the interaction with the existing system. I felt the need to point out the holes in your algorithm, because you stated how "simple" it is and how "rubbish" is what others had said.
It is my estimation that the feature discussed here is implementable, but it is also my impression that the current system would need at least a partial reconstruction to do so, as the creator of the system had focused on other very important issues during the implementation(like versatility without compromising speed) and I have to say this site has the most flexible tournament system I have seen anywhere. Allowing unlimited players, variable-length sections, unlimited tournaments, a host of different time controls, different tournament types and so many things taken for granted by the people here really needed some very involved programming, considering all the issues you need to deal with in order to make it happen.
This does not mean that the integration of such a feature could not be done without reconstruction(as I can only guess as to current implementation), but extensive testing and very careful programming will be needed which I do not think is even near "very easy", even though the algorithm itself seems to be easy.
If you have not predicted that the need for games in a session to continue after a session is over may arise, you may need to expand the existing structure to allow that. Depending on where the structure is kept this can mean the need to rebuild the games database(again, wild speculation, and what I imagine to be worst case scenario).
So, contributing to the solution of problems and posting ideas is great, but I think it would be prudent to avoid classifications as to the difficulty of implementation for things we know very little(if anything) about.
ThunderGr: No idea what other tasks are done on "game end". Same goes for the other "do you know" questions. I don't say that this is implementable code. This is a description, pseudo-code. To implement correctly one certainly has to consider side effects.
When I say section (not session) over, I mean the section as a whole in the tournament. NOT individual games within the section. Those should continue. All we want is for the tournament to progress.
"For" loops can be costly, but those I described shouldn't be. they are on the number of players in a section and one on the number of sections in a round.
rabbitoid: Interesting. Do you have any idea how this would interact with the current tasks when a game is over? Do you know how is the tournament system currently implemented? Do you know what methods and algorithms are currently used to check tournaments for completion? Do you know how this algorithm of yours would interact with that? What about the rest of the games currently in progress within the session? Where in your algorithm is that being taken in account? The fact that you are not supposed to end the session but allow the rest of the games continue seem to escape you. The games are played for the enjoyment of the game(mostly) and rating determination as well as tournament position add to the enjoyment.
Unless you know all those things I have mentioned, then your statement about easiness and simplicity are void.
And, by the way, 'for' loops tend to be costly, depending on the processing in the for loop and 'if' branches can also be costly, depending on the occasion, so your determination of simplicity and processing time based on the number of 'fors' and 'ifs' is rather arbitrary, as well.
All rubbish. There's no need for a time-check. Here's a 2-cent algorithm: - when any game ends, check if it is in a tournament. If not, we're done. - if yes, check it's section for winner - if there is a clear-cut winner for this section, check if all sections are done.
How to "check this section for winner": - Find the highest score - for all the other players in the section: - - assume that all the unfinished games for the player will be wins. - - if the new assumed score is higher than the "highest score" the section is not over. - if for all the other players in the section the test is good, the section is over.
This algorithm costs almost nothing in performance. 3 "for" loops and a couple of ifs. Why won't it work? because there's no one to implement it.
coan.net: My idea was more like "check if there are winners in this tournament" (instead of calculating for all tournaments), rather than "I think the winners are A, B and C" But a calculation attached to a finished game would solve the peak in the resources used
BrainKing has a lot of running tournaments, so as El Cid said, it might take too many resources to run every hour - but to save a ton of programming, I think the idea that a user can "ask for next round to start" button where someone who knows how to see if the results could re affected by current games could then manually assign the winners from each section to start next round (and let remaining games that don't matter to the tournament to continue) - it might be a solution to help with the amount of programming to calculate if the results can be different.
rod03801: If slowing down the site is a problem, there are no doubt times during a 24 hour day when there is a lot less traffic than at other times. That would be an ideal time for a "once a day" routine to run to determine mathematically definite "yellow lines" in tournaments.
I agree, even once a day would shave weeks or months (years even) off of each round starting in many tournaments.
El Cid: It seems to be pretty routine at other sites though. For example GT definitely does it. I'm not sure it would need to be once an hour. Heck, once a day would be plenty and would help move tournaments along. Even not THAT often, would be an improvement.
happyjuggler0: I believe the reason Fencer pointed out most of the times was that it would be a burden to the site to be calculating every tournament possibilities every... hour. If that is the case, an alternative would be to calculate everytime a game is finished (and only then), or another possibility that the "early calculation" would be "user requested", for instance there would be a button in every tournament where I could go and click "calculate winners" and that I could only use once in a day or a week for each tournament (my idea was that only the user who clicked it would be blocked for a day). I don't understand much (almost nothing) of programming so I don't know if any of them is easy to implement
Aganju: They use the system I described at IYT, but their tournament sections range from 2 to 5 players, and they don't use a tiebreaker method, so I am guessing it would be easier to calculate than it would be here....
happyjuggler0: I agree that this would be nice, but as a coder I know that it can become very complex in some situations to calculate that. However, it would be not that difficult to implement the simpler cases, so it would catch 95 % of the situations, and let the remaining 5 % running a bit longer. In other words, it doesn't have to be able to catch all mathematically decided situations, just most.
I guess if I phrased it differently I would say that each tournament section should receive a yellow line (or more than one yellow line when it is a tie) once it is mathematically known who won that section.
Then once all the sections have a yellow line, the next round begins, or if it is the end of the tourney, then a tourney winner is declared.
All the remaining games can continue at their own pace, without being pressured by the others to hurry up and finish.
I suppose everyone has their own idea of what needs improvement first, so I will add my one idea.
IYT has a feature that declares a winner (or tie as the case may be) in a tournament section once it is mathematically over. Once all sections have a winner, the tournament progresses to the next round.
Such a system would help speed up tournaments without having to wait for stragglers who can have no impact upon the overall results.
I believe that if BK implemented that, then there would be more satisfied players in current tournaments, and more people might start playing in tournaments, which would help BK retain players.
I have no idea how easy or hard it would be to program such a situation here, and I also know others surely have other ideas which perhaps ought to have higher priority when it comes to making improvements.