Theme is to be announced after the qualifiers are done.
Codejam will be coded in Python, implementations: PyPy, CPython, versions: 3.6, 3.7, 3.8 (pick any of those)
using Hata library as the selected technology github.com/HuyaneMatsu/hata
Hata is an async Discord API wrapper written in Python named after Hata no Kokoro.
- 23+ Discord Nitro (full one not the classic one).
- Virtual Koishi currency that can be used with Koishi bot.
- 3 x VPS 1 core 1gb each for 3 months.
- 3 x 2GB databases for 1 year.
- Special role
Event Winner in Tortoise Server
*since we do not know team sizes yet (depends on number of qualifiers, read below) we do not know yet
specifically how much of what goes to which place, but you can expect standard thing: first place gets a lot, second
less and third the least.
Tortoise Server will be the main in hosting and organizing event, in partnership with Neko Dungeon.
Neko Dungeon is the official support server for the Hata library
You can find us in any of the 2 host servers, we are:
If you have any questions ping us specifically or by pinging the role
@Event Organizator, although try not to spam.
Times are in UTC-0 24h hour format,
start date means 00:01am while end date means by 23:59pm that day.
- Qualifier: October 21th - 31th
- Team organization: November 1st - 4th
- Codejam duration: November 5th - 17th
- Deciding winners: November 18th - 20th
Qualifier: October 21-31
Qualifier is currently open!
For any questions/problems/suggestion with the scripts feel free to ask
Depending on how good you solve the qualifier you will be classed into one of these groups: beginner / intermediate / advanced.
Later when we're making teams we will try to make them balanced based on your qualifier class.
Running qualifier tests
How to setup the scripts is explained in the top of the testing script but will be repeated here too.
Your project structure should optimally look like this:
nya.py is the qualifier script and
test_nya.py is the testing script.
Now to run tests you can either run
test_nya.py directly, same as you would run any Python script or you can use
terminal: cd into qualifier folder and run the following command:
python -m unittest discover
To submit the qualifier you need to DM our bot
@Tortoise#9435 and you will be presented with a message on which
you can react. React to the message with
Event submission emoji and follow instructions.
If you have any problems with the procedure please ping event organizer role
Note: You can submit multiple times but only your last submission will be counted!
Note: As stated below in Team organization you can express your preference for your teammates, but we might or
might not accept it. To do so just add a docstring at the beginning of the qualifier stating Discord username and tag
of the member you want to be teamed with, example
"""I want to be teamed with BrainDead#6105 if possible.""
, only requirement is that the member will participating in the codejam of course.
As previously stated, depending on how good you solve the qualifier you will be classes as beginner / intermediate / advanced.
You should just try to code it the best you can, without help from other members.
Googling for documentation/Python help is good but asking for solutions is not.
As to what is exactly rated we will only reveal that you should "do it how you feel is the best", as long as it passes tests.
You should stick to PEP8 but not all of it is strictly enforced, just keep it consistent if you deviate from it.
It should be readable and logical.
- note that we allow max of 119 chars per line
Do not code-golf (like adding a bunch of code functionality into one line which is often unreadable).
Team organization: November 1-4:
@Event Organizator depending on member qualifiers.
We will take this time to review qualifiers and form fair teams.
Members can also express their preference if they want to work in a team with some specific member but ultimately we will decide that.
Team size depends on the number of participants and how many people join for solving the qualifier, so we can't say for
sure right now and we will be decided later (when qualifier is done).
Though we can say that team size will be either 2 or 3 team members.
Also every team will have a leader, which would be the most experienced person in the team.
We might not have those in case of 2 person teams.
Codejam: November 5th-17th
By this point you should be already teamed up with other members by
For first day our recommendation is to try to take it easy and just try to see if all team members are still going to
participate (there might be cases where some members drop out). If you have problems with team members not responding
ping event organizators and we will try to move the teams around.
Also you can see who knows what and from which country the are so you know the timezones, get to know each other.
Theme is to be announced after the qualifiers are done.
Codejam rating rules
To get you approximate idea on what we rate on how will your submissions be scored we've made the following table:
- Clean code: (25%)
- Code style and standards (readability, docstrings, PEP8, is it logical etc)
- note that we allow max of 119 chars per line, not the default 80 as per PEP
- PEP8 in its whole is not strictly enforced, but if you pick one way to do it then stick to it - consistency is the key.
- Idea: (40%)
- How original the idea is, how well it sticks to the theme and how much we like it.
- Functionality: (35%)
- Whether the bot features work as intended, are there any bugs.
- If there is a wrapper feature for something, use it instead of trying to implement it yourself (aka don't reinvent the wheel)
- Bad approaches such as: Blocking code in async, bloat code, unnecessary lines etc
By using Github, this will be explained later on.
- If you use static ID-s, please have them as constants in one file and each having a comment about what it is for,
if they are not already self-explanatory. This will help us set up environment to test out your submission more easily.
- Please note the minimum required python version of the project, if you are using 3.6+ features.
If you want to advertise you can but WITH PERMISSION, do not go in servers and randomly post our event/invite.
Talk about it first and ask about permission. We do not condone any kind of spam.