Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

The statement should be written in English and be as clear and concise as possible.

A typical statement contains:

  1. A quick description of the goal: 1 or 2 sentences maximum.
  2. A list of rules to explain how the puzzle/game works.
  3. The Winning/Losing conditions (for games created with the SDK only).
  4. The protocol
    • input parameters and their types
    • expected output
    • reasonable constraints

A theme/story is non-mandatory.

Guidelines to write good statements

The statement must be clear and non-ambiguous.

  • Keep it clear and concise

A long statement can scare players away.

  • Avoid flavour text

For instance, don’t say “The unit hits the other unit on the nose, causing 1 point of excruciating damage”, do say “The unit deals 1 damage”.

  • Don't address the reader directly

For instance don’t say “This next part looks complicated but you’ll get it, don’t worry!”.

  • Avoid controversial topics like politics.

  • Don't overlook the protocol

It must be clear, precise, with reasonable constraints...

Puzzle Statement

(In/Out puzzle and CoC only)


<<Bold>> [[Variable]] {{Constant}} renders as:

statement syntax

`Monospace` renders as: Monospace


You must output the closest pair of points (euclidean distance).


<<Line 1:>> An integer [[N]] for the number of points to compare.

<<Next [[N]] lines:>> Two space separated integers [[x]] and [[y]] for the coordinates of a point.


<<Line 1 :>> The coordinates of the point from the closest pair of points in the same order as given in input.

<<Line 2 :>> The coordinates of the other point from the closest pair of points.


2 ≤ [[N]] ≤ 100

-1000 < [[x]],[[y]] < 1000

The statement is limited to 5k characters.

Game Statement

(For all sdk games)

For all games created with the sdk, the statement is an html document. You can find a default one here


There is one statement file per league. They're all generated from one general statement file (located here: /config/statement_en.html.tpl) when building the project.

Conditional logic

To show a piece of statement only in league x, write

<!-- BEGIN levelx -->
	Piece of statement.
<!-- END -->

To highlight a new rule, use the same as above with the following div style:

<!-- BEGIN levelx -->
<div style="color: #7cc576;
        background-color: rgba(124, 197, 118,.1);
        padding: 2px;">
    Piece of statement.
<!-- END -->
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content