Share this project

Done

Share this project

Done
An online game to learn Scala. Battle Goblins and Wizards and face all kinds of challenges while learning a new programming language.
An online game to learn Scala. Battle Goblins and Wizards and face all kinds of challenges while learning a new programming language.
An online game to learn Scala. Battle Goblins and Wizards and face all kinds of challenges while learning a new programming language.
301 backers pledged CA$ 31,299 to help bring this project to life.

About

ScalaQuest - a game to learn Scala project video thumbnail
Replay with sound
Play with
sound

ScalaQuest - a game to learn Scala

CA$ 31,299

301

What is a prototype?

A prototype is a preliminary model of something. Projects that offer physical products need to show backers documentation of a working prototype. This gallery features photos, videos, and other visual documentation that will give backers a sense of what’s been accomplished so far and what’s left to do. Though the development process can vary for each project, these are the stages we typically see:

Proof of Concept

Explorations that test ideas and functionality.

Functional Prototype

Demonstrates the functionality of the final product, but looks different.

Appearance Prototype

Looks like the final product, but is not functional.

Design Prototype

Appearance and function match the final product, but is made with different manufacturing methods.

Production Prototype

Appearance, function, and manufacturing methods match the final product.

36564586947061b5b8e332fb23f1bb2d original

Prototype Gallery

These photos and videos provide a detailed look at this project’s development.

The Nutshell

Learn Scala by having fun. Learn advanced Scala. Learn really well by coding a huge amount. Write more code during play than you do at work or at school.

The Game

ScalaQuest takes place in DataLand, a place where land produces data, and its inhabitants harvest data to survive.

In DataLand, many mysterious forces have arisen, with mystical names such as 4-train, C-cross-cross and Hava. They all made data harvesting more efficient, but they all came with dangers of their own. Eventually, Complexity Plagues appeared, forces became slow and inefficient. Whole crops were lost. Those were difficult times for all.

Within DataLand, a powerful wizard named Ski has roamed for a while, taming many of these forces. Recently, he's discovered a new force and named it Scala.

However, Ski knows this great power needs to be wielded wisely, so he's gathering an order of apprentices, who can use Scala skillfully and with great care.

He's called this the Order of The Ski, or Order[Ski] for short.

This is where you come in. 

You shall become his apprentice, and learn Scala through practice and peril. You will start on the warm, safe haven of Values and Expressions, cross the Classes and Objects plains, hike over Variance Hills and make your way to the treacherous Implicit Forests.

And after that? Who knows what lies ahead.

Warning: This might be the first time you ask your team members to play a game during work hours.

Why Scala?

Scala is a programming language that mixes Object Oriented and Functional Programming. It has been adopted by organizations such as Twitter, LinkedIn, Netflix and Duolingo, and it has enjoyed steady growth for several years. Lately, investment in the language has come from companies like Intel, IBM and Juniper Networks. Its developer community is sharp, curious and dynamic.

Scala is being used in solid frameworks like Akka, Spark and Play, and is gaining much traction in Data Analysis, Machine Learning and Reactive Systems.

If you're a developer, having Scala under your belt can open up exciting job opportunities.

The content

Our goal is to cover a range of topics well beyond the very basics, including:

  • Values and expressions 
  • Classes and Types
  • Objects 
  • Case Classes
  • Value Classes
  • Functions
  • Inheritance
  • Options
  • Pattern Matching
  • Collections
  • Error Handling 
  • Implicits
  • Currying
  • Variance and Covariance
  • The type system
  • MONADS. Yes, Mondays. I mean Monads.

Each level will typically focus on one topic, but as you advance you will be prompted to reinforce your existing knowledge.

Who we are

As a Senior Software Developer & Trainer, Alejandro splits his time between architecting and building software, and coaching others on how to effectively use the Lightbend Reactive Platform. He has a strong passion for teaching, and is one of the few certified Lightbend trainers in Scala, Akka and Play. Over the last 4 years, he has taught over a thousand people from a variety of companies, ranging from startups like Hootsuite and large corporations like Intel and IBM. Alejandro has also created strong connections with many experts involved in building and supporting these platforms. (More about Alejandro)

Christian is an experienced software developer who has been around a few blocks, and is still trying to find the safest neighbourhood to hang out in. Professionally he is somewhat of a generalist. His love for Scala started a few years ago when he was exposed to its capacity for brevity, its hiding of redundancy found in other languages, all the while being unwary of the dangerous hidden parts. Now he believes the way forward is to come to terms with acceptance - that no advanced language can ever be fully understood, yet sufficient patience and effort can still lead to skill, power and accomplishment. (More about Christian)

Why do you care?

You will want to back up this project if:

  • You want to learn Scala from scratch and have no time for nonsense
  • You want to level up your Scala skillz
  • You want to grow your Scala team
  • You want to encourage others to learn the language
  • You think great learning should be super affordable

How will you learn Scala?

We strongly believe fun is a multiplying factor for learning.

When you're having fun, you're more engaged and tend to retain more information.

Play is the highest form of research. -- Albert Einstein

Surely, Einstein was referring to the Zelda series here!

The best moments usually occur when a person’s body or mind is stretched [...] in a voluntary effort to accomplish something difficult and worthwhile. -- Mihaly Csikszentmihalyi, Flow (1990)

If you're working at a task that's too easy, you get bored. Too hard, and you ragequit.

As developers, we also call this Flow, and we crave it often - but do we leverage 'fun' and 'games' enough for learning?

Learning Scala is difficult and worthwhile... but can we make it **fun**?

Repetition. In order to survive the quest, you will need to write a lot of code. Exercises will rarely repeat, but we will ensure that every concept is covered from as many angles as possible. You will write lots of code.

