NOTE: The horrible formatting of images and video within this article are the results of Kotaku's awful platform known as Kinja, and its inability to understand how proper formatting works. All concerns and complaints about the formatting of this article should be directed to Kotaku/Kinja staff. As I'm currently recovering from surgery, I am unable to do another blood sacrifice to figure out what Kinja's problem is this week.
Welcome to another edition of Indie Delve! My way of indulging in and sharing my love for indie games and indie developers.
Today we have something that hits a lot of special chords for me. I've always been enthralled by the idea of magic. From my roles in pen & paper (P&P) games as god like mages, to spellswords that would literally fly through battlefields while spinning two swords wildly at anyone who was unlucky enough to be within their path. To all the MMO's I've played, taking on the role of a druid, a wizard, a necromancer, a cleric. My love of the idea of magic even follows with me into the more passive entertainment I enjoy, such as books by Neil Gaiman, or the Dresden Files series by Jim Butcher, and the fantastic podcast Welcome To Nightvale.
Magic is interesting. The idea of being able to bend the universe to your will is something everyone can at least see the appeal of.
One thing that I've always felt video games missed, understandably, is allowing you as the player to actually be that amazing magic user that you can be in P&P games. In P&P games, you're presented with a universe that, so long as the Game Master allows it, can be entirely changed in any way you come up with. The only boundaries are your imagination. In video games, you're presented with someone else's universe and only allowed to play within their pre-defined rules.
Now as I said, this is understandable. Games are as much about limiting players as they are about giving players freedom. Creating a game is, essentially, creating another universe. One with rules and limitations that you define, but are still limited by what your technology can do. So to be able to allow players to manipulate and change your game world, in a vastly significant way, very possibly ending with a result that is nearly nothing like what was started with, is a gigantic order.
Well, CodeSpells has stepped up to fill that order and it has me as excited as a mage casting their first Magic Missile.
Originally started by Sarah Esper & Stephen Foster as a PhD research project while at UC San Diego, CodeSpells was first conceived as a way to teach kids programming. Using a scripting system comprised of blocks that snap together a bit like LEGO pieces, it allowed kids to ease their way into the thought processes and language of coding, rather than getting overwhelmed by being thrown into a pile of letters and numbers that look like an alien script.
These scripting tools allowed the children to alter the worlds they were presented with through empowering their character however they saw fit. Want to fly through the air and look around the world? Great! Put some blocks together and now you can fly! Want to make a lake? Awesome! Make yourself a power that lets you manipulate the geography, and then a power that lets you create water at will! Hey, you could even freeze that lake and then skate around on it! By moving closer to the limitation only being their own imaginations, the children were free to explore, experiment, and learn in the process.
The results were so positive that the system is now being developed into a full fledged game that will appeal to children and adults alike.
As I said earlier, this game strikes a number of chords for me. I'm a huge proponent of education. I grew up in a situation where programming and game design was out of reach, as it required a lot of money to go to specialized courses (only one of my schools had computers, and all that they taught was typing). With CodeSpells' accessible retail price point of $30 (currently offered for $15 for Kickstarter backers), this could help get kids interested in programming and game design very early, and keep them eager to pursue it. Add in that other parts of the game development market are becoming more accessible to the general consumer (GameMaker, Unity, UE4), a kid who gets the opportunity to have their passion for programming and development ignited by CodeSpells will have a much easier time actually achieving that goal, even if they don't have money for specialized classes or colleges that offer courses in computer science or game development.
Plus, CodeSpells looks like a ton of fun; Even if you're not interested in pursuing programming or game design beyond it, the system seems like it'll be a great sandbox to play in. A sort of magical-Minecraft if you will. Which is absolutely the best way to do any sort of game that has an educational element to it. Don't try to 'hide education in a game', make the education itself fun. CodeSpells seems to be right on target for that.
I got the chance to talk with the devs about the project so far, and their plans on taking it forward.
How long has CodeSpells been in development, and when did it shift from simply being an educational tool to a full fledged game?
Sarah Esper(Lead of Curriculum & Education) - CodeSpells really started with Stephen Foster's undergraduate work at Southwestern University in Texas. With a team of students, he began developing OpenMetaGame, a video game where you could code your own video games. OpenMetaGame development petered out when Stephen left Southwestern for graduate school, but the work inspired the CodeSpells project. Stephen and I started our development of CodeSpells in 2011. It wasn't until this year though that CodeSpells became much more than just an educational game. Adrian and Jason have brought a completely new vision to the project!
How has the response from the gaming community been? What about educational bodies, since it is a learning game?
Stephen Foster(Project Lead) - The response from the gaming community was remarkable! We were Greenlit on Steam in the first 9 days of the campaign, and we've received a landslide of positive comments from gamers. Interestingly, a lot of our backers are gamers with some (or a lot of) experience in programming. Because these gamers already have some of the skills, they can easily envision how a game like CodeSpells would be super fun!
We've also received a lot of positive feedback from the educational community though! A lot of teachers have approached us, interested in teaching coding through CodeSpells in their classrooms! And many philanthropists, who understand the lack of coding education in schools currently, are interested in gifting CodeSpells to their local schools & school districts!
So it seems like we have a mixture of people interested in the entertainment value & educational aspects!
When a player starts a new game of CodeSpells, what will they be jumping into? You've stated you have procedurally generated worlds planned. Will there be some sort of narrative or goals within the game to teach and drive the player forward? Or are players just going to get a big open playground to run around in while they try to figure things out on their own?
Jason Rosenstock (Lead Artist) - The target for the player experience obviously changes as we hit more of our stretch goals, and our designs are still changing as we see what works. Making a campaign creates mountains of work, so we do not have plans for a narrative to drive the player, but more player-driven goals that are supported by the world's systems and the spellcrafting mechanic, similar to something like Minecraft. We are getting there by making sure we have a few core, powerful, "big ideas" in place.
The first core idea is that you will start the game and find yourself in a world of procedurally-generated "living" systems: Water trickling down from the heights, pooling together into streams, settling into lakes. Cliffs towering above, boulders and sand sediment having settled in below. The air heated by the sun, plants growing where there is moisture in the air. We want the player to walk around and discover the ways nature behaves in the game. Which means it must behave simply, in ways that make sense to the player quickly, so they can get right in and manipulate them.
The second core idea is, of course, the spell-crafting. Making sure the player knows what they have control over with their spells and how far they can take their magic. We want these boundaries to be extremely clear for the player, so that they can focus on making their spells as clever and complex as they can within the confines of the world. To me, a wizard is someone who understands the world (and how it works) so well that they can manipulate it with elegance. Just like intuitively knowing your jump height in a platformer is important for speedrunning, or the recipe for a pickaxe is crucial for survival in Minecraft, we want there to be clear, natural goals for the player that make them feel progressively cooler the longer they play. We are still figuring all of these out!
When I first saw CodeSpells, my mind immediately started thinking about implementing the spell building system into a narratively driven, more standard sort of RPG. Have you guys had any thoughts about licensing the CodeSpells system for others to develop with? Have you had anyone approach you about doing anything like that?
Adrian Lopez-Mobilia (Lead Developer) - We've had people approach us about doing something like this for sure, and we do like the idea. The biggest problem is that we're a small team, and we want to focus on the main vision of making a fun game. Releasing a system to other developers where they would have even more layers of things to work with involves another level of support on our part, and right now we really want to build out the core engine of the game. Our main goal is to see how much freedom we can give within CodeSpells first, and then see where it goes from there. That will help refine all aspects of the game, including the coding interfaces. The hope is for it to be possible to make an RPG inside of CodeSpells if we can get the development that far. Maybe someday in the far future we can open up the game more so that developers have more power, but for now we want to stick to the vision of making it a complete game with incredible amounts of freedom within it.
You've mentioned that people will be able to share spells that they've built, what platform is this most likely to take? Are you thinking an in-game system or Steam Workshop support?
Adrian Lopez-Mobilia- Our plan is to have an in-game market. We haven't figured out all of the details of that yet, but we are definitely considering Steam Workshop integration as well. Players will definitely have the ability to share the game modes that they have created and the worlds they've been playing in. As far as character customizations, we're still deciding on what level of programming there will be to that. If we do add the ability to script your robes or appearance at all, then we would definitely want to make those customization scripts available to share as well. As far as gameplay, the idea would be that certain game modes might not allow any pre-made spells, whereas others might be completely fine with it. Some servers could even define what specific spells all players can use, and not allow any changing of those spells. The idea will be to have the players customize the experience to what they want to get from the game, whether it be learning to program, battling other wizards, or just exploring procedural eco-systems. In terms of selling spells, we haven't talked too much about this yet, but it would be pretty cool to reward players that are making really cool spells in some way!
A huge undertaking you guys have touched on is adding life into the game, and the ability for players to create and manipulate life as well. Could you touch on what you've explored with this so far, and give some insight on how large of a development processes just this element is, for those who may not be too familiar with programming or game development?
Jason Rosenstock - I want so much for us to hit that stretch goal! It is a massive undertaking from both a design and production perspective. It's like adding another world to the world of the game. Here are some ideas we have deliberated over already, and there are many more hidden as you go deeper into each aspect!
As far as design, Life is basically a whole other layer of interconnected systems. It is, by nature, mercurial and unpredictable. We will, like all the natural systems of the game, have to simplify it enormously. A river flows down from a cliff, because of this plants grow where humidity reaches a certain level, herbivores compete to eat those plants (and are specialized to do so), predators feed on those animals (and may threaten the player, too!) If the player moves that river with water magic, the humidity drops and the whole ecosystem changes, those critters possibly move around on the map, looking for other food. Now you have beasts fighting for limited resources. Chaos! Those systems must be able to balance back out, and once again, it all has to work in a way that makes sense to the player in a simple way. If the player uses life magic to communicate with these life forms, or changes one thing about their behavior, everything must be affected in a meaningful way. Its fun to think about, but it's a lot of work!
As far as production, there is the task of making (modeling, texturing, animating) all these creatures. We want biodiversity, so that is a huge amount of work. A great point of reference (and huge inspiration for the game) is The Dark Crystal, which has its own fantastical, interconnected web of life that plays out in the background of the film. Each animal or plant has to feel like it makes sense next to the other. Making a great artificial creature or plant is more than just making it move and look convincing, it has to behave and react to the world in ways you believe, or else the whole thing crumbles.
You guys have a number of really exciting things listed for your stretch goals (life being one of them). If you happen to fall short of any of those, but CodeSpells does well after official release, are you guys hoping to be able to implement those elements into the system later on?
Lindsey Handley (Lead of Marketing & Business) - Yes! CodeSpells development will be on-going. While we don't expect this Kickstarter to fund every stretch goal we have, we are confident we will be able to secure more funding in the future. For example, we plan to reinvest funds raised by selling the CodeSpells game after the official September 2015 release into developing the game further. In addition, our company, ThoughtSTEM, has received a National Science Foundation (NSF) grant for CodeSpells previously, increasing the likelihood the project could get funded by the NSF again! The NSF is very interested in seeing advances in tools to teach coding.
I'm assuming you're planning on releasing CodeSpells for PC. What are you guys planning for distribution? Has there been any talk about trying to implement the game for consoles at all, later on down the road?
Stephen Foster - We're planning to release CodeSpells through Steam for PC, Mac, and Linux, for our Alpha, Beta, and our "final" release in September 2015. We've strongly considered releasing CodeSpells on other consoles in the future, but we'd like to develop this version of CodeSpells (the one distributed through Steam) to a point where it's a fully-functional & super fun game.
You can head over to CodeSpells' Kickstarter and help them out, and even get yourself a copy of CodeSpells for 50% off the final retail price!
If you have any positive or negative thoughts about this article, or would like to see more Indie Delves from me, let me know in the comments.