• How to create your own mission on CheckiO

Little-known feature is the functionality to create your own missions (or: challenges) on CheckiO. We’re partnering with great companies to (help) craft their unique missions and islands and we often get requests from people looking to use CheckiO for their local hackathons. In that spirit we’ve published our templates and tests on GitHub, open for you to take a look and create your own missions.

Before you dig into the nitty-gritty, take a look at some of the missions Valentin created for CheckiO:
Triangle angles
Magic square

Not much of a reader? You could watch these videos instead:
- Setup your first CheckiO mission in less than 3 minutes
- Wicked awesome tool to Debug your new CheckiO mission!

How-to create your own CheckiO challenge

To create your task repository, you will need to use the following command, to clone the original repo to your local machine:

cd ~/checkio-tasks
git clone https://github.com/CheckiO/checkio-task-template checkio-task-slug-name

Create a new empty repo in your GitHub account. To do this, go to the GitHub homepage and click on New repository. Your repository must be named checkio-task-_slug-name_. The checkio-task- prefix is necessary.

Manually create the necessary remote links:
git remote rename origin upstream
git remote add origin git@github.com:yourname/checkio-task-slug-name.git

Push from your local repo to your new remote one:
git push -u origin master

It’s best if you write your task based on the template. You’ll find the description of the Task Template Format, here (click! click!).

To add your task to the catalog go to checkio.org/mission/task/add and fill out all fields (like: github.com/Bryukh-Checkio-Tasks/checkio-task-triangle-angles.git). After that, you will see an Edit page for your task. Here you need **CENTER\_FOLDER**, **TESTER\_KEY** and **Direct link** for debugging your task.

To start debugging your task with the Checkio Task Tester server, clone or download this repository. To run it your need to install Twisted >= 11.0.0. And… you should add some settings for your tester. Read more about that, here.

To update to the new version of your task, commit and push all the changes in your task after debugging. On the Edit Page, just submit the form and your task will be updated. You will need to run your Checkio-Task-Tester while you're submitting the form.

Send us the links of your task and git repository (admin@checkio.org or bryukh@checkio.org), and… wait and hope. Kidding!! We’ll take a look at your task and help you with anything you need.

Don’t forget...

We do have *some* requirements. Being:
1. If you are going to use a string for the user function input (checkio), you should use unicode (u"") instead of str.
2. Do not change the folder and files structure, the folder hierarchy is important.

Previous created challenges:

Several users created their own missions, and you can view (and solve!) them on CheckiO. Like Amachua’s Sudoku Solver. Or Suwanditan’s Periodic Table (pssst! Our CTO doesn’t even know how to solve this challenge!).

We’re looking forward to your missions!

Welcome to CheckiO - games for coders where you can improve your codings skills.

The main idea behind these games is to give you the opportunity to learn by exchanging experience with the rest of the community. Every day we are trying to find interesting solutions for you to help you become a better coder.

Join the Game