Observation. As developers, we spend more time reading code than writing. We'll challenge you to read, understand and fix Scala snippets.

Metaphors. We believe the right metaphors can unblock learners from understanding hard concepts. The further the metaphor from code and software, the better. We will use the game environment to create these metaphors and help you develop an intuition for hard concepts.

That is our goal with ScalaQuest.

What about other learning options?

Yes, there are great training courses out there, some in pure digital form, others delivered by human beings.

But not everyone learns the same way. 

We believe there's space for many different learning environments, and we've challenged ourselves to build one we really like!

In addition, we're creating a very affordable platform, that would allow you to learn at a monthly price that you can simply forget about.

Where the project is at

We've made tremendous progress and already have two working levels, with number 3 coming very soon. We plan on having beta testers in the near future to validate and improve our current direction. As a backer, you will be invited to participate in this phase, of course!

For some of the heavy lifting (compiling and running user code) we'll be integrating with Scastie in the near future.

Our goals

Our goal with ScalaQuest is to provide a relatively humane path to learning the basics and the intermediate parts of the deep world of Scala. We want learners to experience success and failure in the form of adventure, laughter and death, rather than in the form of confusion and self-doubt. ScalaQuest is a safe place to play with fire!

Our objective is to launch ScalaQuest with 8 complete levels, which we believe will take us the rest of 2017. Our goal then is to have a publicly available game by January 2018.

After launching the game, our goal is to release one new level per month. As a player, you'll want to keep coming back for more content.

How else can I get involved?

You can follow us on Twitter and share our news with your friends.

Risks and challenges

We've been developing ScalaQuest for the last few months, so we believe we have a pretty good understanding of the pace and rhythm of the project and the challenges that lie ahead. Moreover, we've been in the Software Development industry for almost 20 years each, so we're familiar with the process and hurdles of building and launching a public product like this.

However, nobody can predict the future, so there is always the possibility of delays and roadblocks. We're committed to have this project see the light of day, so we'll apply our experience and common sense to each unexpected situation. Should there be any significant changes to our plans, we'll communicate with our backers promptly. We'll do our absolute best to have everyone enjoy the value they were offered.

Learn about accountability on Kickstarter

Questions about this project? Check out the FAQ

Support

  1. Select this reward

    Pledge CA$ 7 or more About $6

    The Cheerful Mate

    You're awesome, thank you for your support!

    Includes:
    • Twitter thank you shoutout
    • Your name on the game credits
    Less
    Estimated delivery
    42 backers
    CA$
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  2. Select this reward

    Pledge CA$ 25 or more About $20

    The Loyal Peer

    You really want to try this game, don't you?

    Includes:
    • Twitter thank you shoutout
    • Your name on the game credits
    • Game subscription for 3 months
    Less
    Estimated delivery
    96 backers
    CA$
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  3. Select this reward

    Pledge CA$ 50 or more About $40

    The Committed Benefactor

    I'll stand by you if you stand by us.

    Includes:
    • Twitter thank you shoutout
    • Your name on the game credits
    • Game subscription for 1 year
    Less
    Estimated delivery
    60 backers
    CA$
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  4. Select this reward

    Pledge CA$ 75 or more About $59

    The Affluent Collector

    You can tell the wheat from the chaff, and have a taste for the unique.

    Includes:
    • Twitter thank you shoutout
    • Your name on the game credits
    • Game subscription for 1 year
    • A unique game weapon
    Less
    Estimated delivery
    18 backers
    CA$
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  5. Select this reward

    Pledge CA$ 150 or more About $119

    The Otherworldly Manifestation

    You know how to materialize yourself in all kinds of situations

    Includes:
    • Twitter thank you shoutout
    • Your name on the game credits
    • Lifetime subscription
    • A game character named after you
    • 30 min chat with the game designers to pitch ideas or suggestions
    Less
    Estimated delivery
    55 backers
    CA$
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  6. Select this reward

    Pledge CA$ 500 or more About $396

    The Mad Philantropist

    You're desperate to be remembered but all the great ideas are taken

    Includes:
    • Twitter thank you shoutout
    • Your name on the game credits
    • Lifetime subscription
    • Design a whole level
    • 30 min chat with the game designers to pitch ideas or suggestions
    Less
    Estimated delivery
    3 backers
    CA$
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  7. Select this reward

    Pledge CA$ 500 or more About $396

    The Consistency Alliance

    When asked a question, your members answer with the latest news or not at all.

    Your intentions are pure (ish).

    Includes:
    • Twitter thank you shoutout
    • Your logo on the game credits (large size, very visible)
    • 3 lifetime subscriptions
    Less
    Estimated delivery
    5 backers
    CA$
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  8. Select this reward

    Pledge CA$ 1,500 or more About $1,187

    The Availability Fellowship

    No member of the fellowship shall remain silent, even if their response is yesterday's news.

    You may or may not have ulterior motives.

    Includes:
    • Twitter thank you shoutout
    • Your logo on the game credits (large size, very visible)
    • Your logo on the game's Splash screen
    • 8 lifetime subscriptions
    Less
    Estimated delivery
    1 backer
    CA$
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.
  9. Select this reward

    Pledge CA$ 3,000 or more About $2,374

    The Partition Tolerance Guild

    The whole is greater than the sum of its parts - if a few members lag behind, the group will fill in for them.

    Nobody doubts your motivations. Or do they?

    Includes:
    • Twitter thank you shoutout
    • Your logo on the game credits (large size, very visible)
    • Your logo on the game's Splash screen
    • In-game artifact named after your company + link to your website
    Less
    Estimated delivery
    2 backers
    CA$
    Kickstarter is not a store.

    It's a way to bring creative projects to life.

    Learn more about accountability.

Funding period

- (30 days)