Home > FAQ

How do I play programming games?

Programming games are turn-based. On each turn, you will get info from standard input (like a map, the enemies, etc.), then your code computes a strategy and writes an action to standard output (like shoot or move).
For each programming language you're always given a default code to work from. This simple tutorial explains how everything works.

What environment does my program run in?

Your program is compiled and run in a Linux environment on a 64bit multi-core architecture. Time limit per turn is specified on the game’s statement. Here is the list of compilers/runtimes associated with each programming language:

Memory limit (MB)
C gcc 4.9.2 mode C11
With the following libraries ‑lm, ‑lpthread, ‑ldl, ‑lcrypt
C++ g++ 4.9.2 mode C++11
With the following libraries ‑lm, ‑lpthread, ‑ldl, ‑lcrypt
Java Oracle Java 1.8.0_72 768
C# C# 6.0 (Mono 4.2.3, .NET 4.5)
Compiled with ‑unsafe
PHP 5.4.34
Compiled with ‑‑enable‑bcmath, ‑‑enable‑mbstring, ‑‑enable‑sockets, ‑‑enable‑calendar, ‑‑enable‑intl
Python2 2.7.9
With the NumPy 1.8.2 library
Python3 3.4.2
With the NumPy 1.8.2 library
Ruby 2.1.5 768
Javascript SpiderMonkey 49.0 768
Objective‑C Clang 3.4 768
Go 1.6.2 768
Haskell GHC 7.8.3
With the following libraries haskell‑platform 2014.2.0.0
Scala 2.11.4 768
Perl 5.20.1
With the following libraries Array::Utils, List::Util, Data::Dumper, List::Compare, List::MoreUtils, threads, Moose, DateTime, IPC::System::Simple, autodie, enum, Tree, String::Util, Set::Scalar
Dart 1.16.0 768
Bash GNU Bash 4.3.30 768
Pascal Free Pascal Compiler version 2.6.4 768
Groovy 2.4.5 - Oracle JVM 1.8 768
Clojure 1.6.0 - Oracle JVM 1.8 768
VB.NET Compiler Visual Basic 2005 (Mono 4.2.3, .NET 4.5) 768
Lua 5.3.0 768
F# F# 3.1 (Mono 4.2.3, .NET 4.5) 768
OCaml 4.01.0 768
Swift 2.2.1 768
Rust 1.8.0 768

Can I change the programming language?

Yes, you can change the language at any time from the menu. But beware, if you've started to write a solution, your current code will be lost.

What are the test cases?

Test cases check if your code works as expected.

How are scores calculated?

Your score is awarded when you submit your solution: your code is tested with sets of test cases which cover the game’s specifications. The more test cases your code can pass, the higher your score will be.

How to contact our team?

Feel free to drop us a line at

CodinGame Sync

What is CodinGame Sync?

CodinGame Sync is a browser plugin which allows you to use an external local code editor instead of the CodinGame web code editor when solving puzzles. More information is available on the forum.

What browsers are supported by CodinGame Sync?

Currently only Chrome is supported. If the feature is well received by the CodinGamers community, the idea is to open source it. Then either CodinGame or the community will be able to build a Firefox plugin :).

How do I install CodinGame Sync?

On Chrome you need to install two components available from the Chrome Web Store: the ‘CodinGame Sync App’ and the ‘CodinGame Sync Ext’

How do I activate CodinGame Sync?

When solving a puzzle, or playing a multiplayer game, open the Settings panel, scroll down and enable the ‘local code editor’ option.

A separate window for the CodinGame Sync App will open from which you can control the plugin settings. The first time you start the plugin, you will be prompted to select a local file which will be synced to your CodinGame code editor.

How does CodinGame Sync work?

Once activated, each time you enter the CodinGame IDE, you will be prompted to either download the code from CodinGame to your local file or upload the content of your local file to CodinGame. Once done you can use your local code editor to edit that file. Each time you save the file, it will be copied back to CodinGame.

By default the CodinGame editor is put in read-only mode when the plugin is activated but this can be changed from the CodinGame Sync settings panel (2-way data mode).

Feel free to experiment with the other available options. When in doubt please ask for help from the dedicated forum topic.

Why is it marked as Beta?

Although the plugin is functional, we would like to gather feedback on what really works out for you and what doesn't and could be improved. Once we get enough feedback and stabilize the plugin, we'll remove the Beta tag.

All feedbacks should go to the dedicated forum topic.

Online Participants