Can confirm, making it functional out of the box was the idea. I’d rather people have a working example.
It is lacking some key features, which I considered to be more important to learn than tinkering with sim engine. Notably, it has no GA implementation.
If i look at how i progress on codingame, i used a lot the others codes.
When i started with the site, i used all post mortems articles to build AI’s for the puzzles. For some puzzles the code itself was available and i use a lot. I never copy/pasted anything, but without these codes, it would be very much harder.
I remember reading pb4 poker chip race code a lot. I remember a code for Back to the code, very interesting too. A python code for Game of drone (i use it to make my javascript code). The Java code from Holol for Codebuster. You can say “you can just read the post mortem”. Try to read the Holol post mortem article for Codebuster then read his code. You’ll see that his code contains many key features and the post mortem just doesn’t talk about it.
All i want to say is that code sharing is not just a bad thing. I used these codes to progress. And that’s why i shared my fantastic bits code. And i will be glad if others players share their code for next contests because i’ll read it for the same reasons.
Yes, not a bad thing at all. But the devil is in the detail.
Sharing the working code of bots in Legend Ligue would transform multiplayer games in just another hell of Clash of Code copy-pasting. No more meaningful Leaderboards. In long run, it could be devastating to CG.
Share snippets and ideas. Let 'em code themselves.
I think the main problem is not about code sharing, but the quality and readiness of the shared code. In fact I can ditch my CSB code (with hours, days of ‘useless’? effort on it), use this bot with a 3hour GA implementation and get better results. And with that kind of bot, the code sharing idea can backfire. If I got top 30 legend on 5 minutes, why I bother on improve it? Just submit and move on to another puzzle. I’d do that, maybe they’ll refactor it, but on a distant future.
Probably there are hundreds of CSB bots on Github, 99% of them useless, and nobody cares about that. There are also a lot of good code snippets (I think 99% of CSB bots on top 50 uses Magus snippets and collision idea, and he even got physics code from another CG player), and it’s ok. So the point is not code sharing, but readiness to use it.
Github and code sharing is unstoppable, and CG should work on around that. As CG is creating a Learning Section, I think the best idea is to try that people don’t simply share code on github, but add it as a CG Learning Course. You can have your full code shared, but splitted on the tutorial. This way it isn’t a simple C&P, at least you must join the pieces to have it working, and in the process you’ll learn about the code and how it works.
Sometimes multi puzzles are overwhelming (especially with incomplete statements, and weird bugs that you must debug), so having good guidelines is a plus to get more people into the game.
In chat the most recurring question on newcomers is “where do I learn to code?”, This is maybe a wasted opportunity for the CG platform. I learned C++ and GA outside CG platform. Yes, each multi has a small description with links to some algorithms and such, but very basic. Improving the learning area inside CG can be a plus.
But this is IMO, I’m not a pure coder, I work on management where they asked me for results, not new code. So if I found a good OpenSource app that covers the requeriments I use it. Auth servers, Document Managers, Private Clouds, Business Process Managers… a lot of good code that I use and refactor/add modules to get what I need. First check existing solutions, test them and if they are good, keep them and start refactoring. If not, then start from scratch.
Preach. I think that is the only good way of doing things.
First, I would like to remind everyone to remain respectful in all of your exchanges here.
I understand your frustration, @reCurse. We used to remove links to code sharing and now we are being more tolerant about it.
We have decided to not forbid code sharing. However, we hope that if you choose to do it, you do it intelligently.
As some of you have written, we have no way of forbidding code sharing anyway. And we believe, like Magus, that it could benefit a lot of developers. We have added code sharing on Clash of Code with the same mindset.
About alt accounts (or smurfs), we do not allow them. Keep in mind that today we don’t take action on them but it may change without notice.
What actions should I take if I already have one? Is making a crashing submit in every participated multi enough?
Thanks for the clarification Thibaud, it’s very appreciated. If I may suggest, it would be good to have a visible section somewhere to clearly state these rules to avoid confusion in the future.
I won’t hide I’m a little disappointed in the result, but will comply and not bring up the issue again.
Is there any plan of providing a way to regress (voluntarily) in leagues to help avoiding “testing smurfs” ?
Delete it
No. We do not allow them.
I’ll add it in the new FAQ, which is not released yet.
No. You know we have other plans for the beginning of the year . But, I agree that it would be a useful feature.
Nah I meant, in the long run. I know there are more pressing stuff going on
Enough has been said on code sharing, so I’ll just comment on alt accounts.
It can be VERY useful to have one (and just one), in order to play in IDE against someone for who you can guess perfectly all moves they’re going to play (for instance, an AI doing nothing). This is very much needed when you want to test the correctness of your game simulation.
This account will usually suck and stay in wood or bronze, so it’s no issue for the leaderboards…
True, it could be achieved with only one account and playing against yourself in IDE, but this adds lots of useless ifs in your code, to behave differently (AI, logging, asserts…) depending on the side. And it’s already complicated enough to write game simulations and to validate them
With a minimum of coordination, it could actually be handled with a shared accounts for the whole platform. The trickiest part would be making one available per league.
but if u delete an account, its submitted bot will still float somewhere on the leaderboard - so what’s the difference between an “Unnamed player” bot and unknown for anyone user floating somewhere on the bottom of leaderboard? i mean if it won’t be used anymore
For that very specific use-case :
- Write AI#1, submit it on the leaderboard
- Write AI#2 which knows what AI#1 is doing, don’t submit it in the leaderboard
- Play with your IDE code against your leaderboard code : that’s two different codes with only one account !
Indeed that’s another possibility even if the alt account still looks easier to use.
Could you please make TOS update regarding ALT accounts and notify everyone? Not all the people are reading CG forums.
Sigh. Guess it’s time to say “goodbye” to @eno_reyalp. Nice knowing you, pal.
- danBhentschel
Sayonara!
- lehcstnehBnad
We can learn a lot from shared source codes, decent Postmortems, but publishing a completely working legend league bot or even an optimized solution for main parts of it can break the motivation of ppl who would really like to be into those multi games… e.g. I have two choices:
A) use that bot/code
B) see others using that bot/code, get to legend in 5 mins (earning points for ranking), and tryhard for getting out of Gold for weeks/months, then get stopped by a shared-bot-wall
Some ppl are even promoting shared codes to make ppl use bots which he has trained against. I don’t think we need Legend3, Legend2 and Legend1 because of building copy-paste walls.
Also, sharing the code or having alts does the same effect: copies are present on the leaderboard (and much more of them in case of the former one). It makes difference if you are watching that wall from above or from below.
I know it is hard to fight against and there are also a lot of lazy ppl. who prefer to profit from copied codes. I also know there are ppl. who don’t care about multis and share their codes, and they don’t even care about other players’ fun. I’m aware of the time it would take to find a solution which would be good for everyone.
Still, I would like to encourage the CG staff to don’t let multis break. Those games meant to be fun for every leagues as multis like they were during the contest, not just for the top of the legends.
There can be solutions to be found, e. g. if code sharing can not be stopped, than making copy-pasting pointless could work. (Max CPs after legend league maybe? Just an idea, don’t take my head.)