kostka's blog

By kostka, 9 months ago, In English

Don't you think that most of the current programming competitions are boring and monotonous? Can you think of something that could be more entertaining, especially for the viewers?

Let's brainstorm together. You can do whatever you want! How about extremely long 24-hour rounds? 5v5 match-ups with 10 computers? Or maybe a timer that starts at 1 hour at the beginning of the competition and goes up only if you solve a problem, so you literally fight only against the clock and see your rivals being eliminated? Alternatively, is there something from the existing competitions that you really enjoy and don't want to lose?

  • Vote: I like it
  • +292
  • Vote: I do not like it

»
9 months ago, # |
Rev. 2   Vote: I like it +85 Vote: I do not like it

One thing I always had in mind is contests between countries. Somehow each country selects its representatives among active cf users(maybe different divisions), and they compete with other countries. it's more fun when you have countries competing against each other, and makes it more sports like. It will also boost the awareness of CP in different countries.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    lmao then literally every winner board is gonna be "China China China China!", which will be kinda boring.

»
9 months ago, # |
Rev. 2   Vote: I like it +90 Vote: I do not like it

I dont want to ruin the brainstorming, but I think it is inherently harder to make a cp stream exciting as compared to chess for example. Chess has a visual aspect and by looking you can tell which player is attacking, if there is material imbalance and the engine evaluation. Cp has none of that, even understanding the statement is too much work. To see the results you can only see the scoreboard with the limited information: only which problems were solved. In chess even a beginner cam understand at least part of the checkmate tactic, but in cp it is harder to show only a piece of the solution. It is not a problem with the format, the craft is hard for viewer to appreciate.

On another note, what I really wanted to see is from top cpers doing a review after a cf round, not only showing their approach, which problems they solved, but also what they though of each problem, if they were originals, wrong approaches they had initially, which other problem in the past inspired their solution, etc.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +80 Vote: I do not like it

    I know it is much more difficult, but hopefully not impossible.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +35 Vote: I do not like it

    I wonder if one could use the current advances in AI (GPT, AlphaCode) to come up with the equivalent of a chess engine for CP. Essentially, given an (incomplete) program file, can the engine give me a number (between 0 and 1) which indicates how close that program file is to getting AC on the task?

    Obviously, not an easy system to build, but it might be interesting to explore. If it existed, putting that number on the screen in a competition would tell viewers which programmer is closer to solving a problem.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    isn't the problem the same for chess against other sports like racing or football . People can see who is running faster and who is making more goals but it is tougher for non chess player to understand what's happening so quick online . i think trashtalking and showing half bodies have made it more fun for viewers . Viewers can laugh at a model blundering queen while defending pawn , what will cp stream viewers laugh at ?

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +23 Vote: I do not like it

    Maybe dividing tasks into subtasks could be used to demonstrate progress more clearly. Ideally weighting the time to solve heavily so that contestants solve them incrementally. Or entirely hiding more difficult subtasks in order to force them to be solved in order.

    I think "subtask" is used to mean slightly different things to different people / on different websites. I do not have a specific meaning in mind.

»
9 months ago, # |
  Vote: I like it -118 Vote: I do not like it

perhaps your ability to learn from academic archives and developing intuition from them is saturated that's why you are making such blogs. There are many people who are struggling to formulate a situation with an equation or proving their hypothesis with a suitable method. who am I to debate with you. Anyways please downvote.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +72 Vote: I do not like it

    do you even understand half the words you just said?

    • »
      »
      »
      9 months ago, # ^ |
        Vote: I like it -43 Vote: I do not like it

      OfCourse I really meant what just I have said. without getting stuck on words try to understand the point with your own translating mechanism.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    What?

»
9 months ago, # |
  Vote: I like it +11 Vote: I do not like it

Some sort of a 1v1 format would be intresting, sort of like lockout and it would give participants a more direct interaction. However I understand that implementing something like this is difficult and there are a lot of things to consider, for example how do you prevent the other from googling the problem or sth.

»
9 months ago, # |
  Vote: I like it +40 Vote: I do not like it

Things like codingame would probably be entertaining to broader audience, as it's essentially bot competition and everything is visualized. There are plenty of such competitions in robotics, I would assume?

Even something as simple as maze-solving mice with a very fixed format can be quite alive for a long time because some strategies there are ingenious E.g. it was a break-through when people started going through diagonals directly instead of in a rectilinear fashion, and now most advanced mice can even go via paths that are clearly not the shortest ones because they calculated it to have less slow-down on corners.

