It's highly recommended to publish a contribution as "WIP" first to get feedback from the community. => More details about moderation

The following guidelines are what they are: guidelines. Please keep the experience of players in mind when creating/moderating contributions.

Disagree with the current guidelines? Let us know in the forum

## General Guidelines

1. Contributions must be written in English.

2. The description must be clear and unambiguous. (for all games but reverse CoC)

	- Keep it clear and consise
- Avoid flavour text
- Avoid controversial topics
_ Don't overlook the protocol

3. The default code must be working for all languages.

4. Test cases must be properly defined. (for all games but multiplayer games)

	- Test cases should cover all specifications
- Test cases must have explicit names (for all tests but CoC validators)
- 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

5. Contributions must be original. (for all games but Clash of Code)

6. The referee program should be robust and reliable. (for all games created with the sdk)

	- 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.

7. The graphics are clear and represent the progression of the game well. (for all games created with the sdk)

## Specific Guidelines

### Clash of Code

1. CoC puzzles should be solvable in less than 5 minutes.

The main goal of a CoC battles is to be short (except in the "Shortest" mode). CoC players are looking for quick simple puzzles to solve; for more complex problems, they'll dive into the classic puzzles section.

2. CoC close duplicates are allowed.

If the puzzles' themes differ, it's ok to accept multiple versions of the same programming problem. (to a maximum of 5 duplicates)

3. No CoC puzzle is too easy.

No CoC puzzle should be rejected because it's too simple. (to the limit of overly-simple puzzles which can feel unrewarding/unenjoyable)

### Optimization Puzzles

1. It must be very difficult to approach the optimal score.