What happened to CoC?

Hi all. I held off posting because it’s a very subjective thing, and apparently a lot of people like this direction, but I don’t want to do CoC anymore, so why not put it out there. Maybe others feel the same.
I moved up to around #8650 doing mostly CoC, exclusively with C++. I passed 500 clashes several months ago. It’s exhilarating sometimes.
Lately, maybe this is just a coincidence, but I see more and more:
1 shortest mode on a puzzle that requires deep string parsing and rigid output formatting;
2 very complex puzzles. Some I could solve in 30 minutes, some not.
3 Just endless, endless, endless string parsing and reformatting. Of course, I know, string parsing and formatting are things a programmer needs to know. But at some point, it defeats the purpose of gamifying this whole process - it becomes unbearably boring. You know exactly what you need to calculate, but you have to slodge through these deliberately arbitrary rules of which character goes where. Honestly, I don’t believe anyone on this planet took up programming in order to do that.
Rows of space-separated integers - this is not challenging; it is simply boring. If I encounter this while programming, I will include a bit of Python in my program to deal with it, or I will COPY AND PASTE my own code from the last 900 times I did it.

So I think I see a pattern: These kinds of puzzles are easy to make. Instead of giving your mind something to chew on, I give you a graph, input line by line, that you have to sift through without any external libraries or copy-and-paste. That will make my simple, boring puzzle more difficult.
A challenging puzzle that makes you think about how to calculate something, without being impossible but without being trivial, a puzzle that gets right to that sweet spot is hard to invent. I’ve encountered plenty of these on Clash, but they seem to have disappeared.
I hope no one takes offense. I’m not one to “storm off” in any situation, but the quality of these Clash puzzles has dropped, and it’s pushed me to that threshold where the addictive behavior of clicking “Play Again” no longer overrides the extreme boredom and mild frustration of the bad puzzles. For me, that’s saying something.

5 Likes

I bet that’s the main reason. Making good and challenging puzzle is hard so ppls just fire and forget another print(x^3+42) clash and hopes it eventually earn 5 likes. Since introducing that quest 3-5 new clash contribution appears every day and it seems approvers don’t really care about overall quality

Безымянный
Not the first time any kind of reward for creating content leads to decreasing quality of the one

7 Likes

I didn’t consider that. Yeah, it must be related to that. If it were my site, I would give that some serious thought.
I’ve been giving more negative feedback lately after Clashes, and I find myself becoming less polite, and I don’t like that.
Oh yeah -
Why on earth no trailing whitespace? Even the Hard puzzle on the 7-segment display has this rule, and is only difficult because of this. That in fact makes if fairly easy.
In real programming, knowing how to print a variable-length list is very important. Printing a variable-length list with no trailing whitespace is utterly pointless. I mean, it fills up time you could use actually learning to code.
I hope my tone doesn’t come off as disrespectful. I want this to be about my complaint, not my attitude.
Can anyone say that printing things without trailing whitespace is somehow important in some programming job somewhere?

What turned me off to CoC was the shortest mode clashes. I’m focusing on Java ATM, and it is a wordy language - and an automatic loss vs almost any other language in shortest mode.

Could we have an option to opt out of shortest clashes? Could shortest compare some other aspect of your code: statement count, variable count, etc.? Language-specific shortest clashes?

“lurn insert language here noob” is not a solution.

1 Like

I mostly agree with you. As a C++ user, I will never use “reverse_iterator” or “accumulate” or even “const” in a shortest mode clash. I’d probably not use them in any clash, actually. But, even though I’m learning that this language has lots of built-in functions and algorithms like Python, it also requires, at the very least, "#include " in every single program. I’m pretty good at minimalizing C++ code, but it’s more or less a lost cause. I still participate, though. I’ve won against Python users a few times. And I can say that I HAVE learned things about C++ that I wouldn’t have learned if I hadn’t been struggling to reduce my code size.

Now, a shortest mode clash that requires you to read a line of space-separated integers from a string, instead of telling you how many integers there are, is asinine…

1 Like

I have great sympathy for your feelings towards CoC. While you decide to click less on the CoC button, you may find a mountain of treasures behind the “Practice” button, where hundreds of better quality puzzles and solo games are awaiting your attempts.

Coding is not just about speed. Take your time. Do your research. Invent your own algorithm and data types. Implement your prototypes. Iteratively in trial and error build your creation. This is where learning happens.

6 Likes

Thank you! I spent a lot of time on Classic Puzzles before getting hooked on Clashes. I’ve solved 23 easy puzzles, 14 medium, 1 hard and 1 very hard. I agree with you: it’s more rewarding. It’s just that I rarely have time to sit and really think about them. Alas, lately, some of the clashes I’ve come across struck me as appropriate for medium/hard puzzles.