So, visualization is quite certainly a thing. Perhaps, it's not even necessary to be explicit bot/robot competition to allow for some neat visualizations, but they're certainly much easier for that...

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +10 Vote: I do not like it

    Unrelated, but it's pretty nice to see Veritasium come up here. I absolutely love Derek and his work!

  • »
    »
    9 months ago, # ^ |
    Rev. 3   Vote: I like it +18 Vote: I do not like it

    Also I think that a lot of dullness of competitive programming for viewers comes from how slow-paced it is. I think a lot of entertaining intellectual games are very fast-paced. They give each participant some focus-time (e.g. from 1 to 5 minutes) during which they have to solve something (e.g. answer a trivia question).

    I suppose it could be interesting if the questions are appropriately original and require some insight. It could be some coding-interview-like brain-teaser, or "find a bug in this code" or something similar. So, something like What? Where? When?, Jeopardy! or Protmušis maybe?

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +63 Vote: I do not like it

    In Russia, there was also a concept of "Math fights". It is a team competition, with a set of mathematical tasks, and two teams compete to solve them. Teams have some time to solve the problems.

    After that, teams challenge each other. The challenged team must present their solution, while the challenger team must show that the solution is incorrect (if it is). If the challenger team shows that the challenged team's solution is incorrect, they switch the roles, and the challenger presents their solution.

    In the end, the jury distributes total of 12 points between the teams for each problem. I think the format might also be adapted to competitive programming, or at least to computer science, maybe with some appropriate changes. But it would likely have more focus not on the programming itself, but rather on the algorithm/math delivery of the solution.

    • »
      »
      »
      9 months ago, # ^ |
        Vote: I like it +26 Vote: I do not like it

      I'd totally watch this. Sounds way more interesting than the current guess-fiesta cp meta.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +65 Vote: I do not like it

    Another funny rule that I quite liked is that on snarknews summer/winter series you could submit your solution "blindly". Your solution is only judged after the end of the round, and you can not resubmit it. So, if it fails — it fails, but if it passes, you get -20 minutes of penalty. Speaking of which, I feel like hacking is way under-used and under-appreciated on Codeforces, and it'd be nice to have more competitions in which it's essential part of the contest.

    • »
      »
      »
      9 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      If I remember correctly it was not -20, but some amount dependent on number of solvers for each problem.

»
9 months ago, # |
  Vote: I like it -35 Vote: I do not like it

