mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-27 17:45:40 -05:00
Merge branch 'master' of https://github.com/codecombat/codecombat
This commit is contained in:
commit
fe984d7c73
23 changed files with 856 additions and 372 deletions
|
@ -150,7 +150,8 @@ class Angel
|
||||||
@lastID = (if @lastID? then @lastID + 1 else Math.floor(@ids.length * Math.random())) % @ids.length
|
@lastID = (if @lastID? then @lastID + 1 else Math.floor(@ids.length * Math.random())) % @ids.length
|
||||||
@ids[@lastID]
|
@ids[@lastID]
|
||||||
|
|
||||||
infiniteLoopIntervalDuration: 5000 # check this often (must be more than the others added)
|
# https://github.com/codecombat/codecombat/issues/81 -- TODO: we need to wait for worker initialization first
|
||||||
|
infiniteLoopIntervalDuration: 15000 # check this often (must be more than the others added)
|
||||||
infiniteLoopTimeoutDuration: 1500 # wait this long when we check
|
infiniteLoopTimeoutDuration: 1500 # wait this long when we check
|
||||||
abortTimeoutDuration: 500 # give in-process or dying workers this long to give up
|
abortTimeoutDuration: 500 # give in-process or dying workers this long to give up
|
||||||
constructor: (@god) ->
|
constructor: (@god) ->
|
||||||
|
|
|
@ -1,41 +1,41 @@
|
||||||
#contribute-view
|
.contribute_class
|
||||||
|
|
||||||
#homepage_screenshot
|
#homepage_screenshot
|
||||||
margin: 20px 0px
|
margin: 20px 0px
|
||||||
.signature
|
.signature
|
||||||
text-align: right
|
text-align: right
|
||||||
|
|
||||||
a
|
a
|
||||||
cursor: pointer
|
cursor: pointer
|
||||||
|
|
||||||
.class_image
|
.class_image
|
||||||
float: left
|
float: left
|
||||||
width: 150px
|
width: 150px
|
||||||
margin: 10px 10px 20px 20px
|
margin: 10px 10px 20px 20px
|
||||||
padding-top: 65px
|
|
||||||
|
|
||||||
#contribute-nav
|
#contribute-nav
|
||||||
float: left
|
float: left
|
||||||
max-width: 20%
|
max-width: 20%
|
||||||
width: 250px
|
width: 250px
|
||||||
box-sizing: border-box
|
box-sizing: border-box
|
||||||
margin-left: 20px
|
margin-left: 20px
|
||||||
|
padding-top: 40px
|
||||||
|
|
||||||
li
|
li
|
||||||
float: none
|
float: none
|
||||||
width: 100%
|
width: 100%
|
||||||
|
|
||||||
#contribute-main
|
.class-main
|
||||||
margin-left: 25%
|
margin-left: 25%
|
||||||
padding: 40px
|
padding: 40px
|
||||||
box-sizing: border-box
|
box-sizing: border-box
|
||||||
|
|
||||||
h3
|
|
||||||
padding-top: 70px
|
|
||||||
|
|
||||||
|
.header-scrolling-fix
|
||||||
|
padding-top: 65px !important
|
||||||
|
|
||||||
.well
|
.well
|
||||||
padding: 5px 5px 5px 30px
|
padding: 5px 5px 5px 30px
|
||||||
|
|
||||||
.saved-notification
|
.saved-notification
|
||||||
display: none
|
display: none
|
||||||
float: right
|
float: right
|
|
@ -1,326 +0,0 @@
|
||||||
extends /templates/base
|
|
||||||
|
|
||||||
block content
|
|
||||||
|
|
||||||
ul.affix.nav.nav-list.nav-pills#contribute-nav
|
|
||||||
li
|
|
||||||
h3 Character Classes
|
|
||||||
li
|
|
||||||
a(href="#archmage") Archmage (Coder)
|
|
||||||
li
|
|
||||||
a(href="#artisan") Artisan (Level Builder)
|
|
||||||
li
|
|
||||||
a(href="#adventurer") Adventurer (Level Playtester)
|
|
||||||
li
|
|
||||||
a(href="#scribe") Scribe (Article Editor)
|
|
||||||
li
|
|
||||||
a(href="#diplomat") Diplomat (Translator)
|
|
||||||
li
|
|
||||||
a(href="#ambassador") Ambassador (Support)
|
|
||||||
li
|
|
||||||
a(href="#counselor") Counselor (Expert/Teacher)
|
|
||||||
|
|
||||||
hr
|
|
||||||
p Thanks to our lovely contributors: (work in progress; let us know who you are!)
|
|
||||||
li Turkish - Nazım Gediz Aydındoğmuş
|
|
||||||
li Brazilian Portuguese - Gutenberg Barros, Kieizroe, Matthew Burt
|
|
||||||
li Portugal Portuguese - Matthew Burt
|
|
||||||
li German - Dirk, Anon
|
|
||||||
li Thai - Kamolchanok Jittrepit
|
|
||||||
li Greek - Stergios
|
|
||||||
li Latin American Spanish - Jesús Ruppel, Matthew Burt, Mariano Luzza
|
|
||||||
li Spain Spanish - Matthew Burt, Anon
|
|
||||||
li French - Xeonarno, Anon
|
|
||||||
li Hungarian - Anon
|
|
||||||
li Japanese - g1itch
|
|
||||||
li Chinese - spacepope
|
|
||||||
li Polish - Anon
|
|
||||||
li Danish - Anon
|
|
||||||
li Slovak - Anon
|
|
||||||
li Artisans - Sootn, Aftermath, mcdavid1991
|
|
||||||
li Scribes - Ryan Faidley
|
|
||||||
li Adventurers - Kieizroe, (...)
|
|
||||||
li Archmages - David Golds, Zach Martin, Tom Steinbrecher, Mischa Lewis-Norelle, Sébastien Moratinos, Chloe Fan
|
|
||||||
|
|
||||||
div#contribute-main
|
|
||||||
div#intro
|
|
||||||
|
|
||||||
h2 Contributing
|
|
||||||
|
|
||||||
#homepage_screenshot
|
|
||||||
img(src="/images/pages/contribute/contribute_header.png", alt="")
|
|
||||||
|
|
||||||
p
|
|
||||||
strong We have high hopes for CodeCombat.
|
|
||||||
| 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") CodeCombat is totally open source
|
|
||||||
| , 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 We hope you'll join our party!
|
|
||||||
p.signature - Nick, George, Scott, Michael, and Jeremy
|
|
||||||
hr
|
|
||||||
|
|
||||||
if me.attributes.anonymous
|
|
||||||
div#sign-up.alert.alert-info
|
|
||||||
strong Hey there!
|
|
||||||
| To subscribe for class emails, you'll need to
|
|
||||||
a(data-toggle="coco-modal", data-target="modal/signup") create an account
|
|
||||||
| first .
|
|
||||||
|
|
||||||
#archmage
|
|
||||||
.class_image
|
|
||||||
img(src="/images/pages/contribute/archmage.png", alt="")
|
|
||||||
|
|
||||||
h3 Archmage (Coder)
|
|
||||||
p 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 Class Attributes
|
|
||||||
ul
|
|
||||||
li Knowledge in
|
|
||||||
a(href="http://coffeescript.org/") CoffeeScript
|
|
||||||
| , 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 Some experience in programming and personal initiative.
|
|
||||||
| We'll help you get oriented, but we can't spend much time training you.
|
|
||||||
|
|
||||||
h4 How To Join
|
|
||||||
|
|
||||||
p
|
|
||||||
| Anyone can help out! Just check out our
|
|
||||||
a(title='GitHub', href="https://github.com/codecombat/codecombat", tabindex=-1) GitHub
|
|
||||||
| 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") Email us
|
|
||||||
| , or find us in our
|
|
||||||
a(href="http://www.hipchat.com/g3plnOKqa") public HipChat room
|
|
||||||
| and we'll go from there!
|
|
||||||
|
|
||||||
label.checkbox(for="developer").well
|
|
||||||
input(type='checkbox', name="developer", id="developer")
|
|
||||||
| Get emails on new coding opportunities and announcements.
|
|
||||||
.saved-notification ✓ Saved
|
|
||||||
|
|
||||||
|
|
||||||
#artisan
|
|
||||||
|
|
||||||
.class_image
|
|
||||||
img(src="/images/pages/contribute/artisan.png", alt="")
|
|
||||||
|
|
||||||
h3 Artisan (Level Builder)
|
|
||||||
p 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
|
|
||||||
a(href="http://stackoverflow.com/questions/758088/seeking-contrived-example-code-continuations/758105#758105") Mondo Bizzaro
|
|
||||||
| to then this class might be for you.
|
|
||||||
|
|
||||||
h4 Class Attributes
|
|
||||||
ul
|
|
||||||
li Any experience in building content like this would be nice, such as using
|
|
||||||
| Blizzard's level editors. But not required!
|
|
||||||
li 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 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 How To Join
|
|
||||||
p 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
|
|
||||||
a(href="https://docs.google.com/document/d/117tMcL95T1KY8BDisr0iGi5Frb2ZvBJTC0us5hyQkJY/edit?usp=sharing") preliminary documentation
|
|
||||||
| for more info, and please comment on it so we can make the whole system better.
|
|
||||||
|
|
||||||
label.checkbox(for="level_creator").well
|
|
||||||
input(type='checkbox', name="level_creator", id="level_creator")
|
|
||||||
| Get emails on level editor updates and announcements.
|
|
||||||
.saved-notification ✓ Saved
|
|
||||||
|
|
||||||
|
|
||||||
#adventurer
|
|
||||||
|
|
||||||
.class_image
|
|
||||||
img(src="/images/pages/contribute/adventurer.png", alt="")
|
|
||||||
|
|
||||||
h3 Adventurer (Level Playtester)
|
|
||||||
p 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 Class Attributes
|
|
||||||
ul
|
|
||||||
li 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 Charismatic. Be gentle but articulate about what needs improving, and offer suggestions
|
|
||||||
| on how to improve.
|
|
||||||
|
|
||||||
h4 How To Join
|
|
||||||
p 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
|
|
||||||
a(href="http://discourse.codecombat.com/category/adventurer") our forum
|
|
||||||
| ,
|
|
||||||
a(href="https://www.facebook.com/codecombat") Facebook
|
|
||||||
| ,
|
|
||||||
a(href="http://www.reddit.com/r/CodeCombat/") Reddit
|
|
||||||
| ,
|
|
||||||
a(href="https://twitter.com/CodeCombat") Twitter
|
|
||||||
| , and
|
|
||||||
a(href="https://plus.google.com/115285980638641924488/posts") Google+
|
|
||||||
| , so if you prefer to be notified those ways, sign up there!
|
|
||||||
|
|
||||||
label.checkbox(for="tester").well
|
|
||||||
input(type='checkbox', name="tester", id="tester")
|
|
||||||
| Get emails when there are new levels to test.
|
|
||||||
.saved-notification ✓ Saved
|
|
||||||
|
|
||||||
|
|
||||||
#scribe
|
|
||||||
|
|
||||||
.class_image
|
|
||||||
img(src="/images/pages/contribute/scribe.png", alt="")
|
|
||||||
|
|
||||||
h3 Scribe (Article Editor)
|
|
||||||
p 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") Mozilla Developer Network
|
|
||||||
| has built. If your idea of fun is articulating the concepts of programming in Markdown form,
|
|
||||||
| then this class might be for you.
|
|
||||||
|
|
||||||
h4 Class Attributes
|
|
||||||
ul
|
|
||||||
li Skill in words is pretty much all you need.
|
|
||||||
| Not only grammar and spelling, but able to convey complicated ideas to others.
|
|
||||||
|
|
||||||
h4 How To Join
|
|
||||||
p
|
|
||||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact us
|
|
||||||
| , 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!
|
|
||||||
|
|
||||||
label.checkbox(for="article_editor").well
|
|
||||||
input(type='checkbox', name="article_editor", id="article_editor")
|
|
||||||
| Get emails about article writing announcements.
|
|
||||||
.saved-notification ✓ Saved
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#diplomat
|
|
||||||
|
|
||||||
.class_image
|
|
||||||
img(src="/images/pages/contribute/diplomat.png", alt="")
|
|
||||||
|
|
||||||
h3 Diplomat (Translator)
|
|
||||||
p So, if there's one thing we learned from the
|
|
||||||
a(href="blog.codecombat.com/post/64658141307/codecombat-in-y-combinator") launch in October
|
|
||||||
| , 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 Class Attributes
|
|
||||||
ul
|
|
||||||
li 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 How to Join
|
|
||||||
p We've started a lot of initial translations at
|
|
||||||
a(href="https://docs.google.com/a/codecombat.com/spreadsheet/ccc?key=0AjsR1nOoMQ4MdFBqS1NqUmRTVG1hbEMxWTZEd1JrNXc&usp=drive_web#gid=0") this Google Doc
|
|
||||||
| , so check it out and add things for your language. Also, check this box below to
|
|
||||||
| keep up-to-date on new internationalization developments!
|
|
||||||
|
|
||||||
label.checkbox(for="translator").well
|
|
||||||
input(type='checkbox', name="translator", id="translator")
|
|
||||||
| Get emails about i18n developments and levels to translate.
|
|
||||||
.saved-notification ✓ Saved
|
|
||||||
|
|
||||||
|
|
||||||
#ambassador
|
|
||||||
|
|
||||||
.class_image
|
|
||||||
img(src="/images/pages/contribute/ambassador.png", alt="")
|
|
||||||
|
|
||||||
h3 Ambassador (Support)
|
|
||||||
p 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 Class Attributes
|
|
||||||
ul
|
|
||||||
li 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 How to Join
|
|
||||||
p
|
|
||||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact us
|
|
||||||
| , 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 Note
|
|
||||||
| : 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!
|
|
||||||
|
|
||||||
label.checkbox(for="support").well
|
|
||||||
input(type='checkbox', name="support", id="support")
|
|
||||||
| Get emails on support updates and multiplayer developments.
|
|
||||||
.saved-notification ✓ Saved
|
|
||||||
|
|
||||||
|
|
||||||
#counselor
|
|
||||||
|
|
||||||
.class_image
|
|
||||||
img(src="/images/pages/contribute/counselor.png", alt="")
|
|
||||||
|
|
||||||
h3 Counselor (Expert)
|
|
||||||
p 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 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 Class Attributes
|
|
||||||
ul
|
|
||||||
li Experience, in any of the areas above or something you think might be helpful.
|
|
||||||
li A little bit of free time!
|
|
||||||
|
|
||||||
h4 How to Join
|
|
||||||
p
|
|
||||||
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact us
|
|
||||||
| , 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).
|
|
||||||
|
|
||||||
div.clearfix
|
|
62
app/templates/contribute/adventurer.jade
Normal file
62
app/templates/contribute/adventurer.jade
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
extends /templates/base
|
||||||
|
|
||||||
|
block content
|
||||||
|
|
||||||
|
div.contribute_class
|
||||||
|
|
||||||
|
include /templates/contribute/contribute_nav
|
||||||
|
|
||||||
|
div.class-main#adventurer-main
|
||||||
|
|
||||||
|
.class_image
|
||||||
|
img(src="/images/pages/contribute/adventurer.png", alt="")
|
||||||
|
|
||||||
|
h2 Adventurer (Level Playtester)
|
||||||
|
p 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 Class Attributes
|
||||||
|
ul
|
||||||
|
li 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 Charismatic. Be gentle but articulate about what needs improving, and offer suggestions
|
||||||
|
| on how to improve.
|
||||||
|
|
||||||
|
h4 How To Join
|
||||||
|
p 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
|
||||||
|
a(href="http://discourse.codecombat.com/category/adventurer") our forum
|
||||||
|
| ,
|
||||||
|
a(href="https://www.facebook.com/codecombat") Facebook
|
||||||
|
| ,
|
||||||
|
a(href="http://www.reddit.com/r/CodeCombat/") Reddit
|
||||||
|
| ,
|
||||||
|
a(href="https://twitter.com/CodeCombat") Twitter
|
||||||
|
| , and
|
||||||
|
a(href="https://plus.google.com/115285980638641924488/posts") Google+
|
||||||
|
| , so if you prefer to be notified those ways, sign up there!
|
||||||
|
|
||||||
|
if me.attributes.anonymous
|
||||||
|
div#sign-up.alert.alert-info
|
||||||
|
strong Hey there!
|
||||||
|
| To subscribe for class emails, you'll need to
|
||||||
|
a(data-toggle="coco-modal", data-target="modal/signup") create an account
|
||||||
|
| first .
|
||||||
|
|
||||||
|
label.checkbox(for="tester").well
|
||||||
|
input(type='checkbox', name="tester", id="tester")
|
||||||
|
| Get emails when there are new levels to test.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
h4 Changes are saved automatically when you toggle checkboxes.
|
||||||
|
|
||||||
|
#Contributors
|
||||||
|
h3 Our Brave Adventurers:
|
||||||
|
ul.adventurers
|
||||||
|
li Kieizroe
|
||||||
|
|
||||||
|
div.clearfix
|
53
app/templates/contribute/ambassador.jade
Normal file
53
app/templates/contribute/ambassador.jade
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
extends /templates/base
|
||||||
|
|
||||||
|
block content
|
||||||
|
|
||||||
|
div.contribute_class
|
||||||
|
|
||||||
|
include /templates/contribute/contribute_nav
|
||||||
|
|
||||||
|
div.class-main#ambassador-main
|
||||||
|
|
||||||
|
.class_image
|
||||||
|
img(src="/images/pages/contribute/ambassador.png", alt="")
|
||||||
|
|
||||||
|
h2 Ambassador (Support)
|
||||||
|
p 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 Class Attributes
|
||||||
|
ul
|
||||||
|
li 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 How to Join
|
||||||
|
p
|
||||||
|
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact us
|
||||||
|
| , 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 Note
|
||||||
|
| : 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!
|
||||||
|
|
||||||
|
if me.attributes.anonymous
|
||||||
|
div#sign-up.alert.alert-info
|
||||||
|
strong Hey there!
|
||||||
|
| To subscribe for class emails, you'll need to
|
||||||
|
a(data-toggle="coco-modal", data-target="modal/signup") create an account
|
||||||
|
| first .
|
||||||
|
|
||||||
|
label.checkbox(for="support").well
|
||||||
|
input(type='checkbox', name="support", id="support")
|
||||||
|
| Get emails on support updates and multiplayer developments.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
h4 Changes are saved automatically when you toggle checkboxes.
|
||||||
|
|
||||||
|
div.clearfix
|
74
app/templates/contribute/archmage.jade
Normal file
74
app/templates/contribute/archmage.jade
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
extends /templates/base
|
||||||
|
|
||||||
|
block content
|
||||||
|
|
||||||
|
div.contribute_class
|
||||||
|
|
||||||
|
include /templates/contribute/contribute_nav
|
||||||
|
|
||||||
|
div.class-main#archmage-main
|
||||||
|
|
||||||
|
.class_image
|
||||||
|
img(src="/images/pages/contribute/archmage.png", alt="")
|
||||||
|
|
||||||
|
h2 Archmage (Coder)
|
||||||
|
p 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.
|
||||||
|
|
||||||
|
p Right now we have open-sourced two of our tools on the project:
|
||||||
|
a(href="https://github.com/codecombat/aether") Aether
|
||||||
|
| and
|
||||||
|
a(href="https://github.com/codecombat/treema") Treema
|
||||||
|
| . We are also open sourcing everything momentarily, so stay tuned for access to the main repo!
|
||||||
|
| We would love to have your help building out the best programming game ever.
|
||||||
|
|
||||||
|
h4 Class Attributes
|
||||||
|
ul
|
||||||
|
li Knowledge in
|
||||||
|
a(href="http://coffeescript.org/") CoffeeScript
|
||||||
|
| , 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 Some experience in programming and personal initiative.
|
||||||
|
| We'll help you get oriented, but we can't spend much time training you.
|
||||||
|
|
||||||
|
h4 How To Join
|
||||||
|
|
||||||
|
p
|
||||||
|
| Anyone can help out! Just check out our
|
||||||
|
a(title='GitHub', tabindex=-1) GitHub
|
||||||
|
| to get started, and check the box below to mark yourself as a brave Archmage.
|
||||||
|
| 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") Contact us
|
||||||
|
| , tell us a little about yourself, what you've done and what you'd
|
||||||
|
| be interested in working on. We'll go from there!
|
||||||
|
|
||||||
|
if me.attributes.anonymous
|
||||||
|
div#sign-up.alert.alert-info
|
||||||
|
strong Hey there!
|
||||||
|
| To subscribe for class emails, you'll need to
|
||||||
|
a(data-toggle="coco-modal", data-target="modal/signup") create an account
|
||||||
|
| first .
|
||||||
|
|
||||||
|
label.checkbox(for="developer").well
|
||||||
|
input(type='checkbox', name="developer", id="developer")
|
||||||
|
| Get emails on new coding opportunities and announcements.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
h4 Changes are saved automatically when you toggle checkboxes.
|
||||||
|
|
||||||
|
#Contributors
|
||||||
|
h3 Our Magical Archmages:
|
||||||
|
ul.archmages
|
||||||
|
li David Golds
|
||||||
|
li Zach Martin
|
||||||
|
li Tom Steinbrecher
|
||||||
|
li Mischa Lewis-Norelle
|
||||||
|
li Sébastien Moratinos
|
||||||
|
li Chloe Fan
|
||||||
|
|
||||||
|
div.clearfix
|
63
app/templates/contribute/artisan.jade
Normal file
63
app/templates/contribute/artisan.jade
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
extends /templates/base
|
||||||
|
|
||||||
|
block content
|
||||||
|
|
||||||
|
div.contribute_class
|
||||||
|
|
||||||
|
include /templates/contribute/contribute_nav
|
||||||
|
|
||||||
|
div.class-main#artisan-main
|
||||||
|
|
||||||
|
.class_image
|
||||||
|
img(src="/images/pages/contribute/artisan.png", alt="")
|
||||||
|
|
||||||
|
h2 Artisan (Level Builder)
|
||||||
|
p 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
|
||||||
|
a(href="http://stackoverflow.com/questions/758088/seeking-contrived-example-code-continuations/758105#758105") Mondo Bizzaro
|
||||||
|
| to then this class might be for you.
|
||||||
|
|
||||||
|
h4 Class Attributes
|
||||||
|
ul
|
||||||
|
li Any experience in building content like this would be nice, such as using
|
||||||
|
| Blizzard's level editors. But not required!
|
||||||
|
li 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 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 How To Join
|
||||||
|
p 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
|
||||||
|
a(href="https://docs.google.com/document/d/117tMcL95T1KY8BDisr0iGi5Frb2ZvBJTC0us5hyQkJY/edit?usp=sharing") preliminary documentation
|
||||||
|
| for more info, and please comment on it so we can make the whole system better.
|
||||||
|
|
||||||
|
if me.attributes.anonymous
|
||||||
|
div#sign-up.alert.alert-info
|
||||||
|
strong Hey there!
|
||||||
|
| To subscribe for class emails, you'll need to
|
||||||
|
a(data-toggle="coco-modal", data-target="modal/signup") create an account
|
||||||
|
| first .
|
||||||
|
|
||||||
|
label.checkbox(for="level_creator").well
|
||||||
|
input(type='checkbox', name="level_creator", id="level_creator")
|
||||||
|
| Get emails on level editor updates and announcements.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
h4 Changes are saved automatically when you toggle checkboxes.
|
||||||
|
|
||||||
|
#Contributors
|
||||||
|
h3 Our Creative Artisans:
|
||||||
|
ul.artisans
|
||||||
|
li Sootn
|
||||||
|
li Zach Martin
|
||||||
|
li Aftermath
|
||||||
|
li mcdavid1991
|
||||||
|
|
||||||
|
div.clearfix
|
311
app/templates/contribute/contribute.jade
Normal file
311
app/templates/contribute/contribute.jade
Normal file
|
@ -0,0 +1,311 @@
|
||||||
|
extends /templates/base
|
||||||
|
|
||||||
|
block content
|
||||||
|
|
||||||
|
div.contribute_class
|
||||||
|
|
||||||
|
include /templates/contribute/contribute_nav
|
||||||
|
|
||||||
|
div#contribute-main.class-main
|
||||||
|
div#intro
|
||||||
|
|
||||||
|
h2 Contributing
|
||||||
|
|
||||||
|
#homepage_screenshot
|
||||||
|
img(src="/images/pages/contribute/contribute_header.png", alt="")
|
||||||
|
|
||||||
|
p
|
||||||
|
strong We have high hopes for CodeCombat.
|
||||||
|
| 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") CodeCombat is totally open source
|
||||||
|
| , 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 We hope you'll join our party!
|
||||||
|
p.signature - Nick, George, Scott, Michael, and Jeremy
|
||||||
|
hr
|
||||||
|
|
||||||
|
if me.attributes.anonymous
|
||||||
|
div#sign-up.alert.alert-info
|
||||||
|
strong Hey there!
|
||||||
|
| To subscribe for class emails, you'll need to
|
||||||
|
a(data-toggle="coco-modal", data-target="modal/signup") create an account
|
||||||
|
| first .
|
||||||
|
|
||||||
|
#archmage
|
||||||
|
.class_image.header-scrolling-fix
|
||||||
|
img(src="/images/pages/contribute/archmage.png", alt="")
|
||||||
|
|
||||||
|
h3.header-scrolling-fix Archmage (Coder)
|
||||||
|
p 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 Class Attributes
|
||||||
|
ul
|
||||||
|
li Knowledge in
|
||||||
|
a(href="http://coffeescript.org/") CoffeeScript
|
||||||
|
| , 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 Some experience in programming and personal initiative.
|
||||||
|
| We'll help you get oriented, but we can't spend much time training you.
|
||||||
|
|
||||||
|
h4 How To Join
|
||||||
|
|
||||||
|
p
|
||||||
|
| Anyone can help out! Just check out our
|
||||||
|
a(title='GitHub', href="https://github.com/codecombat/codecombat", tabindex=-1) GitHub
|
||||||
|
| 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") Email us
|
||||||
|
| , or find us in our
|
||||||
|
a(href="http://www.hipchat.com/g3plnOKqa") public HipChat room
|
||||||
|
| and we'll go from there!
|
||||||
|
|
||||||
|
a(href="/contribute/archmage")
|
||||||
|
h3 Learn More About Becoming A Powerful Archmage
|
||||||
|
|
||||||
|
label.checkbox(for="developer").well
|
||||||
|
input(type='checkbox', name="developer", id="developer")
|
||||||
|
| Get emails on new coding opportunities and announcements.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
|
||||||
|
#artisan
|
||||||
|
|
||||||
|
.class_image.header-scrolling-fix
|
||||||
|
img(src="/images/pages/contribute/artisan.png", alt="")
|
||||||
|
|
||||||
|
h3.header-scrolling-fix Artisan (Level Builder)
|
||||||
|
p 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
|
||||||
|
a(href="http://stackoverflow.com/questions/758088/seeking-contrived-example-code-continuations/758105#758105") Mondo Bizzaro
|
||||||
|
| to then this class might be for you.
|
||||||
|
|
||||||
|
h4 Class Attributes
|
||||||
|
ul
|
||||||
|
li Any experience in building content like this would be nice, such as using
|
||||||
|
| Blizzard's level editors. But not required!
|
||||||
|
li 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 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 How To Join
|
||||||
|
p 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
|
||||||
|
a(href="https://docs.google.com/document/d/117tMcL95T1KY8BDisr0iGi5Frb2ZvBJTC0us5hyQkJY/edit?usp=sharing") preliminary documentation
|
||||||
|
| for more info, and please comment on it so we can make the whole system better.
|
||||||
|
|
||||||
|
a(href="/contribute/artisan")
|
||||||
|
h3 Learn More About Becoming A Creative Artisan
|
||||||
|
|
||||||
|
label.checkbox(for="level_creator").well
|
||||||
|
input(type='checkbox', name="level_creator", id="level_creator")
|
||||||
|
| Get emails on level editor updates and announcements.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
|
||||||
|
#adventurer
|
||||||
|
|
||||||
|
.class_image.header-scrolling-fix
|
||||||
|
img(src="/images/pages/contribute/adventurer.png", alt="")
|
||||||
|
|
||||||
|
h3.header-scrolling-fix Adventurer (Level Playtester)
|
||||||
|
p 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 Class Attributes
|
||||||
|
ul
|
||||||
|
li 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 Charismatic. Be gentle but articulate about what needs improving, and offer suggestions
|
||||||
|
| on how to improve.
|
||||||
|
|
||||||
|
h4 How To Join
|
||||||
|
p 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
|
||||||
|
a(href="http://discourse.codecombat.com/category/adventurer") our forum
|
||||||
|
| ,
|
||||||
|
a(href="https://www.facebook.com/codecombat") Facebook
|
||||||
|
| ,
|
||||||
|
a(href="http://www.reddit.com/r/CodeCombat/") Reddit
|
||||||
|
| ,
|
||||||
|
a(href="https://twitter.com/CodeCombat") Twitter
|
||||||
|
| , and
|
||||||
|
a(href="https://plus.google.com/115285980638641924488/posts") Google+
|
||||||
|
| , so if you prefer to be notified those ways, sign up there!
|
||||||
|
|
||||||
|
a(href="/contribute/adventurer")
|
||||||
|
h3 Learn More About Becoming A Brave Adventurer
|
||||||
|
|
||||||
|
label.checkbox(for="tester").well
|
||||||
|
input(type='checkbox', name="tester", id="tester")
|
||||||
|
| Get emails when there are new levels to test.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
|
||||||
|
#scribe
|
||||||
|
|
||||||
|
.class_image.header-scrolling-fix
|
||||||
|
img(src="/images/pages/contribute/scribe.png", alt="")
|
||||||
|
|
||||||
|
h3.header-scrolling-fix Scribe (Article Editor)
|
||||||
|
p 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") Mozilla Developer Network
|
||||||
|
| has built. If your idea of fun is articulating the concepts of programming in Markdown form,
|
||||||
|
| then this class might be for you.
|
||||||
|
|
||||||
|
h4 Class Attributes
|
||||||
|
ul
|
||||||
|
li Skill in words is pretty much all you need.
|
||||||
|
| Not only grammar and spelling, but able to convey complicated ideas to others.
|
||||||
|
|
||||||
|
h4 How To Join
|
||||||
|
p
|
||||||
|
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact us
|
||||||
|
| , 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 Learn More About Becoming A Diligent Scribe
|
||||||
|
|
||||||
|
label.checkbox(for="article_editor").well
|
||||||
|
input(type='checkbox', name="article_editor", id="article_editor")
|
||||||
|
| Get emails about article writing announcements.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#diplomat
|
||||||
|
|
||||||
|
.class_image.header-scrolling-fix
|
||||||
|
img(src="/images/pages/contribute/diplomat.png", alt="")
|
||||||
|
|
||||||
|
h3.header-scrolling-fix Diplomat (Translator)
|
||||||
|
p So, if there's one thing we learned from the
|
||||||
|
a(href="blog.codecombat.com/post/64658141307/codecombat-in-y-combinator") launch in October
|
||||||
|
| , 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 Class Attributes
|
||||||
|
ul
|
||||||
|
li 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 How to Join
|
||||||
|
p We've started a lot of initial translations at
|
||||||
|
a(href="https://docs.google.com/a/codecombat.com/spreadsheet/ccc?key=0AjsR1nOoMQ4MdFBqS1NqUmRTVG1hbEMxWTZEd1JrNXc&usp=drive_web#gid=0") this Google Doc
|
||||||
|
| , 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 Learn More About Becoming A Great Diplomat
|
||||||
|
|
||||||
|
label.checkbox(for="translator").well
|
||||||
|
input(type='checkbox', name="translator", id="translator")
|
||||||
|
| Get emails about i18n developments and levels to translate.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
|
||||||
|
#ambassador
|
||||||
|
|
||||||
|
.class_image.header-scrolling-fix
|
||||||
|
img(src="/images/pages/contribute/ambassador.png", alt="")
|
||||||
|
|
||||||
|
h3.header-scrolling-fix Ambassador (Support)
|
||||||
|
p 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 Class Attributes
|
||||||
|
ul
|
||||||
|
li 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 How to Join
|
||||||
|
p
|
||||||
|
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact us
|
||||||
|
| , 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 Note
|
||||||
|
| : 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 Learn More About Becoming A Helpful Ambassador
|
||||||
|
|
||||||
|
label.checkbox(for="support").well
|
||||||
|
input(type='checkbox', name="support", id="support")
|
||||||
|
| Get emails on support updates and multiplayer developments.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
|
||||||
|
#counselor
|
||||||
|
|
||||||
|
.class_image.header-scrolling-fix
|
||||||
|
img(src="/images/pages/contribute/counselor.png", alt="")
|
||||||
|
|
||||||
|
h3.header-scrolling-fix Counselor (Expert)
|
||||||
|
p 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 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 Class Attributes
|
||||||
|
ul
|
||||||
|
li Experience, in any of the areas above or something you think might be helpful.
|
||||||
|
li A little bit of free time!
|
||||||
|
|
||||||
|
h4 How to Join
|
||||||
|
p
|
||||||
|
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact us
|
||||||
|
| , 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 Learn More About Becoming A Valuable Counselor
|
||||||
|
|
||||||
|
div.clearfix
|
17
app/templates/contribute/contribute_nav.jade
Normal file
17
app/templates/contribute/contribute_nav.jade
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
ul.contribute_class.affix.nav.nav-list.nav-pills#contribute-nav
|
||||||
|
li
|
||||||
|
h3 Character Classes
|
||||||
|
li
|
||||||
|
a(href=navPrefix + "#archmage") Archmage (Coder)
|
||||||
|
li
|
||||||
|
a(href=navPrefix + "#artisan") Artisan (Level Builder)
|
||||||
|
li
|
||||||
|
a(href=navPrefix + "#adventurer") Adventurer (Level Playtester)
|
||||||
|
li
|
||||||
|
a(href=navPrefix + "#scribe") Scribe (Article Editor)
|
||||||
|
li
|
||||||
|
a(href=navPrefix + "#diplomat") Diplomat (Translator)
|
||||||
|
li
|
||||||
|
a(href=navPrefix + "#ambassador") Ambassador (Support)
|
||||||
|
li
|
||||||
|
a(href=navPrefix + "#counselor") Counselor (Expert/Teacher)
|
39
app/templates/contribute/counselor.jade
Normal file
39
app/templates/contribute/counselor.jade
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
extends /templates/base
|
||||||
|
|
||||||
|
block content
|
||||||
|
|
||||||
|
div.contribute_class
|
||||||
|
|
||||||
|
include /templates/contribute/contribute_nav
|
||||||
|
|
||||||
|
div.class-main#sounselor-main
|
||||||
|
|
||||||
|
.class_image
|
||||||
|
img(src="/images/pages/contribute/counselor.png", alt="")
|
||||||
|
|
||||||
|
h2 Counselor (Expert)
|
||||||
|
p 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 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 Class Attributes
|
||||||
|
ul
|
||||||
|
li Experience, in any of the areas above or something you think might be helpful.
|
||||||
|
li A little bit of free time!
|
||||||
|
|
||||||
|
h4 How to Join
|
||||||
|
p
|
||||||
|
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact us
|
||||||
|
| , 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).
|
||||||
|
|
||||||
|
div.clearfix
|
68
app/templates/contribute/diplomat.jade
Normal file
68
app/templates/contribute/diplomat.jade
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
extends /templates/base
|
||||||
|
|
||||||
|
block content
|
||||||
|
|
||||||
|
div.contribute_class
|
||||||
|
|
||||||
|
include /templates/contribute/contribute_nav
|
||||||
|
|
||||||
|
div.class-main#diplomat-main
|
||||||
|
|
||||||
|
.class_image
|
||||||
|
img(src="/images/pages/contribute/diplomat.png", alt="")
|
||||||
|
|
||||||
|
h2 Diplomat (Translator)
|
||||||
|
p So, if there's one thing we learned from the
|
||||||
|
a(href="blog.codecombat.com/post/64658141307/codecombat-in-y-combinator") launch in October
|
||||||
|
| , 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 Class Attributes
|
||||||
|
ul
|
||||||
|
li 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 How to Join
|
||||||
|
p We've started a lot of initial translations at
|
||||||
|
a(href="https://docs.google.com/a/codecombat.com/spreadsheet/ccc?key=0AjsR1nOoMQ4MdFBqS1NqUmRTVG1hbEMxWTZEd1JrNXc&usp=drive_web#gid=0") this Google Doc
|
||||||
|
| , so check it out and add things for your language. Also, check this box below to
|
||||||
|
| keep up-to-date on new internationalization developments!
|
||||||
|
|
||||||
|
if me.attributes.anonymous
|
||||||
|
div#sign-up.alert.alert-info
|
||||||
|
strong Hey there!
|
||||||
|
| To subscribe for class emails, you'll need to
|
||||||
|
a(data-toggle="coco-modal", data-target="modal/signup") create an account
|
||||||
|
| first .
|
||||||
|
|
||||||
|
label.checkbox(for="translator").well
|
||||||
|
input(type='checkbox', name="translator", id="translator")
|
||||||
|
| Get emails about i18n developments and levels to translate.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
h4 Changes are saved automatically when you toggle checkboxes.
|
||||||
|
|
||||||
|
#Contributors
|
||||||
|
h3 Our Translating Diplomats:
|
||||||
|
ul.diplomats
|
||||||
|
li Turkish - Nazım Gediz Aydındoğmuş
|
||||||
|
li Brazilian Portuguese - Gutenberg Barros, Kieizroe, Matthew Burt
|
||||||
|
li Portugal Portuguese - Matthew Burt
|
||||||
|
li German - Dirk, Anon
|
||||||
|
li Thai - Kamolchanok Jittrepit
|
||||||
|
li Greek - Stergios
|
||||||
|
li Latin American Spanish - Jesús Ruppel, Matthew Burt, Mariano Luzza
|
||||||
|
li Spain Spanish - Matthew Burt, Anon
|
||||||
|
li French - Xeonarno, Anon
|
||||||
|
li Hungarian - Anon
|
||||||
|
li Japanese - g1itch
|
||||||
|
li Chinese - spacepope
|
||||||
|
li Polish - Anon
|
||||||
|
li Danish - Anon
|
||||||
|
li Slovak - Anon
|
||||||
|
|
||||||
|
div.clearfix
|
54
app/templates/contribute/scribe.jade
Normal file
54
app/templates/contribute/scribe.jade
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
extends /templates/base
|
||||||
|
|
||||||
|
block content
|
||||||
|
|
||||||
|
div.contribute_class
|
||||||
|
|
||||||
|
include /templates/contribute/contribute_nav
|
||||||
|
|
||||||
|
div.class-main#scribe-main
|
||||||
|
|
||||||
|
.class_image
|
||||||
|
img(src="/images/pages/contribute/scribe.png", alt="")
|
||||||
|
|
||||||
|
h2 Scribe (Article Editor)
|
||||||
|
p 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") Mozilla Developer Network
|
||||||
|
| has built. If your idea of fun is articulating the concepts of programming in Markdown form,
|
||||||
|
| then this class might be for you.
|
||||||
|
|
||||||
|
h4 Class Attributes
|
||||||
|
ul
|
||||||
|
li Skill in words is pretty much all you need.
|
||||||
|
| Not only grammar and spelling, but able to convey complicated ideas to others.
|
||||||
|
|
||||||
|
h4 How To Join
|
||||||
|
p
|
||||||
|
a(title='Contact', tabindex=-1, data-toggle="coco-modal", data-target="modal/contact") Contact us
|
||||||
|
| , 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!
|
||||||
|
|
||||||
|
if me.attributes.anonymous
|
||||||
|
div#sign-up.alert.alert-info
|
||||||
|
strong Hey there!
|
||||||
|
| To subscribe for class emails, you'll need to
|
||||||
|
a(data-toggle="coco-modal", data-target="modal/signup") create an account
|
||||||
|
| first .
|
||||||
|
|
||||||
|
label.checkbox(for="article_editor").well
|
||||||
|
input(type='checkbox', name="article_editor", id="article_editor")
|
||||||
|
| Get emails about article writing announcements.
|
||||||
|
.saved-notification ✓ Saved
|
||||||
|
|
||||||
|
h4 Changes are saved automatically when you toggle checkboxes.
|
||||||
|
|
||||||
|
#Contributors
|
||||||
|
h3 Our Diligent Scribes:
|
||||||
|
ul.scribes
|
||||||
|
li Ryan Faidley
|
||||||
|
|
||||||
|
div.clearfix
|
7
app/views/contribute/adventurer_view.coffee
Normal file
7
app/views/contribute/adventurer_view.coffee
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
ContributeClassView = require 'views/contribute/contribute_class_view'
|
||||||
|
template = require 'templates/contribute/adventurer'
|
||||||
|
{me} = require('lib/auth')
|
||||||
|
|
||||||
|
module.exports = class AdventurerView extends ContributeClassView
|
||||||
|
id: "adventurer-view"
|
||||||
|
template: template
|
7
app/views/contribute/ambassador_view.coffee
Normal file
7
app/views/contribute/ambassador_view.coffee
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
ContributeClassView = require 'views/contribute/contribute_class_view'
|
||||||
|
template = require 'templates/contribute/ambassador'
|
||||||
|
{me} = require('lib/auth')
|
||||||
|
|
||||||
|
module.exports = class AmbassadorView extends ContributeClassView
|
||||||
|
id: "ambassador-view"
|
||||||
|
template: template
|
6
app/views/contribute/archmage_view.coffee
Normal file
6
app/views/contribute/archmage_view.coffee
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
ContributeClassView = require 'views/contribute/contribute_class_view'
|
||||||
|
template = require 'templates/contribute/archmage'
|
||||||
|
|
||||||
|
module.exports = class ArchmageView extends ContributeClassView
|
||||||
|
id: "archmage-view"
|
||||||
|
template: template
|
7
app/views/contribute/artisan_view.coffee
Normal file
7
app/views/contribute/artisan_view.coffee
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
ContributeClassView = require 'views/contribute/contribute_class_view'
|
||||||
|
template = require 'templates/contribute/artisan'
|
||||||
|
{me} = require('lib/auth')
|
||||||
|
|
||||||
|
module.exports = class ArtisanView extends ContributeClassView
|
||||||
|
id: "artisan-view"
|
||||||
|
template: template
|
37
app/views/contribute/contribute_class_view.coffee
Normal file
37
app/views/contribute/contribute_class_view.coffee
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
View = require 'views/kinds/RootView'
|
||||||
|
{me} = require('lib/auth')
|
||||||
|
|
||||||
|
module.exports = class ContributeClassView extends View
|
||||||
|
navPrefix: '/contribute'
|
||||||
|
|
||||||
|
events:
|
||||||
|
'change input[type="checkbox"]': 'onCheckboxChanged'
|
||||||
|
|
||||||
|
getRenderData: ->
|
||||||
|
c = super()
|
||||||
|
c.navPrefix = @navPrefix
|
||||||
|
c
|
||||||
|
|
||||||
|
afterRender: ->
|
||||||
|
super()
|
||||||
|
checkboxes = @$el.find('input[type="checkbox"]').toArray()
|
||||||
|
_.forEach checkboxes, (el) ->
|
||||||
|
el = $(el)
|
||||||
|
if el.attr('name') in me.get('emailSubscriptions')
|
||||||
|
el.prop('checked', true)
|
||||||
|
|
||||||
|
onCheckboxChanged: (e) ->
|
||||||
|
el = $(e.target)
|
||||||
|
checked = el.prop('checked')
|
||||||
|
subscription = el.attr('name')
|
||||||
|
subscriptions = me.get('emailSubscriptions') ? []
|
||||||
|
if checked and not (subscription in subscriptions)
|
||||||
|
subscriptions.push(subscription)
|
||||||
|
if me.get 'anonymous'
|
||||||
|
@openModalView new SignupModalView()
|
||||||
|
if not checked
|
||||||
|
subscriptions = _.without subscriptions, subscription
|
||||||
|
el.parent().find('.saved-notification').finish().show('fast').delay(3000).fadeOut(2000)
|
||||||
|
|
||||||
|
me.set('emailSubscriptions', subscriptions)
|
||||||
|
me.save()
|
7
app/views/contribute/counselor_view.coffee
Normal file
7
app/views/contribute/counselor_view.coffee
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
ContributeClassView = require 'views/contribute/contribute_class_view'
|
||||||
|
template = require 'templates/contribute/counselor'
|
||||||
|
{me} = require('lib/auth')
|
||||||
|
|
||||||
|
module.exports = class CounselorView extends ContributeClassView
|
||||||
|
id: "counselor-view"
|
||||||
|
template: template
|
7
app/views/contribute/diplomat_view.coffee
Normal file
7
app/views/contribute/diplomat_view.coffee
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
ContributeClassView = require 'views/contribute/contribute_class_view'
|
||||||
|
template = require 'templates/contribute/diplomat'
|
||||||
|
{me} = require('lib/auth')
|
||||||
|
|
||||||
|
module.exports = class DiplomatView extends ContributeClassView
|
||||||
|
id: "diplomat-view"
|
||||||
|
template: template
|
7
app/views/contribute/scribe_view.coffee
Normal file
7
app/views/contribute/scribe_view.coffee
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
ContributeClassView = require 'views/contribute/contribute_class_view'
|
||||||
|
template = require 'templates/contribute/scribe'
|
||||||
|
{me} = require('lib/auth')
|
||||||
|
|
||||||
|
module.exports = class ScribeView extends ContributeClassView
|
||||||
|
id: "scribe-view"
|
||||||
|
template: template
|
|
@ -1,35 +1,11 @@
|
||||||
View = require 'views/kinds/RootView'
|
ContributeClassView = require 'views/contribute/contribute_class_view'
|
||||||
template = require 'templates/contribute'
|
template = require 'templates/contribute/contribute'
|
||||||
{me} = require 'lib/auth'
|
|
||||||
SignupModalView = require 'views/modal/signup_modal'
|
SignupModalView = require 'views/modal/signup_modal'
|
||||||
|
|
||||||
module.exports = class ContributeView extends View
|
module.exports = class ContributeView extends ContributeClassView
|
||||||
id: "contribute-view"
|
id: "contribute-view"
|
||||||
template: template
|
template: template
|
||||||
|
navPrefix: ''
|
||||||
|
|
||||||
events:
|
events:
|
||||||
'change input[type="checkbox"]': 'onCheckboxChanged'
|
'change input[type="checkbox"]': 'onCheckboxChanged'
|
||||||
|
|
||||||
afterRender: ->
|
|
||||||
super()
|
|
||||||
checkboxes = @$el.find('input[type="checkbox"]').toArray()
|
|
||||||
_.forEach checkboxes, (el) ->
|
|
||||||
el = $(el)
|
|
||||||
if el.attr('name') in me.get('emailSubscriptions')
|
|
||||||
el.prop('checked', true)
|
|
||||||
|
|
||||||
onCheckboxChanged: (e) ->
|
|
||||||
el = $(e.target)
|
|
||||||
checked = el.prop('checked')
|
|
||||||
subscription = el.attr('name')
|
|
||||||
subscriptions = me.get('emailSubscriptions') ? []
|
|
||||||
if checked and not (subscription in subscriptions)
|
|
||||||
subscriptions.push(subscription)
|
|
||||||
if me.get 'anonymous'
|
|
||||||
@openModalView new SignupModalView()
|
|
||||||
if not checked
|
|
||||||
subscriptions = _.without subscriptions, subscription
|
|
||||||
el.parent().find('.saved-notification').finish().show('fast').delay(3000).fadeOut(2000)
|
|
||||||
|
|
||||||
me.set('emailSubscriptions', subscriptions)
|
|
||||||
me.save()
|
|
||||||
|
|
|
@ -42,6 +42,7 @@ module.exports = class ThangsTabView extends View
|
||||||
'sprite:dragged': 'onSpriteDragged'
|
'sprite:dragged': 'onSpriteDragged'
|
||||||
'sprite:mouse-up': 'onSpriteMouseUp'
|
'sprite:mouse-up': 'onSpriteMouseUp'
|
||||||
'sprite:double-clicked': 'onSpriteDoubleClicked'
|
'sprite:double-clicked': 'onSpriteDoubleClicked'
|
||||||
|
'surface:stage-mouse-down': 'onStageMouseDown'
|
||||||
|
|
||||||
constructor: (options) ->
|
constructor: (options) ->
|
||||||
super options
|
super options
|
||||||
|
@ -118,7 +119,13 @@ module.exports = class ThangsTabView extends View
|
||||||
@surface?.spriteBoss?.selectSprite null, null
|
@surface?.spriteBoss?.selectSprite null, null
|
||||||
|
|
||||||
onSpriteMouseDown: (e) ->
|
onSpriteMouseDown: (e) ->
|
||||||
#console.log "mouse down", e
|
# Sprite clicks happen after stage clicks, but we need to know whether a sprite is being clicked.
|
||||||
|
clearTimeout @backgroundAddClickTimeout
|
||||||
|
|
||||||
|
onStageMouseDown: (e) ->
|
||||||
|
if @addThangSprite
|
||||||
|
# If we click on the background, we need to add @addThangSprite, but not if onSpriteMouseDown will fire.
|
||||||
|
@backgroundAddClickTimeout = _.defer => @onExtantThangSelected {}
|
||||||
|
|
||||||
onSpriteDragged: (e) ->
|
onSpriteDragged: (e) ->
|
||||||
return unless @selectedExtantThang and e.thang?.id is @selectedExtantThang?.id
|
return unless @selectedExtantThang and e.thang?.id is @selectedExtantThang?.id
|
||||||
|
|
|
@ -16,7 +16,7 @@ module.exports = class RootView extends CocoView
|
||||||
events:
|
events:
|
||||||
"click #logout-button": "logoutAccount"
|
"click #logout-button": "logoutAccount"
|
||||||
'change .language-dropdown': 'showDiplomatSuggestionModal'
|
'change .language-dropdown': 'showDiplomatSuggestionModal'
|
||||||
|
|
||||||
shortcuts:
|
shortcuts:
|
||||||
'backspace, delete': 'preventBackspace'
|
'backspace, delete': 'preventBackspace'
|
||||||
# 'backspace': 'preventBackspace'
|
# 'backspace': 'preventBackspace'
|
||||||
|
@ -56,7 +56,7 @@ module.exports = class RootView extends CocoView
|
||||||
code2 isnt code and code2.split('-')[0] is code)
|
code2 isnt code and code2.split('-')[0] is code)
|
||||||
for code, localeInfo of locale when not (code in genericCodes) or code is preferred
|
for code, localeInfo of locale when not (code in genericCodes) or code is preferred
|
||||||
$select.append(
|
$select.append(
|
||||||
$("<option></option>").val(code).text(localeInfo.nativeDescription))
|
$("<option></option>").attr("value", code).text(localeInfo.nativeDescription))
|
||||||
$select.val(preferred).fancySelect()
|
$select.val(preferred).fancySelect()
|
||||||
|
|
||||||
showDiplomatSuggestionModal: ->
|
showDiplomatSuggestionModal: ->
|
||||||
|
@ -75,4 +75,4 @@ module.exports = class RootView extends CocoView
|
||||||
errors = JSON.parse(res.responseText)
|
errors = JSON.parse(res.responseText)
|
||||||
console.warn "Error saving language:", errors
|
console.warn "Error saving language:", errors
|
||||||
res.success (model, response, options) ->
|
res.success (model, response, options) ->
|
||||||
#console.log "Saved language:", newLang
|
#console.log "Saved language:", newLang
|
Loading…
Reference in a new issue