Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
The following guidelines are what they are: guidelines. Please keep the experience of players in mind when creating/approving contributions.
Disagree with the current guidelines? Let us know in the forum
General Guidelines
-
Contributions must be written in English.
-
The description must be clear and unambiguous. (for all games but reverse CoC)
- Keep it clear and consise - Avoid flavour text - Don't address the reader directly - Avoid controversial topics - Don't overlook the protocol
-
The default code must be working for all languages.
-
Test cases must be properly defined. (for all games with test cases)
- Test cases should cover all specifications - Each validator must differ from the corresponding test - Each validator should check the same case as the corresponding test - The first test case must be a simple one
-
Contributions must be original. (for all games but Clash of Code)
Specific Guidelines
Clash of Code
The main goal of a CoC battle is to be solved in a short period of time. CoC players are looking for quick simple puzzles to solve; for more complex problems, they'll dive into the classic puzzles section.
-
No CoC puzzle is too easy.
In theory, no CoC puzzle should be rejected with the justification that it's too simple. However, moderators should reach an agreement on whether a trivial CoC contribution is worth being added to the pool of CoCs.
-
CoC close duplicates are not forbidden.
Moderators should reach an agreement on whether duplicate versions of a puzzle can be accepted or not. Copy-pasting an existing CoC puzzle is obviously not allowed.
-
CoC statements should be self-sufficient. (doesn't apply to reverse puzzles obviously)
When your time is counted, as a player, you don't want to waste time searching for a formula or a definition online to understand what needs to be done.
-
Binary or language-specific outputs should be avoided in CoC.
Some output formats favor specific languages and make the contribution unbalanced. Binary outputs open the door to "cheating" solutions to get around 50%.
Optimization Puzzles
- It must be very difficult to approach the optimal score.
Games created with the sdk
-
The referee program should be robust and reliable.
- The referee must end a player's program when receiving an unrecognizable command. - The referee must send an error message in the console when receiving an invalid but recognized command. - The referee must stop the game early if the game is stale or already decided. - The referee must not crash. All exceptions must be caught. - Indices must start at 0, not 1. The origin is always the top left pixel/tile.
-
The graphics are clear and represent the progression of the game well.
- The graphics must be self-explanatory. _A player should understand most of the rules from a replay_ - The graphics must contain the avatars and nicknames of current players (if bot programming).