I think the audience for such events would be too small for them to have any serious budget (unless everything is extremely dumbed down, which would make it boring for the originally intended audience, cp'ers themselves)

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Maybe something like “code a chess engine from scratch in 2 hours” or something like codingame as mentioned

»
9 months ago, # |
  Vote: I like it +77 Vote: I do not like it

cp boxing when?

»
9 months ago, # |
  Vote: I like it +9 Vote: I do not like it

I think something like Advent of Code does a good job of popularizing CP.

»
9 months ago, # |
  Vote: I like it +31 Vote: I do not like it

I came up with such competition format which seems pretty fascinating (for me):

You will be provided with a set of problems, and there won't be any time penalty for attempting them. Each problem will come with several hints, but accessing each hint will incur a penalty. The main objective is to solve the problems using as few hints as possible.

This type of round presents an intriguing challenge, as the hints can provide valuable ideas and enable you to tackle problems that might be more difficult than your current skill level.

»
9 months ago, # |
  Vote: I like it +56 Vote: I do not like it

Bring the CodeChef Long format back (for Div. 1 level of course).

»
9 months ago, # |
  Vote: I like it +4 Vote: I do not like it

A contest where each problem is assigned a random programming language that you have to solve that problem in.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it -15 Vote: I do not like it

    openAI took 8 years to launch a thing which is called chatGPT , which can convert codes from any language to any language easily.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Something I think would be interesting is like MIT Battlecode, but perhaps you have to code and update your strategy mid competition? Something visual for the viewers would make it a lot more entertaining even if they don't know the nuances of coding.

»
9 months ago, # |
Rev. 2   Vote: I like it -76 Vote: I do not like it

Here is my point on it:

Live Coding Challenges: Instead of presenting pre-designed problems, organizers could introduce live coding challenges where participants are given a problem on the spot and need to solve it in real-time. This adds an element of unpredictability and excitement.

Team-Based Competitions: Organize team-based competitions where participants collaborate to solve problems together. This can create a more dynamic and engaging experience, as teams can strategize and communicate their thought processes.

Themed Competitions: Introduce themes or scenarios for coding challenges. For example, participants could be tasked with building a game, creating a social network, or solving a real-world problem. Themed competitions add context and relevance to the challenges.

Interactive User Interface: For viewers, providing an interactive user interface that displays participants' code execution and progress in real-time can be engaging. Viewers can follow along with the competition as it unfolds.

Gamification Elements: Incorporate gamification elements such as points, levels, and achievements to make the competition more engaging and encourage participants to push their limits.

Code Review and Feedback: Include a code review and feedback component where expert programmers review participants' solutions and provide constructive feedback. This can be a valuable learning experience for both participants and viewers.

Audience Interaction: Allow the audience to participate in some way, such as voting on challenges or suggesting new problems. This can create a sense of community and involvement.

Live Streaming: Live stream the competition on platforms like Twitch or YouTube, where viewers can interact with participants and hosts in real-time through chat.

Creative Challenges: Introduce challenges that require participants to think creatively and outside the box. This could involve art, music, or other forms of expression through code.

By incorporating these elements, programming competitions can become more entertaining, engaging, and enjoyable for both participants and viewers, fostering a vibrant and enthusiastic community around coding challenges.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +112 Vote: I do not like it

    That's chatgpt point not yours :(( !

    • »
      »
      »
      9 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Why you think I am not a ChatGPT clone/crawler??

      I am a chatGPT crawler.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Maybe a team based competition where a strategy based game is given with a "defending" and "attacking" player, where all teams start with some time window for coding two versions of code for attacking and defending, and after this window ends they can use their attacking codes to go against other teams' defending codes, where they play out the game in the statement and gain points based on the results.

»
9 months ago, # |
Rev. 2   Vote: I like it +83 Vote: I do not like it

Wouldn't be much of a competition, but I had the idea for a CP "marathon" "speedrun" "challenge".

You start with a score of 0, then you continuously solve problems. If you solve 1 problem, you get +1 score, you can choose to skip and you get -1 score. You can't go back to problems you skipped. The challenge end when you get to a target score.

For the task pool, you can use things like "All codeforces problems with rating $$$[0, 2500)$$$" or similar. Let's say the target score is $$$k$$$, and the task pool size is $$$n$$$, then you can skip up to $$$(n - k) / 2$$$ tasks, so $$$n \geq 2k$$$ should be plenty.

To make it a competition, we can have all participants share the problem order. The winner is the one who completed the fastest. We can also flip it around, have a set duration, and the winner is the one who has the highest score, this is pretty similar to some contest format except the scoring is different.

In any case, it has the dynamic of "do I solve this long and/or hard problem, or do I skip it and hope that I get 2 shorter problems?".

I don't know if it will translate well to a spectator sport, but I think it would make a nice (maybe self-imposed) challenge. If I were more popular and had the time to, I would stream myself doing this with target = 100 and see if I can get it done in 24 hours, totally good clickbait material.

  • »
    »
    9 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    definitely sounds like something tmwilliamlin168 would do!

    I think it is actually a great idea because it will also encourage viewers to practice at the same time. It reminds me of the CSES speedrun tmw did.

»
9 months ago, # |
  Vote: I like it +14 Vote: I do not like it

Contests with partial-scoring format would be better for me

»
9 months ago, # |
Rev. 2   Vote: I like it -9 Vote: I do not like it

What about organizing a tournament where each participant will fight with other? If he/she win, he/she proceed to the next round. The rounds shouldn't take too much time, for example, 10 minutes each. Let's assume there are 30,000 participants; then, it will be finished in approximately log2(30000) * 10, which is about 150 minutes.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I wasn't active on Codeforces when Hunger Games happened but the format seems really interesting to me.

»
9 months ago, # |
  Vote: I like it +38 Vote: I do not like it

100 newbies vs 1 gm

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

It can be done that a league tournament can be organized per year , 5 distinct ranked players per team , then monthly competitions will be held points will be given according to standings, after 11 months of play there will be top 4 teams , then there will be two semifinals , then the GrandFinale , Top 4 teams get prizes if possible

»
9 months ago, # |
  Vote: I like it -21 Vote: I do not like it

find a job lol

»
9 months ago, # |
Rev. 2   Vote: I like it +82 Vote: I do not like it

Lockout duels are very fun for both participants and viewers(at least I love both participating and watching). UPD: I actually had an idea of creating a website similar to Lichess, but for lockout duels. Basically, as in chess, we have time formats. Here we can have problem difficulties(also more time for harder problems). In each format, every user should have an ELO rating. And the most important thing — the matchmaking system. So you could play whenever you want with some random guy you never knew before. I personally believe that something like this would be quite popular and may be beneficial for the community.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +20 Vote: I do not like it

    I think this would be fun, but I'd worry that matchmaking times would grow long if the playerbase isn't large enough to sustain short queue times. One way of getting around this would be to have a few specific times when people can log on to find a match. (For example, it could be cool to have a league system where you log on at a specific time each week, you're matched with someone at your level, and gain/lose points based on the result. There could then be playoffs at the end of the season for the highest-ranked competitors from the league stage.)

    • »
      »
      »
      9 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Hm, sounds nice, however I still think that firstly just the base version of this idea should be created. We can do something like posting "pls, come to play in this specific time" to creat some kind of Rush hours. And during the hours when there are not many players online the website can still be helpful to easily challeng your friends etc. Without a need of using some random bots on discord. Something like this can get popular, I think CodingGames has some kind of matchmaking system. But it has a different format and problems. I guess it won't be easy to find a partner for a 3h match, but 20-40 minute matches can actually become quite accessible

»
9 months ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

Here are a few dumb ideas I just had:

  • I think it's already been said but team contests would definitely be super fun! I think it will help bringing the cf community together
  • Some sort of yearly even where you can win points and advance to different leagues, a bit like the codejam but with leagues (basically league of legends but in CP).
  • Maybe that we could also create such a league but make it 1vs1. For example, you duel someone on a problem, the fastest to solve it wins some points. Of course, you are matched up against people of your level.
  • An IOI like contest but open for everyone?
  • A X people event where some problems are given and you have to be the fastest to solve it or guess the topic ? For example you have 10mn, the host gives you a statement and if you correctly guess that it is a dp problem then you win 1 point and advance to the next problem
  • implementation speedrun: who will be the fastest at implementing segtree beats
»
9 months ago, # |
  Vote: I like it +17 Vote: I do not like it

As per my blog on something like this that I wrote a while ago, I think that shorter contests would be what have the highest chance of working out but at the same time I actually like the format of having a starting timer that can be extended by solving problems.

Maybe a battle royale style contest where the slowest x contestants are kicked out every round can also work too.

Anyways, I think we should inspire ourselves from esports competitions and try to adapt these things to competitive programming, there's a lot of potential over there IMO.

»
9 months ago, # |
  Vote: I like it +8 Vote: I do not like it

Pick up 20 hobos from the street and pay money to whichever one hits LGM first

»
9 months ago, # |
  Vote: I like it +13 Vote: I do not like it

While spectating EGOI 2023 day 2 I thought of a contest format: "You have x problems, a total available time t, and a fixed problem order, same for all participants. Now when the contest begins everyone sees the first problem, each person can work on it for some time, and at any point in time they can decide to lock it, and never be able to come back, then they can see the next problem". I think this may be funish to spectate (or no, who knows), it is possible to display expected difficulty for each problem so spectators can see if participants made a wrong decision to stay/skip. Maybe problems should also have subtasks, similar to oi, so it's not that random or smth.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    We may also try to have some evaluation like in chess: for each participant calculate their expected points with optimal play(that is a selection of when to skip/not skip). If each task(subtask?) has a rating, and each participants has a rating, the there are formulas to calculate expected time for the participants to the solve the task(right?) so we can use that.

»
9 months ago, # |
  Vote: I like it +23 Vote: I do not like it

I've always been a big fan of Hackerrank's style of having one problem released each day Mon-Saturday, with the problems getting harder towards the weekend. It is probably not good format for rated competitions, but it is a very enjoyable format to participate in.

  • »
    »
    9 months ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    OMG, someone still remembers Hackerrank weeklies o:

    So orz

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I'd enjoy something that's like ICPC format (so problems are given in a random order and all problems have the same score), but we don't see which problems other contestants have solved. In the leaderboard we can just see how many problems each contestant has solved or potentially even just placement to give less information.

Easier problems can become much more interesting when you think they might be div 2 F and can't just assume the solution is simple.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

for me, if it is not significant for problem, easier (for authors) and interesting way is more photos(it does statement of problem interesting and clear)

»
9 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

.

»
9 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Interesting,
One string of ideas for a watchable format.
We have a tournament with teams and where the pool of competitors is divided into teams in a fair way.
Then we have matches between teams and we can have a league stage as well as a knockout stage.
Now let’s discuss a match,
Every match will consist of some rounds where each round has a point
The team with the larger number of points win.
Let’s say The number of rounds is equal to the number of players per team (around 5 players per team is nice).
Now at the start of each round you get some context of the problem, say an average difficulty level / broad subset of topics involved.
Considering this the captain nominates a player and both the team players duel out the problem. Eventually all players will be nominated exactly once
I also present an idea for a lifeline. The problem will be shown to all the other team members also separately and they can give it a thought.
The duelling player can choose a lifeline which is having a 30 second call with one teammate of his choice to discuss the solution.
This can be expanded further.

»
9 months ago, # |
Rev. 8   Vote: I like it 0 Vote: I do not like it

2v2 or even 3v3 clockfighting competition would actually be really fun with low time and low increments. There could be specializations in speedsolving to get time, giving other teammates to solve longer problems. It could also be a fun casual format for a group of newbies to fight one or two experts. Ideally the rounds would be timed to be around 1 hour, but if you solve really fast up to 1hr 30 so its actually possible to finish a round, and maybe even have tournaments

Further, the longest problems could even be heuristical problems that don't have a single solution, but instead a solution that maximizes some number of points. Then, you only get a time increment if you have the highest scoring solution, so there would even be fighting over a single problem throughout the contest

»
9 months ago, # |
  Vote: I like it +10 Vote: I do not like it

Add a betting system to Codeforces, so we can place bets on who will win each round and also on ourselves against our rivals.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Team competition, x VS x. There are x problems. At the beginning everyone reads all of the problems and every competitor should take 1 problem. That is his problem for the competition. Communication between competitors should be disabled so nobody can solve all of the problems and tell others. Also, that would lead to have some strategy who should lock his problem first. Time is limited on something not too long, 20min, maybe even less. Scoreboard is ICPC type of a scoreboard.

We can also add drafting component. For example, team captains (x+1 competitor every team) would read all problems from some pool of problems given for that competition and then they would ban problem after problem until there is left x problems. Of course, communication between captains and competitors is forbidden.

I think this could be fun event for spectators because it is dynamic, even if somebody is thinking for a while, there is somebody who is coding something. Commentators could explain if competitors have right idea, discuss if they picked right problems for themselves, etc.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Maybe having commentators will help

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it
  1. Debugging contest. You have correct solution but it changed to have some bugs in it, and your task is to make this code work.
  2. Up in the comments someone did analogy with chess. There are competitions where engines are for example doing 1/2 of the moves. Maybe competition where u can see half of intended solution(1st line, 3rd line, etc)
  3. Same idea but you can see only half of the statement
  4. Live hints. Every 10 minutes. Some of them are fake, some of them are true. We can make divisions for each color, and give for example 1600 problems to people in range 1200 — 1400, so people would not solve it without hints.
  5. Contest when you can read the statement only once, and only for example 1 minute. But there are screenshots, and idk how to counter them.
  6. You have 2 hours to create a problem, write a correct code to it, and then you presented with 10-15 problems from other people of your rating range. And that the competition is who can solve the most tasks . There are problem when someone solved their own task wrong, but if you can prove that the problem has incorrect solution you are given double the points for the problem.
  7. Have a bracket. For example !6 people compete in 1 vs 1, than 8, than 4, and grand final. Or even better. Have a team competition. Teams of 4 are allowed. 2 teams 1vs1. First everyone competes in 1vs1. Than in 2vs2. And than in grand final 4 vs 4. Who gets the most points wins. So for example team1 is 1-4, and team2 is 5-8. Sorted in some order, so 1 and 5, 2 and 6, etc are close rating. So first round there will be 1 — 5 2 — 6 3 — 7 4 — 8 1 vs 1 for 1 point 1, 2 — 5, 6 3, 4 — 7, 8 2 vs 2 for 2 points and then 4 vs 4 for 5 points. point numbers where taken from the sky, so they can be changed later.
»
9 months ago, # |
Rev. 3   Vote: I like it +35 Vote: I do not like it

Contest format proposal: 75min coding phase of 3 tasks, followed by 5min intermission and 15min dedicated challenge phase.

If that format sounds familiar, you are old. one might argue that the quality of tasks and platform of those contests have declined. However, I argue that the format is interesting, even for today's standard.

The shorter time and less/easier tasks should attract more casual audiences (analogy: casual players prefer to watch blitz/rapid than classical chess [citation needed]), the dedicated challenge phase should also spark more dramas.

As a contestant, I also find contests with faster time control appealing since I do not have much time for programming contests these days. I started doing less contests when Codeforces started to have more 2.5 and 3 hours contests. AGCs also last for 3 hours for the last 9 contests. If Codeforces and AGC have more 2h contests like they used to be, I will compete in more contests. IMHO, regular contests should be (at most) 2 hours long and keep longer contests for special/tournament events.

»
9 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

At various training camps we usually have a last contest as a "kek-contest": a set with a lot of relatively easy problems for teams to solve, but for every wrong submission a team recives some kind of debuff, for example, one team member is forbidden to write on paper or shouldn't use some fingers while typing. It's usually very fun for competitors imo, might be fun to watch it as well

»
9 months ago, # |
  Vote: I like it +10 Vote: I do not like it

'as a spectator' thoughts:

DARPA really tried to e-sportsify a security/CTF-style competition with all the sports of TV sports: whizbangwhoosh animations/overlays, professionally enthusiastic announcers, and some challenges had visualizations ranging from: ENERGETICALLY SQUIGGLING LINE! (for a bruteforcer/fuzzer) to a map of bases/nodes being exploited/recovered over time. They also prepared sidebar interviews discussing historical exploits, which I thought was a nice touch. Overall though, I'm very neutral about it, which paints my bringing it up here as a cautionary tale, maybe... (I have others about the growing pains of the unpopular sport I used to play, but snip snip)

For organic growth, I feel like there's room for cp-and-related-field to be more of a thing... one of the (many weird) side roads that landed me here was a kinda-annual-mostly-defunct bioinformatics contest (and incidentally the only time I'll have ever been ahead of a 'who the hell is gennady korowhatever?' on any scoreboard, even temporarily). For some number of fields, you have a potential audience (and/or pool of future competitors) with an existing appreciation for THE POWER OF ALGORITHMS, just that their work requirements ask only for a good-enough-to-move-on-from level of functionality/performance, and cp itself doesn't really score based on the best performing code (instead settling for 10k's of competitors sprinting at fixed boolean scoring target dictated by constraints). There's also the inverse issue where fundamental/historical problems in a field got supersolved out of necessity, having been diagnosed as bottlenecks... and therefore they fall out of scope for (rated) cp for any number of (valid) reasons...?