Wow, I just looked closer. I never realized my overall rank was a mix of many different aspects. I’ve never bothered much with bots, optimization or code golf, but in fact, my Clash rank is 770.
I get the feeling the concept of this site is still under development. It’s VERY catchy and well-executed, but it seems they keep adding layers and paths. Certifications, ranking, levels, achievements, etc. The psychology behind gamifying any kind of learning, I think, is that people continue to do it when there is a possible but not guaranteed reward, and when the next level is always just out of reach. It’s definitely working on many levels on this site, but it’s starting to feel like a labyrinth.

Let’s play a guessing game:
This page shows the newly approved contributions per day (approximated by autocloseDate as I couldn’t find the actual approval date): http://eulerschezahl.herokuapp.com/codingame/puzzles/stats/
When approximately was the quest map added?

5 Likes

Reminds me of that other measure.

4 Likes

I made a comment (last week I believe) in the chat that we had finally crossed 100 open contributions. As of tonight, it’s closer to 120 – so, I assume this problem is just going to grow. I used to try to go through the contributions daily to do my part of approving/rejecting; now, it seems like such a daunting task. And I wonder if there’s just a significant portion of the user base that has wiped their hands of the contribution page entirely? Clashes that get through with errors, great puzzles that will never get a fair shake, etc. all because that page is just swamped now.

1 Like

We’ve been around the 120 mark before. Then CG added a 30 day timer to remove contributions that didn’t make it. After that it often was about 15-20 contributions on that page.
I’d like to find a good metric for the average quality over time. But counting upvotes doesn’t sound reliable as there’s a quest “upvote a contribution”.

Contributions getting buried is another point.
https://www.codingame.com/contribute/community?type=puzzle lists everything except clashes to focus on the highlights (personal opinion, I don’t want to imply that all clashes are bad).
As an example I solved “Binary Expansion” yesterday and really liked it. 3 days left and I’m the only one who commented except for the creator.

1 Like

I’ve been more active in contributions since my first complaint about the decreasing quality of CodinGame’s Clashes.
My impression is that too much control of the site’s contents is being left to people with diverse preferences.
My one Classic Puzzle submission currently has a score of 0 and no comments.
My one Clash submission currently has a score of -3 and 1 comment from one down-voter. I modified the submission according to his feedback, but it’s probably a waste of time.

So far, I have a pretty negative view of this whole contribution section. I could just go to Facebook if I wanted likes, with far less effort.
Again, my original complaint is how bad many of the clashes are anymore. This led me to spend more time on the contributions section, but this is worse. It’s a shame, it was a great site a few months ago.

1 Like

Maybe determining content based on 3 votes out of hundreds of thousands of users is asking for a mixed bag.

2 Likes

Oh voting on the mode could be cool. I like the concept used when picking courses on mario kart. Everyone gets a vote then the computer “randomly” picks someone’s choice.

1 Like

Once again, hate to be negative, and I’m not starting another thread, but I just played a clash where I had 100% on all tests (who wins between Bob and Alice in a game of remove-the-matches) and 50% on submission.
At least with “classic puzzles,” I can choose to do non-“community” puzzles.
It hurts to say this, but Codingame’s Clash of Code is now crap. The results are meaningless.

I see that some of the contributions have problems regarding quality. Contributions with a too low rating will be removed by the way.

But I also see 2 things you could do to make CoC a better place:
review the pending clashes before they get approved and edit the approved clashes.
I didn’t look into this particular clash, but here it is.
If you spot an issue in your code, that’s only triggered by validators, feel free to add an extra testcase for instance.

Edit:
I gave it a try and passed everything without any problems. Both testcases and validators. I don’t see what you did wrong so I won’t blame creator/approvers for it.

4 Likes

Thanks eZ. Yes, I’ve spent some time going over contributions, but it seems futile. There are hundreds of thousands of members here. I have no idea how many can approve and reject clash submissions, but, ultimately, absolutely ANYTHING stands a chance of getting in. Someone could even create 3 dummy accounts and work up their levels pasting the same answers to puzzles…

OK; but my code is gone. Is there some way to go back and see the code I submitted for past clashes? It is not clear to me how to find the submission page of a clash I participate in, besides searching the hundreds of clashes on the contribution pages.

You can click the bell and scroll through your notifications. Depending on how many clashes you’ve played since, this can be a simple or a hard way to find your code again.

For finding the contribution: https://eulerschezahl.herokuapp.com/codingame/puzzles/
In your case I searched for “Alice Bob match” and that reduced it to 2 candidates already.

2 Likes

To quickly find a contribution after a clash you can use my script: https://www.codingame.com/forum/t/small-coc-toolkit-by-lopidav/188599 (first one in the list)
Yes, it’s mostly self-advertisement but it is also a very useful script and I find myself using it after half of the clashes.
fetch(`services/Contribution/getAcceptedContributions`, {method: `POST`, body: `[“CLASHOFCODE”]`}).then(r => r.json()).then(d => {/*d is an Array of contributions here*/});
And then just search in it. It’s more flexible than the usual search.

And if you adit anything please leave a comment noting what you’ve changed. That is done for the author so they can check if you broke anything.

2 Likes