RGS stands for RGS's Golfing Showdown, a golfing competition.
The competition has ended, final leaderboard at the end of this post!
1 - The format
The RGS will be a virtual golfing competition with 5 code-golf challenges.
1.1 - Post dates
The 5 challenges are scheduled for 24th and 28th of February, 3rd, 7th and 11th of March and will be posted the closest to 8 a.m. UTC I manage to.
2 - Challenges
Each challenge is a regular code-golf challenge open to the whole codegolf.SE community.
2.1 - Themes
2.2 - Sandboxing
The RGS challenges will be sandboxed usually.
3 - Participation
3.1 - User eligibility
Any codegolf.SE member is eligible to participate in this competition.
3.2 - Entering the competition
Any user that submits eligible submissions to each of the 5 challenges is entered into the competition by default.
3.3 - Eligible submissions
For each given challenge, a solution has to satisfy the following requirements to be considered eligible for the RGS competition:
- A solution has to be submitted in the first 96 hours after the challenge is posted;
- A solution must not be in any of the restricted languages (see section 4);
4 - Restricted languages
This section explains the restrictions on per-challenge languages "allowed" for the RGS competition. These restrictions apply only to submissions that are for the challenge. A submission in any of the restricted languages is still a valid code-golf submission!
4.1 - Purpose
The purpose of creating restricted languages is to force users to use more than one prominent language in order to compete in the RGS.
4.2 - Choosing the restricted languages
Challenges 2, 3, 4 and 5 will have a minimum of
3 restricted languages. The restricted languages for challenge
i + 1 are computed as per the following algorithm:
- Start with no restricted languages and with a counter as
- Sort the submissions to challenge
iper byte count, keep ties.
- Take all the languages that provided solutions with the lowest byte count available:
- Define those as restricted languages.
- Increment the counter by
- Remove all the languages added to the restricted languages from the submission list created in 2.
- If the counter is smaller than
3and we have less than
5restricted languages, go back to 3.
4.3 - Dialects
For the purposes of the restricted languages, different versions and/or dialects are counted as the same language. As examples,
Python 2 and
Python 3 count as the same language, as do
APL Classic and
APL Dyalog Extended.
4.4 - Example
Say that for challenge 3 we have the following submissions, with the respective byte-counts:
5 bytes: 05AB1E, Jelly
6 bytes: APL Classic
28 bytes: Python 2
31 bytes: Ruby
40 bytes: PHP
120 bytes: brainfuck
137 bytes: Java
Then the restricted languages for challenge 4 would be
05AB1E, Jelly, APL and
5 - Scoring
5.1 - Final entry
At the fifth challenge, a user who wishes to be considered in the final RGS ranking must choose one of his/her eligible submissions (as in section 3), per challenge, to be accounted for in the final competition score. These choices must be listed at the end of the chosen submission of the 5th challenge.
5.2 - Per-challenge scoring
Each chosen submission is given score equal to its byte count 96 hours after the challenge was posted.
5.3 - Final scoring
The competition score is calculated by summing up the byte scores of the eligible submissions that the user chooses.
5.4 - Tie-breaking
In case 5.3 results in a tie, the following criteria are used for tie-breaking:
- The user with more unique languages in the 5 chosen submissions wins;
- The user that submitted earlier more times over the course of the 5 challenges wins;
- The user with the earlier submission for challenge 5 wins.
6 - Prizes
6.1 - Main competition winner
The winner of the main competition will win a
200 reputation bounty awarded by me. Sorry if this isn't much!
6.2 - Style points for surprising answers
I will also award
50 x 5 reputation bounties, one per challenge, to the answer that surprises me the most. This is entirely subjective and I reserve myself the right to attribute this bounty to whatever answer I please.
Note that because of my lack of knowledge about the full bounty mechanics, I was forced to start a 100 rep bounty on my second challenge, instead of the advertised 50 rep.
6.3 - Sponsoring
If you wish to sponsor a language you really like, or just want an excuse to offer a bounty for an answer in a particular language, you may sponsor one of the challenges, or the whole competition, by commenting below under what conditions you also want to award a bounty to someone.
Please take into consideration that consecutive bounties have to be double the previous bounty.
7 - Rankings
This section will be updated as the competition moves forward, to reflect the partial rankings of the challenges.
The bonus style points were awarded to this answer in Roj, a toy programming language I created a long time ago.
The bonus style points were awarded to this Shakespeare Programming Language for being such a literate answer and because, I quote,
"Is I as big as the sum of The cube of a big big cat the cube of The sum of A big cat a cat?".
I did not manage to award the bonus style points for this challenge, unfortunately.
The bonus style points were awarded to this Jelly answer by Kevin Cruijssen for being a Jelly submission from a member that I associate with Java, 05AB1E and Whitespace but definitely not with Jelly.
The competition is now over and these are the final standings! Thanks to everyone who participated and I hope you enjoyed it!