'as a competitor' thoughts:

Per the above, if platform creators like MikeMirz go through all the trouble to get consistent code timing with a short-enough queue time, why not use that in the scoring? I also get mildly annoyed when cute constraints 'spoil' a problem... So idea-1 is to make problems more constraint-agnostic with a BUT. We standardize/fix most constraints BUT setters pick a main/scoring dimension/axis per problem for solvers to bid along. Example bids could be "my solve works up to n<=10^4" or "my solve gets a result in fewer than y ops/turns", but functionally, the competition format would strongly penalize WA (after all samples) and TLE (due to overbid), while bidding conservatively would only have the implicit penalty of ranking strictly behind anyone who bid higher and passed successfully. Maybe 'penalty' is in the form of burning from a finite pool of 'attempts'... Maybe 'speed of bid' counts in the score, triggering a time limit for a matching submission... or not. But the main benefits are that setters don't have to tease constraints up or down, and the best performing code can win more than it does now...

Idea-2 is to take that offload-from-setters ethos and throw it at tests. Perhaps combined with the bids above, solvers supply a demo test to assert that their code 'works' (at the scale/level indicated in the bid). Yes, that allows for scam/bluff bids, BUT the other half of the idea is implicit hacking -- bid/demo tests become hacks aimed at everyone else's submissions and vice versa... so rather than worrying about variations in setter diligence/mood/whim, we default to max(strictness of all participants)... but mostly this is yet another 'tournament/ladder/matchup logic TBD' idea, ie whatever is next beyond the current 'randomized rooms for scaling' stopgap.

tl;dr idea-1 is "implicit subtasks but with extra steps and noises about runtime performance counting in scores/ranks" idea-2 is "stochastic sloppiness bad, actually... let's go all in on it... someday... after we get better hacking-at-scale game mechanics"

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

There has to be a competition like math battles.

Like a tournament where in each round 2 teams, with 3 people in each team, compete who will solve the same problem faster.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Such a 2v2 competition would be interesting for me. There are several rounds where each participant chooses a task for the opponent within the limits specified by the opponent (task rating or tags or both). Whoever solved the problem faster won the round.

»
9 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Not sure whether this has been said, but it would be interesting if there was some sort of code-golf aspect to competitions that use only one language. Everyone can remove whitespace, but seeing more language-specific "tricks" would be great!