The CodeSpells Story - Part 3

Tue, August 11, 2020
Where is CodeSpells going?

Long post. But if you read to the end, there will be cake.

Over the years I've fielded thousands of questions about CodeSpells. Is it a game? Is it a sandbox? Will it have ice magic? Will it have a story? Will it have girl wizards? Will it have dragons? Will it be moddable? Why can't you write spells in Python? It is appropriate for my three-year-old? Can I have 10,000 free copies for my school district? Why haven't you added ice magic yet? Will it be more like Avatar: The Last Air Bender or Harry Potter or The Lord of the Rings or The Wizard of Earthsea? Can I write spells with Ruby? Can I write spells with Haskell? Can I write spells with Cobol? Can I have the source code so I can make my own coding game? Can we get on a Zoom call to discuss my ideas for different kinds of ice magic? And so on.

I think I can answer a broad swath of questions in this post. But let's start with the big picture.

(big picture)

My guiding principle is CodeSpells is a community.

I'm using the mantra CodeSpells is a community to guide my software development process. It's a north star to help me chart courses through as-yet undiscovered design space.

If you haven't already, please check out the CodeSpells Patreon page. Join the community and help me chart these courses:



We're using Patreon and Discord to grow, organize, and communicate with our community. And I'll be using my own kind of magic (called "being a skilled software engineer") to ensure that the evolving CodeSpells codebase can flexibly bring joy to a diverse community.

I've already begun weaving this software engineering enchantment: I'm in the midst of a ground-up rewrite of the CodeSpells codebase. Instead of developing a single monolithic thing called CodeSpells, I'm developing three different things, the combination of which is intended to cause a Big Bang -- to cause the CodeSpells multiverse:

CodeSpells Authoring Tools.

This is a set of tools and APIs to author CodeSpells environments, sandboxes, games, and stories. And yes, I used the plural of "environments", "sandboxes", "games", and "stories" on purpose. The authoring tools will be as free and open source as I can make them, so that anyone can create code-your-own-magic-spells experiences (called CodeSpells Authored Works). I've already built prototypes of these tools and am using them myself: Stay tuned for future blog posts!

CodeSpells Authored Work(s).

A CodeSpells Authored Work is any software (a sandbox, game, coding environment, ice magic simulator, etc.) written with the CodeSpells Authoring Tools. These can be simple experiences or full-fledged games. They will all be code-your-own-magic-spells experiences (because that's what the CodeSpells Authoring Tools help developers create). I'm currently authoring one such work now, entitled CodeSpells: The Seeker. More on this soon!

CodeSpells Canon.

Any CodeSpells community member can publish their CodeSpells Authored Works. We'll even help you. We won't restrict or censor works that people author (except for obvious things like hate speech, etc.). If certain high quality works happen to agree with the existing CodeSpells Canon, we will dub those works part of the CodeSpells Canon as well. CodeSpells: The Seeker will be the first work in the CodeSpells Canon.

What we want to see is a thriving ecosystem of CodeSpells Authored Works (whether they be "fan fiction" or "canonized works") all of which are 3D experiences about coding your own magic spells. As excited as I am about personally authoring works like CodeSpells: The Seeker and the many others I have planned, I want to empower others to make such works themselves. We'll facilitate this by maintaining the CodeSpells Authoring Tools and various resources for becoming part of the CodeSpells Canon: writers guidelines, lore references, art guidelines, free art you can use, API references, documentation, tutorials, sample works, a community of friendly people, links to works from our website, etc. We want to help great works get written and found. We want to build a community around making unstarted works started, unfinished works finished, bad works good, and good works great.


Meta-force and Metaphors Be with You

Some of you may remember the old days of Star Wars novels -- before Disney acquired the franchise. George Lucas's sci-fi universe was open, such that anyone could author a Star Wars book set in that galaxy far, far away. Certain works that wove themselves into the existing canon became canon themselves. I want to create something similar -- except not with novels, but with CodeSpells Authored Works.

So to summarize: CodeSpells is a community. And I'm going to do my best to create things that empower us. I have three such things planned:

CodeSpells has always been bigger than me. Together, we can make it bigger than all of us.

Now, finally, we are ready to answer some common questions...

Some common questions

Thanks for reading to the end. Here's some pie for you. I know I promised cake, but... the cake is a pie.

- Stephen R. Foster


P.S. Please consider supporting us on Patreon. We can't do this without you!