Creating Missions on CheckiO
Creating a mission is one of the biggest contributions on CheckiO, because for CheckiO it's not just another coding puzzle, it's a new discussion field, a new way to improve your coding skills for other users.
That's why here on CheckiO we are not only working on polishing process of adding new missions but also on strongly encouraging CheckiO members to share their mission ideas.
So.. You have an idea for your mission. Let me show what kind of a journey might be ahead of you.
Start with sharing your idea on CheckiO forum. Create a forum post that says "Mission Idea: Name". The post should have a tag "idea".
Use the text of the post to describe your idea. Don't forget to show a couple of tests for the mission.
CheckiO community can give you a very general feedback about your brainchild. How new the idea is (we have more than 200 missions on CheckiO and it’s ok that you haven't checked all of them before you start making your own mission), some suggestions about structure of input and output data.
Mission Creation Tools
After you get an initial feedback you can try to create your first mission. In case you still have a level lower than 9, admins can give you an access to mission creation tools.
If you don't want to deal with the mission creating tools, you can mention it in the forum post. "I can't create the mission" in that case someone from CheckiO Community can create it for you.
After being submitted your mission will be automatically shared on Polygon station (the station is available for all users with level 9 or higher) and will start accepting solutions in random-review mode. Other TOP level users will test your mission more precisely. They can suggest new tests for it as well as extending description. All propositions will be shared in comments (pull-requests are optional here).
In order to notify community about a newly created mission you should make a forum post. In the Mission Manager you should have a short link for that called "forum post". When you are submitting a forum post you can also suggest a complexity for the mission (Elementary, Simple, Moderate and Challenging).
Testing mode can last up to two weeks. After that the next stage is to put the mission on the CheckiO Map. Only CheckiO Admins are allowed to do so. We should prepare the icons and the place where it'll be situated.
CheckiO GitHub account should be added as a contributor to the mission repository. It will allow us to make changes into the repository in case you are unreachable.
For one or two weeks after placing it on map the mission will be in a random-review mode. Which means CheckiO users will be able to check solutions of other users only through the random review, than mission will be switched to a normal mode, so users can check solutions leader-board.
Mission after releasing
When the leader-board is open Admins and the Author of the mission are able to mark some of the solutions as Editor's Choice Solution.
Based on one of the Editor's Choice solutions a set of hints for the mission can be created. Hints are the part of mission repository so anyone who has access to the repository can create them. Hints on CheckiO are like a dialog between two users where one of them is giving small pushes to help the other solve a mission. Here are a couple of examples of such hints: Non Unique Elements, Min Max, etc. One mission can have more than one set of hints.
When we will have enough Editor's Choice solutions mission will be switched to the Editor's Choice mode in which user will be able to see Editor's solutions first, and then, if he wants to, he can see not Editor's Choice Solutions.
This stage is considered as the last stage for the mission, but more Editor's Choice Solutions can be added after that as well as more hints.
PS: While you design the mission you can suggest missions' complexity, choose available categories, and ask admins to recheck all of the shared solutions.
PPS: Every new mission we add in our public Trello Board, you follow the progress there as well.
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