About this project
The Kickstarter campaign may be over, but you can still support Codemancer HERE.
'Codemancer' is an educational game designed for 9 to 14-year-olds (but fun for grownups, too) that teaches the magic behind programming. Players will code their way through a fantasy world full of rival sorcerers and their minions. It will be available for PC, Mac, iPad and Android Tablets.
The goal of the game is to be as broad and inclusive as possible. A gender-neutral fantasy setting, a female protagonist, a narrative backbone, and a language designed for accessibility; these are all ways to knock down barriers that prevent some kids from engaging with programming. When everybody is making technology, the technology they make will be for everybody.
'Codemancer' features a moving story about a girl trying to grow up and do good despite incredible obstacles. Aurora's Father's life is in her hands, and that's a lot of pressure for a child just learning to be independent.
ACHIEVED! If the project reaches $20,000: Level Editor
I am making one of these for myself, so that the process of creating levels can be faster, but I'd like to make it a public-facing feature of the game, so that anyone can make their own Codemancer level.
ACHIEVED! If the project reaches $30,000: Python for Codemancers
I will put up a Udemy-style online course called 'Python for Codemancers,' and make it free for all backers. This course will transfer the skills you learn playing Codemancer to a real-world programming language.
ACHIEVED! WHAT? If we reach $40,000: Codemancer: The Novel
I will collaborate with another author to create a companion young-adult novel set in the world of Codemancer. The novel will be free to all backers, will include spells that may be useful in the game, and will expand on the Codemancer lore.
Players will position magical runes which represent commands. Some are direct commands, like 'move forward.' Others are what's called "flow control" which determines how the spells execute. Arranging the runes in the correct order allows the player to move in any desired pattern and respond to unforeseen events.
Gameplay takes place in a hexagonal world, so it's easy to estimate distances and angles by eye. 'Forward 1' moves Aurora's familiar into the next hexagon. 'Right 1' turns the familiar in place, causing it to face the next edge (clockwise) of the hexagon.
For example, here is a simple spell (or program) you might use in the game, along with some real-world programs for comparison on the right:
which causes your Familiar to move like this:
As you can see, Codemancer's language is designed to be accessible, but also translates easily to a variety of popular real-world programming languages. More complex programs are made when we introduce programming concepts like Variables, Conditionals, and Functions.
There's also a 'freeze time' ability, so players can debug the programs they've written and potentially code their way out of a jam. If they can't, and Aurora's hearts run out, the level restarts very quickly -- a lesson that the stakes are reasonably low, and it never hurts to try things out.
Our goal is to cover all the same material you would cover in a typical Programming 101 course at University.
Aurora lives in a world where a pact between humanity and nature allows a few select individuals to command creatures of nature using spells composed of runes. This starts with the choosing of an animal familiar. Familiars are animal companions that accompany a person throughout his or her life. They are also subject to the commands of the rune language.
Just as Aurora is learning a bit about how to command her familiar, her Father is kidnapped by an Evil Sorcerer, whose minions are commanded by the same runic spells. Aurora gives chase, attempting to defeat the minions and reclaim her Father. That is where her adventure begins.
As she journeys Northward, in pursuit of her Father's captors, Aurora meets several friendly wizards who continue to teach her about spellcasting, because acquiring this skill can mean the difference between life and death.
Aurora begins our story as a creative but entitled little girl, but grows into a talented and gracious young woman over the course of the story. She is our protagonist.
Arthur Li (Dad)
Arthur is a supportive single Dad. Arthur moved himself and his daughter Aurora out to the country so that they could be close to the best introductory wizarding school in the world: Lovelace Academy. Arthur is abducted on Aurora's first day of school, which is the beginning of her adventure.
A little stern, but very compassionate. Ms. Lovelace runs Lovelace Academy for Young Wizards.
In the beginning of the game, you must choose an animal familiar, who will live and grow with you over the course of the game.
The identity of the Evil Sorcerer is unknown, but we do know that he or she has the ability to create powerful constructs from any object at hand.
The narrative is inspired by popular works of young adult fantasy - Harry Potter, Mistborn, The Golden Compass, The Neverending Story, The Wizard of Earthsea, The Last Airbender and many more. These stories have captured the minds of several generations of young children. A good story can move millions to pick up a book, and I think it can move millions more to start programming.
I’ve been working on Codemancer for the past year, while doing contracting work to support development costs. We’ve assembled our team, developed a great workflow, and playtest on a regular basis to find possible improvements. The main mechanics of the game have been hammered out. We mostly need to focus on content creation -- making levels, enemies, cutscenes and a few additional features.
It sounds simple, but this is when the real magic happens, when a toy becomes a game. The devil's in the details, and we aim to smoke him out.
We are already sending out regular updates to our supporters - and can assure you this will only continue with our Kickstarter backers. You can check out previous updates here.
I've been paying for the production costs out of pocket so far, but with your help we can make the game so much more. Here's a breakdown of how the Kickstarter money will be spent if we're successful:
I'm the game designer and programmer on this project. I've been in games for about four years, the last of which was spent founding Important Little Games. My time is split between creating learning games for clients and building Codemancer.
Patrick is the character designer and animator of Codemancer. He also does a lot of work in comic books.
Pui is the illustrator behind the environments and all the inanimate objects in the game.
Dave is a brilliant composer and a good friend. He'll be doing all the music for the game (he composed the amazing music for the Kickstarter Video above).
*these folks are not working for free
Risks and challenges
In terms of development, I can assure you that the worst is over. I've planned for every scenario I could think of in terms of the continued progress and completion of the game. I've scoped the game tightly, so I will be completing this game even if the Kickstarter fails, though it would take a lot longer. I also enjoy the fellowship and support of the Chicago Indie community, especially all the amazing folks who co-work with me at the Indie City Coop, who have already advised me so much in designing and developing the game.
That said, every software project has bumps in the road. It's very possible that my estimated delivery time could be too optimistic, either because of technology problems, or because the team can't keep the right creative pace. There may be personnel changes which add time, or other unforeseeable disasters.
These are obstacles which we would all have to face together, dear backers. However, this I promise: I will tell you whenever we encounter problems, and whenever we solve them. I will be as open and transparent as I'm able. In fact I may overshare, and you can tell me if that becomes a problem, too.Learn about accountability on Kickstarter
Have a question? If the info above doesn't help, you can ask the project creator directly.
Support this project
- (30 days)