extends /templates/base block content div.contribute_class include /templates/contribute/contribute_nav div#contribute-main.class-main div#intro h2(data-i18n="contribute.page_title") Contributing #homepage_screenshot img(src="/images/pages/contribute/contribute_header.png", alt="") p strong(data-i18n="contribute.introduction_desc_intro") | We have high hopes for CodeCombat. | span(data-i18n="contribute.introduction_desc_pref") | We want to be where programmers of all stripes come to learn and play together, | introduce others to the wonderful world of coding, | and reflect the best parts of the community. | We can't and don't want to do that alone; | what makes projects like GitHub, Stack Overflow and Linux great are the people who | use them and build on them. | To that end, a(href="https://github.com/codecombat/codecombat", data-i18n="contribute.introduction_desc_github_url") | CodeCombat is totally open source span(data-i18n="contribute.introduction_desc_suf") | , and we aim to provide as many ways as possible for you to take part and | make this project as much yours as ours. p(data-i18n="contribute.introduction_desc_ending") | We hope you'll join our party! p(data-i18n="contribute.introduction_desc_signature").signature | - Nick, George, Scott, Michael, and Jeremy hr if me.attributes.anonymous div#sign-up.alert.alert-info strong(data-i18n="contribute.alert_account_message_intro") | Hey there! span span(data-i18n="contribute.alert_account_message_pref") | To subscribe for class emails, you'll need to a(data-toggle="coco-modal", data-target="modal/signup", data-i18n="contribute.alert_account_message_create_url") | create an account span span(data-i18n="contribute.alert_account_message_suf") | first. #archmage .class_image.header-scrolling-fix img(src="/images/pages/contribute/archmage.png", alt="") h3.header-scrolling-fix span(data-i18n="classes.archmage_title") Archmage span span(data-i18n="classes.archmage_title_description") (Coder) p(data-i18n="contribute.archmage_introduction") | One of the best parts about building games is they synthesize so many different things. | Graphics, sound, real-time networking, social networking, and of course many of the | more common aspects of programming, from low-level database management, | and server administration to user facing design and interface building. | There's a lot to do, and if you're an experienced programmer with a hankering | to really dive into the nitty-gritty of CodeCombat, this class might be for you. | We would love to have your help building the best programming game ever. h4(data-i18n="contribute.class_attributes") Class Attributes ul li span(data-i18n="contribute.archmage_attribute_1_pref") Knowledge in a(href="http://coffeescript.org/") CoffeeScript span(data-i18n="contribute.archmage_attribute_1_suf") | , or a desire to learn. Most of our code is in this language. | If you're a fan of Ruby or Python, you'll feel right at home. | It's just JavaScript, but with a nicer syntax. li(data-i18n="contribute.archmage_attribute_2") | Some experience in programming and personal initiative. | We'll help you get oriented, but we can't spend much time training you. h4(data-i18n="contribute.how_to_join") How To Join p span(data-i18n="contribute.join_desc_1") | Anyone can help out! Just check out our a(title='GitHub', href="https://github.com/codecombat/codecombat", tabindex=-1) | GitHub span span(data-i18n="contribute.join_desc_2") | to get started, and check the box below to mark yourself as a brave Archmage and get the latest news by email. | Want to chat about what to do or how to get more deeply involved? a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="contribute.join_url_email") | Email us span(data-i18n="contribute.join_desc_3") | , or find us in our a(href="http://www.hipchat.com/g3plnOKqa", data-i18n="contribute.join_url_hipchat") public HipChat room span span(data-i18n="contribute.join_desc_4") | and we'll go from there! a(href="/contribute/archmage") h3(data-i18n="contribute.more_about_archmage") | Learn More About Becoming A Powerful Archmage label.checkbox(for="developer").well input(type='checkbox', name="developer", id="developer") span(data-i18n="contribute.archmage_subscribe_desc") | Get emails on new coding opportunities and announcements. .saved-notification | ✓ span(data-i18n="contribute.saved") Saved #artisan .class_image.header-scrolling-fix img(src="/images/pages/contribute/artisan.png", alt="") h3.header-scrolling-fix span(data-i18n="classes.artisan_title") Artisan span span(data-i18n="classes.artisan_title_description") (Level Builder) p span(data-i18n="contribute.artisan_introduction_pref") | We must construct additional levels! | People be clamoring for more content, and we can only build so many ourselves. | Right now your workstation is level one; our level editor is barely | usable even by its creators, so be wary. | If you have visions of campaigns spanning for-loops to span a(href="http://stackoverflow.com/questions/758088/seeking-contrived-example-code-continuations/758105#758105") | Mondo Bizzaro span span(data-i18n="contribute.artisan_introduction_suf") | to then this class might be for you. h4(data-i18n="contribute.class_attributes") Class Attributes ul li(data-i18n="contribute.artisan_attribute_1") | Any experience in building content like this would be nice, such as using | Blizzard's level editors. But not required! li(data-i18n="contribute.artisan_attribute_2") | A hankering to do a whole lot of testing and iteration. | To make good levels, you need to take it to others and watch them play it, | and be prepared to find a lot of things to fix. li(data-i18n="contribute.artisan_attribute_3") | For the time being, endurance en par with an Adventurer. | Our Level Editor is super preliminary and frustrating to use. You have been warned! h4(data-i18n="contribute.how_to_join") How To Join p span(data-i18n="contribute.artisan_join_desc_pref") | The Level Editor is live! Go forth and fiddle with it. | Right now for the sake of security, you can't make Components (the most powerful part of level building) | but be in touch with us and we'll see if we can make what you need. | See the span a(href="https://docs.google.com/document/d/117tMcL95T1KY8BDisr0iGi5Frb2ZvBJTC0us5hyQkJY/edit?usp=sharing", data-i18n="contribute.artisan_url_documentation") | preliminary documentation span span(data-i18n="contribute.artisan_join_desc_suf") | for more info, and please comment on it so we can make the whole system better. a(href="/contribute/artisan") h3(data-i18n="contribute.more_about_artisan") | Learn More About Becoming A Creative Artisan label.checkbox(for="level_creator").well input(type='checkbox', name="level_creator", id="level_creator") span(data-i18n="contribute.artisan_subscribe_desc") | Get emails on level editor updates and announcements. .saved-notification | ✓ span(data-i18n="contribute.saved") Saved #adventurer .class_image.header-scrolling-fix img(src="/images/pages/contribute/adventurer.png", alt="") h3.header-scrolling-fix span(data-i18n="classes.adventurer_title") Adventurer span span(data-i18n="classes.adventurer_title_description") (Level Playtester) p(data-i18n="contribute.adventurer_introduction") | Let's be clear about your role: you are the tank. You're going to take heavy damage. | We need people to try out brand-new levels and help identify how to make things better. | The pain will be enormous; making good games is a long process and no one gets | it right the first time. | If you can endure and have a high constitution score, then this class might be for you. h4(data-i18n="contribute.class_attributes") Class Attributes ul li(data-i18n="contribute.adventurer_attribute_1") | A thirst for learning. You want to learn how to code and we want to teach you how to code. | You'll probably be doing most of the teaching in this case, though. li(data-i18n="contribute.adventurer_attribute_2") | Charismatic. Be gentle but articulate about what needs improving, and offer suggestions | on how to improve. h4(data-i18n="contribute.how_to_join") How To Join p span(data-i18n="contribute.adventurer_join_pref") | Either get together with (or recruit!) an Artisan and work with them, or | check the box below to receive emails when there are new levels to test. | We'll also be posting about levels to review on our networks like span a(href="http://discourse.codecombat.com/category/adventurer", data-i18n="contribute.adventurer_forum_url") | our forum span , a(href="https://www.facebook.com/codecombat") | Facebook span , a(href="https://twitter.com/CodeCombat") | Twitter span , span(data=i18n="general.and") and span a(href="https://plus.google.com/115285980638641924488/posts") | Google+ span , span(data-i18n="contribute.adventurer_join_suf") | so if you prefer to be notified those ways, sign up there! a(href="/contribute/adventurer") h3(data-i18n="contribute.more_about_adventurer") | Learn More About Becoming A Brave Adventurer label.checkbox(for="tester").well input(type='checkbox', name="tester", id="tester") span(data-i18n="contribute.adventurer_subscribe_desc") | Get emails when there are new levels to test. .saved-notification | ✓ span(data-i18n="contribute.saved") Saved #scribe .class_image.header-scrolling-fix img(src="/images/pages/contribute/scribe.png", alt="") h3.header-scrolling-fix span(data-i18n="classes.scribe_title") Scribe span span(data-i18n="classes.scribe_title_description") (Article Editor) p span(data-i18n="contribute.scribe_introduction_pref") | CodeCombat isn't just going to be a bunch of levels. | It will also include a resource for knowledge, a wiki of programming concepts that levels can hook into. | That way rather than each Artisan having to describe in detail what a comparison operator is, they | can simply link their level to the Article describing them that is already written for the player's edification. | Something along the lines of what the a(href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide", data-i18n="contribute.scribe_introduction_url_mozilla") | Mozilla Developer Network span(data-i18n="contribute.scribe_introduction_suf") | has built. If your idea of fun is articulating the concepts of programming in Markdown form, | then this class might be for you. h4(data-i18n="contribute.class_attributes") Class Attributes ul li(data-i18n="contribute.scribe_attribute_1") | Skill in words is pretty much all you need. | Not only grammar and spelling, but able to convey complicated ideas to others. h4(data-i18n="contribute.how_to_join") How To Join p a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="contribute.contact_us_url") | Contact us span , span(data-i18n="contribute.scribe_join_description") | tell us a little about yourself, your experience with programming and | what sort of things you'd like to write about. We'll go from there! a(href="/contribute/scribe") h3(data-i18n="contribute.more_about_scribe") | Learn More About Becoming A Diligent Scribe label.checkbox(for="article_editor").well input(type='checkbox', name="article_editor", id="article_editor") span(data-i18n="contribute.scribe_subscribe_desc") | Get emails about article writing announcements. .saved-notification | ✓ span(data-i18n="contribute.saved") Saved #diplomat .class_image.header-scrolling-fix img(src="/images/pages/contribute/diplomat.png", alt="") h3.header-scrolling-fix span(data-i18n="classes.diplomat_title") Diplomat span span(data-i18n="classes.diplomat_title_description") (Translator) p span(data-i18n="contribute.diplomat_introduction_pref") | So, if there's one thing we learned from the a(href="blog.codecombat.com/post/64658141307/codecombat-in-y-combinator", data-i18n="contribute.diplomat_launch_url") | launch in October span , span(data-i18n="contribute.diplomat_introduction_suf") | it's that there | is sizeable interest in CodeCombat in other countries, particularly Brazil! | We're building a corps of translators eager to turn one set of words into | another set of words to get CodeCombat as accessible across the world as possible. | If you like getting sneak peeks at upcoming content and getting these levels to | your fellow nationals ASAP, then this class might be for you. h4(data-i18n="contribute.class_attributes") Class Attributes ul li(data-i18n="contribute.diplomat_attribute_1") | Fluency in English and the language you would like to translate to. | When conveying complicated ideas, it's important to have a strong grasp in both! h4(data-i18n="contribute.how_to_join") How to Join p span(data-i18n="contribute.diplomat_join_pref") | We're keeping the up-to-date contribution instructions at a(href="http://discourse.codecombat.com/t/category-definition-for-diplomat/60/14", data-i18n="contribute.diplomat_doc_url") | this forum post span , span(data-i18n="contribute.diplomat_join_suf") | so check it out and add things for your language. Also, check this box below to | keep up-to-date on new internationalization developments! a(href="/contribute/diplomat") h3(data-i18n="contribute.more_about_diplomat") | Learn More About Becoming A Great Diplomat label.checkbox(for="translator").well input(type='checkbox', name="translator", id="translator") span(data-i18n="contribute.diplomat_subscribe_desc") | Get emails about i18n developments and levels to translate. .saved-notification | ✓ span(data-i18n="contribute.saved") Saved #ambassador .class_image.header-scrolling-fix img(src="/images/pages/contribute/ambassador.png", alt="") h3.header-scrolling-fix span(data-i18n="classes.ambassador_title") Ambassador span span(data-i18n="classes.ambassador_title_description") (Support) p(data-i18n="contribute.ambassador_introduction") | This is a community we're building, and you are the connections. | We've got Olark chats, emails, and social networks with lots of people to talk with | and help get acquainted with the game and learn from. | If you want to help people get involved and have fun, and get a good feel of the pulse of | CodeCombat and where we're going, then this class might be for you. h4(data-i18n="contribute.class_attributes") Class Attributes ul li(data-i18n="contribute.ambassador_attribute_1") | Communication skills. Be able to identify the problems players are having | and help them solve them. Also, keep the rest of us informed about what | players are saying, what they like and don't like and want more of! h4(data-i18n="contribute.how_to_join") How to Join p a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="contribute.contact_us_url") | Contact us span , span(data-i18n="contribute.ambassador_join_desc") | tell us a little about yourself, what you've done and what you'd | be interested in doing. We'll go from there! p strong(data-i18n="contribute.ambassador_join_note_strong") | Note span : span(data-i18n="contribute.ambassador_join_note_desc") | One of our top priorities is to build multiplayer where players having difficulty | solving levels can summon higher level wizards to help them. | This will be a great way for ambassadors to do their thing. We'll keep you posted! a(href="/contribute/ambassador") h3(data-i18n="contribute.more_about_ambassador") | Learn More About Becoming A Helpful Ambassador label.checkbox(for="support").well input(type='checkbox', name="support", id="support") span(data-i18n="contribute.ambassador_subscribe_desc") | Get emails on support updates and multiplayer developments. .saved-notification | ✓ span(data-i18n="contribute.saved") Saved #counselor .class_image.header-scrolling-fix img(src="/images/pages/contribute/counselor.png", alt="") h3.header-scrolling-fix span(data-i18n="classes.counselor_title") Counselor span span(data-i18n="classes.counselor_title_description") (Expert/Teacher) p(data-i18n="contribute.counselor_introduction_1") | Do you have life experience? | A different perspective on things that can help us decide how to shape CodeCombat? | Of all these roles, this will probably take the least time, but | individually you may make the most difference. | We're on the lookout for wisened sages, particularly in areas like: teaching, | game development, open source project management, technical recruiting, entrepreneurship, | or design. p(data-i18n="contribute.counselor_introduction_2") | Or really anything that is relevant to the development of CodeCombat. | If you have knowledge and want to share it to help grow this project, then | this class might be for you. h4(data-i18n="contribute.class_attributes") Class Attributes ul li(data-i18n="contribute.counselor_attribute_1") | Experience, in any of the areas above or something you think might be helpful. li(data-i18n="contribute.counselor_attribute_2") | A little bit of free time! h4(data-i18n="contribute.how_to_join") How to Join p a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact", data-i18n="contribute.contact_us_url") | Contact us span , span(data-i18n="contribute.counselor_join_desc") | tell us a little about yourself, what you've done and what you'd | be interested in doing. We'll put you in our contact list and be in touch | when we could use advice (not too often). a(href="/contribute/counselor") h3(data-i18n="contribute.more_about_counselor") | Learn More About Becoming A Valuable Counselor div.clearfix