Topic
  • 9 replies
  • Latest Post - ‏2013-03-15T12:37:53Z by TomBanks
EvanWorley
EvanWorley
11 Posts

Pinned topic Running a tournament

‏2013-01-31T00:30:48Z |
Hello, 
 
I'm glad to see CodeRally coming back to life. I did CodeRuler/CodeRally during my undergrad, and have incredibly fond memories of the experience. A few months ago I setup a local CodeRuler tournament at my workplace, and I'd like to do the same with CodeRally. I can see that CodeRally has advanced a lot, and I am wondering if there is some documentation somewhere on how to run a local tournament? 
 
Thanks for any assistance, 
Evan 
Updated on 2013-03-15T12:37:53Z at 2013-03-15T12:37:53Z by TomBanks
  • TomBanks
    TomBanks
    66 Posts

    Re: Running a tournament

    ‏2013-01-31T11:44:15Z  
     Hi Evan,
     
    Glad to hear you have fond memories of code rally - I hope you like what we are doing with it and where we are headed. We don't have full documentation on how to run a tournament yet but it is quite simple. You will probably want your own local server running the code rally game so that the leaderboard is limited to people taking part (when you have setup a server in eclipse by following our instructions that is all you need). Once you have a server running you need people to add that server to the list of servers they can race on in the eclipse plugin and to race their cars there (to she how people can do that we have a 3rd video on how to race on the IBM cloud which shows how to add a server to the list of servers to race on). 
     
    That's a basic overview of what you need from a technical point of view if you want any more detail about getting everyone racing on the same track at the same time please put any questions here and I will do my best to answer them :-)  
    Updated on 2013-01-31T11:44:15Z at 2013-01-31T11:44:15Z by TomBanks
  • EvanWorley
    EvanWorley
    11 Posts

    Re: Running a tournament

    ‏2013-01-31T21:12:03Z  
     Hi Tom,
     
    Thanks for the reply. I have the server setup and have no problem setting up clients. What I'm curious about is specifically tournament configuration. If you're familiar with the old code rally or code ruler, there was a specific tournament mode where you could ask it to run 3 rounds, with certain parameters, and it would essentially created a tournament where the round seeds were based on previous rounds, etc. Instead of a continuous/prompted leaderboard, I want to create a discrete and structured tournament. Is this possible? Ideally teams develop for a few hours and then submit to the tournament server. On the server I run the actual tournament and then play it back for everyone. This worked really well with CodeRuler and people were very excited to watch the matches progress from round to round.
     
    Thanks for your help, 
    Evan 
  • TomBanks
    TomBanks
    66 Posts

    Re: Running a tournament

    ‏2013-02-01T12:05:07Z  
     Hi Tom,
     
    Thanks for the reply. I have the server setup and have no problem setting up clients. What I'm curious about is specifically tournament configuration. If you're familiar with the old code rally or code ruler, there was a specific tournament mode where you could ask it to run 3 rounds, with certain parameters, and it would essentially created a tournament where the round seeds were based on previous rounds, etc. Instead of a continuous/prompted leaderboard, I want to create a discrete and structured tournament. Is this possible? Ideally teams develop for a few hours and then submit to the tournament server. On the server I run the actual tournament and then play it back for everyone. This worked really well with CodeRuler and people were very excited to watch the matches progress from round to round.
     
    Thanks for your help, 
    Evan 
     Hi Evan,
     
    Unfortunately we do not have that mode available at the moment - I have written up a basic requirement on our jazz hub page for it. If you want to add any comments, other feature requests or file any bug reports you can do so with a free jazz.net account. The base code rally dashboard is at https://hub.jazz.net/ccm/web/projects/Code%20Rally#action=com.ibm.team.dashboard.viewDashboard
     
    The story I have written out is at https://hub.jazz.net/ccm/web/projects/Code%20Rally#action=com.ibm.team.workitem.viewWorkItem&id=9746 - please feel free to add any comments on what you would find useful from this feature (once you have a jazz.net account you should be able to join the team and make defects/comments/feature requests)
     
    Of course I cannot make any commitment to complete any stories or defects that are in the dashboard (nor meet specific requirements in those stories if we did work on them) however having them in the jazz hub allow us to look at requests from our users to see what you want from the game, which could influence future development (but again to be clear there are no guarantees).
    Updated on 2013-02-01T12:05:07Z at 2013-02-01T12:05:07Z by TomBanks
  • EvanWorley
    EvanWorley
    11 Posts

    Re: Running a tournament

    ‏2013-02-04T19:24:19Z  
    • TomBanks
    • ‏2013-02-01T12:03:05Z
     Hi Evan,
     
    Unfortunately we do not have that mode available at the moment - I have written up a basic requirement on our jazz hub page for it. If you want to add any comments, other feature requests or file any bug reports you can do so with a free jazz.net account. The base code rally dashboard is at https://hub.jazz.net/ccm/web/projects/Code%20Rally#action=com.ibm.team.dashboard.viewDashboard
     
    The story I have written out is at https://hub.jazz.net/ccm/web/projects/Code%20Rally#action=com.ibm.team.workitem.viewWorkItem&id=9746 - please feel free to add any comments on what you would find useful from this feature (once you have a jazz.net account you should be able to join the team and make defects/comments/feature requests)
     
    Of course I cannot make any commitment to complete any stories or defects that are in the dashboard (nor meet specific requirements in those stories if we did work on them) however having them in the jazz hub allow us to look at requests from our users to see what you want from the game, which could influence future development (but again to be clear there are no guarantees).
     Hi Tom,
     
    Thanks a lot for filing that story. I created a Jazz account, but am unable to view neither the dashboard nor the story due to a "You are not authorized to view this page." error. Works now!
     
    Also with respect to this tournament, I need to find a way to set it up for my team by mid march. Do you have any suggestions on how I might use the current feature set to run a contest? For example I could have a live leaderboard, and the top players at the end are the winners, but this seems weighted based on the number of races that a particular player is in. I think the simplest thing I could do would be to start a fresh leaderboard after the development period is over, and the trigger some set of races. Is this possible? Also since there is not a numeric score, I'm unsure how I'd aggregate the results of multiple races (other than the leaderboard).
     
    Thanks again for your help,
    Evan  
    Updated on 2013-02-04T19:24:19Z at 2013-02-04T19:24:19Z by EvanWorley
  • TomBanks
    TomBanks
    66 Posts

    Re: Running a tournament

    ‏2013-02-04T21:52:27Z  
     Hi Tom,
     
    Thanks a lot for filing that story. I created a Jazz account, but am unable to view neither the dashboard nor the story due to a "You are not authorized to view this page." error. Works now!
     
    Also with respect to this tournament, I need to find a way to set it up for my team by mid march. Do you have any suggestions on how I might use the current feature set to run a contest? For example I could have a live leaderboard, and the top players at the end are the winners, but this seems weighted based on the number of races that a particular player is in. I think the simplest thing I could do would be to start a fresh leaderboard after the development period is over, and the trigger some set of races. Is this possible? Also since there is not a numeric score, I'm unsure how I'd aggregate the results of multiple races (other than the leaderboard).
     
    Thanks again for your help,
    Evan  
     Hi Evan,
     
    The option to run a tournament is a little more manual than I would like however I think it is still possible to run a tournament relatively easily. I don't know how many people you will have entering, so this may not work if you don't have many people helping and a lot of racers. I would not use the server leaderboard to find the winner as our current leaderboard ordering algorithm favors number of wins over average position in races so someone who came 6th 3 times and won 3 times will do better than someone who came second 5 times and won once (which is better overall for average position).
     
    For tournament races I would setup something similar to the Olympics - where you have a series of heats where the top x racers go through, and then of those who do not the top x with the best track time across all races go through to the next round, and then you can have the top 2 or 3 racers going through each round until you have a winner - you would have to have the same track per heat level (so quarter finals would all be on the same track but semi finals could be on another track for example). To record who won you would have to watch a replay on one of the entrants' machines and record the results at the end (you get the finishing order and the time it took to complete for each racer at the end of a race). 
     
    If you wanted to use the leaderboard for helping spot winners or for stats on average positions and number of wins you could use a server for practice runs (you could even use the IBM cloud) and then have a local server you run for competitive races to take part on - that would let people practice as much as they want without messing the leaderboard up with lots of runs.
    Updated on 2013-02-04T21:52:27Z at 2013-02-04T21:52:27Z by TomBanks
  • EvanWorley
    EvanWorley
    11 Posts

    Re: Running a tournament

    ‏2013-03-08T18:21:16Z  
    • TomBanks
    • ‏2013-02-04T21:51:10Z
     Hi Evan,
     
    The option to run a tournament is a little more manual than I would like however I think it is still possible to run a tournament relatively easily. I don't know how many people you will have entering, so this may not work if you don't have many people helping and a lot of racers. I would not use the server leaderboard to find the winner as our current leaderboard ordering algorithm favors number of wins over average position in races so someone who came 6th 3 times and won 3 times will do better than someone who came second 5 times and won once (which is better overall for average position).
     
    For tournament races I would setup something similar to the Olympics - where you have a series of heats where the top x racers go through, and then of those who do not the top x with the best track time across all races go through to the next round, and then you can have the top 2 or 3 racers going through each round until you have a winner - you would have to have the same track per heat level (so quarter finals would all be on the same track but semi finals could be on another track for example). To record who won you would have to watch a replay on one of the entrants' machines and record the results at the end (you get the finishing order and the time it took to complete for each racer at the end of a race). 
     
    If you wanted to use the leaderboard for helping spot winners or for stats on average positions and number of wins you could use a server for practice runs (you could even use the IBM cloud) and then have a local server you run for competitive races to take part on - that would let people practice as much as they want without messing the leaderboard up with lots of runs.
     Hi Tom,
     
    Thanks for the info. Would you mind going into a few more details? I'm about a week out from running this event at work, and I want to see if the current CodeRuler will suffice or not. I will be the only one "running" the tournament, with up to 20 participants. I don't mind having a slightly more manual process, but it is important to me (and my logically minded team) that it's an objectively fair/clear system for ranking.
     
    For example, I'm not sure how to manage the match making among rounds, etc. 
     
    Thanks for your help, as always!

     - Evan 
  • TomBanks
    TomBanks
    66 Posts

    Re: Running a tournament

    ‏2013-03-14T10:46:25Z  
     Hi Tom,
     
    Thanks for the info. Would you mind going into a few more details? I'm about a week out from running this event at work, and I want to see if the current CodeRuler will suffice or not. I will be the only one "running" the tournament, with up to 20 participants. I don't mind having a slightly more manual process, but it is important to me (and my logically minded team) that it's an objectively fair/clear system for ranking.
     
    For example, I'm not sure how to manage the match making among rounds, etc. 
     
    Thanks for your help, as always!

     - Evan 
     Hi Evan,
     
    For the races it makes sense to split people into group sizes of between 4 and 6 people per group. For 20 contestants I'd run the tournament with a points qualifying stage followed by semifinals and a final. 
     
    Stage 1: Points based qualifiers
    - 4 groups of 5 people 
    - Choose number of races to run based on how much time you have - I'd suggest starting with easier tracks like figure 8, space and sky 
    - Each race has everyone in the group enter - with 5 people per group that means 1 AI car will be in each race 
    - Assign points for each place (first place 5 points, second place 4 points etc) 
    - Give people time between each race to modify their car 
     
    After you've run all the races in that round the top 3 people from each group go through based on the number of points they have.
     
    This will take you to the semi finals:
    - Split the 12 people who made it through the qualifiers into 2 groups of 6
    - I'd suggest having the semifinalists evenly split so there's 2 top points cars, 2 2nd place card and 2 3rd place cars from the qualifiers in each race but try and randomly mix them up a bit
    - At this point you what happens depends on how much time you have
    - you could have 1 race for each group if you're low on time where the top 3 cars go through
    - you could have a new points system as with the qualifiers where you reset everyone's points and then have as many races as you like and based on the points people attained during the races you can then have 3 people from each group go through
    - For this round I'd use the harder tracks such as desk and circuit.
     
    For the final:
    - It makes it more intense if you only have 1 race instead of multiple races giving points - I'd have the winners from the semi finals race each other on the pond track as that seems to be the track that gives the most problems for AIs. 
     
    To record how everyone does in each race you'll need to see a replay of the race to the end to record the places everyone got. I'd have a local server running only for people to enter in the races for the tournament and allow everyone to run practice laps on their own machines as much as they like before the time. When you want people to enter a race there's a 30 second window they have so they all need to be ready to join the race - the server puts people who select the same track into the same race so when you want multiple different groups racing on the same tracks you will need to stagger the start times for each groups' race so they race each other and don't accidentally race people in other groups.
     
    I hope that makes sense - if something's not clear or if you have any questions please feel free to ask :) 
     
     
    Updated on 2013-03-14T10:46:25Z at 2013-03-14T10:46:25Z by TomBanks
  • EvanWorley
    EvanWorley
    11 Posts

    Re: Running a tournament

    ‏2013-03-14T17:58:42Z  
    • TomBanks
    • ‏2013-03-14T10:44:33Z
     Hi Evan,
     
    For the races it makes sense to split people into group sizes of between 4 and 6 people per group. For 20 contestants I'd run the tournament with a points qualifying stage followed by semifinals and a final. 
     
    Stage 1: Points based qualifiers
    - 4 groups of 5 people 
    - Choose number of races to run based on how much time you have - I'd suggest starting with easier tracks like figure 8, space and sky 
    - Each race has everyone in the group enter - with 5 people per group that means 1 AI car will be in each race 
    - Assign points for each place (first place 5 points, second place 4 points etc) 
    - Give people time between each race to modify their car 
     
    After you've run all the races in that round the top 3 people from each group go through based on the number of points they have.
     
    This will take you to the semi finals:
    - Split the 12 people who made it through the qualifiers into 2 groups of 6
    - I'd suggest having the semifinalists evenly split so there's 2 top points cars, 2 2nd place card and 2 3rd place cars from the qualifiers in each race but try and randomly mix them up a bit
    - At this point you what happens depends on how much time you have
    - you could have 1 race for each group if you're low on time where the top 3 cars go through
    - you could have a new points system as with the qualifiers where you reset everyone's points and then have as many races as you like and based on the points people attained during the races you can then have 3 people from each group go through
    - For this round I'd use the harder tracks such as desk and circuit.
     
    For the final:
    - It makes it more intense if you only have 1 race instead of multiple races giving points - I'd have the winners from the semi finals race each other on the pond track as that seems to be the track that gives the most problems for AIs. 
     
    To record how everyone does in each race you'll need to see a replay of the race to the end to record the places everyone got. I'd have a local server running only for people to enter in the races for the tournament and allow everyone to run practice laps on their own machines as much as they like before the time. When you want people to enter a race there's a 30 second window they have so they all need to be ready to join the race - the server puts people who select the same track into the same race so when you want multiple different groups racing on the same tracks you will need to stagger the start times for each groups' race so they race each other and don't accidentally race people in other groups.
     
    I hope that makes sense - if something's not clear or if you have any questions please feel free to ask :) 
     
     
    Thanks Tom, that's very helpful! 
  • TomBanks
    TomBanks
    66 Posts

    Re: Running a tournament

    ‏2013-03-15T12:37:53Z  
    Thanks Tom, that's very helpful! 
     No problem :)
     
    Please feel free to share any thoughts on how the tournament goes - if you spot any more requirements for Liberty (beyond a tournament mode which is now a requested feature) please feel free to mention them here or raise them on the JazzHub.
     
    Good luck with the tournament!