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:

  • The CodeSpells Authoring Tools,
  • several CodeSpells Authored Works,
  • and ultimately the CodeSpells Canon.
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

  • Is it a game? Some CodeSpells Authored Works will likely be games.
  • Is it a sandbox? Some CodeSpells Authored Works will likely be sandboxes. The work I'm currently authoring (CodeSpells: The Seeker) is kind of "a sandbox with a story." Does that make it a game? I'm not sure. Works in the CodeSpells Canon need not be forced into society's boxes.
  • Will it have ice magic? Side note: Why are people so obsessed with this? Searching "ice magic" in my inbox turns up soooooo many results. To answer the question: Nothing in the CodeSpells Authoring Tools nor in the lore defined by CodeSpells: The Seeker will preclude having ice magic. So: Sure! Maybe! Given how excited people are about it, I suspect ice magic will find its way into the CodeSpells Canon.
  • Will it have a story? Everything I write will have a story -- but that's more because I've always loved good fiction and well-told stories, not because it's a requirement for a work to be in the CodeSpells Canon.
  • Will it have girl wizards? Will it have dragons? Nothing stopping these! I would predict that the CodeSpells Canon will have both.
  • Will it be moddable? The CodeSpells Authoring Tools will let people make 3D experiences which are, themselves, modifiable: both from within the game (as spells) and from outside of the game (as mods). So yes: every CodeSpells Authored Work can have additional mods. These mods can even become CodeSpells Authored Works too. I will likely invite people to mod CodeSpells: The Seeker however they wish when it is released.
  • Why can't you write spells in Python/JavaScript/Ruby/Haskell/Cobol/etc? Well, you can, I suppose. The CodeSpells Authoring Tools will allow spells to be written in any language or even in multiple languages. Initially, I'll be supporting programming languages that I create myself. I'll be creating ones that seemlessly integrate with the stories I want to tell in CodeSpells: The Seeker. And the CodeSpells Authoring Tools will allow authors to create programming languages that fit with their stories too. If developers want to use Python, they can. It will be as simple as writing a REST API client in Python. (Note: I would likely not canonize a work that uses Python/JavaScript/Ruby/Haskell/Cobol for spell crafting unless your lore convincingly explains why a programming language invented on the planet Earth is what wizards of your story use for spell crafting.)
  • It is appropriate for my three-year-old? If someone authors a CodeSpells Authored Work for three-year-olds, then... yes.
  • Can I have 10,000 free copies for my school district? I plan on releasing most of my CodeSpells Authored Works for free. So yes.
  • Why haven't you added ice magic yet? OMG, if another person asks me about ice magic, I'm going to permanently ban ice from the CodeSpells Canon.
  • Will it be more like Avatar: The Last Air Bender or Harry Potter or The Lord of the Rings or The Wizard of Earthsea? Stay tuned. One of the reasons I'm writing CodeSpells: The Seeker is to create a point of reference for the general "feel" of CodeSpells Authored Works. That said, I envision the CodeSpells universe as more of a multiverse -- infinitely large and diverse. So I suppose you could author a work where wizards are all rubber duckies, or where all spells pertain to apple pie, or where coding takes the form of farting into bottles. But works that resonate well with CodeSpells: The Seeker and other canonized works are more likely to be dubbed canon. Spoiler alert: There will be no rubber duckies, apple pie, or bottle farts in my works. Well, okay: Maybe apple pie. We'll see.

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!



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:

  • The CodeSpells Authoring Tools,
  • several CodeSpells Authored Works,
  • and ultimately the CodeSpells Canon.
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

  • Is it a game? Some CodeSpells Authored Works will likely be games.
  • Is it a sandbox? Some CodeSpells Authored Works will likely be sandboxes. The work I'm currently authoring (CodeSpells: The Seeker) is kind of "a sandbox with a story." Does that make it a game? I'm not sure. Works in the CodeSpells Canon need not be forced into society's boxes.
  • Will it have ice magic? Side note: Why are people so obsessed with this? Searching "ice magic" in my inbox turns up soooooo many results. To answer the question: Nothing in the CodeSpells Authoring Tools nor in the lore defined by CodeSpells: The Seeker will preclude having ice magic. So: Sure! Maybe! Given how excited people are about it, I suspect ice magic will find its way into the CodeSpells Canon.
  • Will it have a story? Everything I write will have a story -- but that's more because I've always loved good fiction and well-told stories, not because it's a requirement for a work to be in the CodeSpells Canon.
  • Will it have girl wizards? Will it have dragons? Nothing stopping these! I would predict that the CodeSpells Canon will have both.
  • Will it be moddable? The CodeSpells Authoring Tools will let people make 3D experiences which are, themselves, modifiable: both from within the game (as spells) and from outside of the game (as mods). So yes: every CodeSpells Authored Work can have additional mods. These mods can even become CodeSpells Authored Works too. I will likely invite people to mod CodeSpells: The Seeker however they wish when it is released.
  • Why can't you write spells in Python/JavaScript/Ruby/Haskell/Cobol/etc? Well, you can, I suppose. The CodeSpells Authoring Tools will allow spells to be written in any language or even in multiple languages. Initially, I'll be supporting programming languages that I create myself. I'll be creating ones that seemlessly integrate with the stories I want to tell in CodeSpells: The Seeker. And the CodeSpells Authoring Tools will allow authors to create programming languages that fit with their stories too. If developers want to use Python, they can. It will be as simple as writing a REST API client in Python. (Note: I would likely not canonize a work that uses Python/JavaScript/Ruby/Haskell/Cobol for spell crafting unless your lore convincingly explains why a programming language invented on the planet Earth is what wizards of your story use for spell crafting.)
  • It is appropriate for my three-year-old? If someone authors a CodeSpells Authored Work for three-year-olds, then... yes.
  • Can I have 10,000 free copies for my school district? I plan on releasing most of my CodeSpells Authored Works for free. So yes.
  • Why haven't you added ice magic yet? OMG, if another person asks me about ice magic, I'm going to permanently ban ice from the CodeSpells Canon.
  • Will it be more like Avatar: The Last Air Bender or Harry Potter or The Lord of the Rings or The Wizard of Earthsea? Stay tuned. One of the reasons I'm writing CodeSpells: The Seeker is to create a point of reference for the general "feel" of CodeSpells Authored Works. That said, I envision the CodeSpells universe as more of a multiverse -- infinitely large and diverse. So I suppose you could author a work where wizards are all rubber duckies, or where all spells pertain to apple pie, or where coding takes the form of farting into bottles. But works that resonate well with CodeSpells: The Seeker and other canonized works are more likely to be dubbed canon. Spoiler alert: There will be no rubber duckies, apple pie, or bottle farts in my works. Well, okay: Maybe apple pie. We'll see.

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!