Wicklog 19: Level editor & ghost bugs.

First, quick note: while asking around the edu tech community about how to proceed with CL, I met Mikael Uusi-Mäkelä, one of the people responsible for MinecraftEdu, and he asked if I wanted to write a guest post for the TeacherGaming blog. I wrote about the process that led me to convert my lab-based neuroscience into the game mechanics of Crescent Loom, which you can now read here.

Level Editor

The most consistent feedback I've gotten on Crescent Loom is that it's difficult to figure out how to get started. I limited the scope of the Kickstarter campaign to *just* making the game engine in order to ensure that I'd be able to deliver on-time, but this meant that I had almost no room to smooth out the learning curve. I still managed to make a basic get-started tutorial (voice-acted, no less!) but it's short and only scratches the surface of what's possible.

So: between my time looking for jobs/funding, I've started poking at how to make a more comprehensive tutorial that teaches skills in smaller chunks. My first stab at this -- setting up a level so the player just had to connect a pacemaker to a muscle in order to get a pre-made creature to move -- instantly hit a brick wall. I didn't have the tools to set up such a specific scenario. Y'see, up til this point, I've been setting up maps purely via script, like so:

I had to manually set the position and size of rooms, and the procedural generation meant that I had very little control over what they actually looked like. In order to make levels with defined goals, I needed to be able to place creatures, objectives, and obstacles. I needed a level editor.

In line with the principle of "do the minimum required work", I first thought about trying to set up a system where I could make levels in some other software. For instance, I've had luck before using a spreadsheet as a map editor, which would look something like this:

This might've done the job for now, but would mean that I wouldn't realistically be able to ever make it available for players to make their own levels. So I bit the bullet and mocked up an editor that could be included in-game, using the same style as the creature editor:

And in a couple days, I had something that ran! I can now manually create the terrain for a level. Next steps are placing creatures, objects, and setting up objectives.

It only breaks when other people look at it

So, remember last month's post about my programming language changing out from under me? Turns out that upgrading introduced some invisible ghost bugs that only reveal themselves at the most inappropriate times. As a starter, the game stopped working on some Windows 10 machines.

List of computers where it worked:

  • mine

  • the ones I co-opted from friends to test.

List of computers where it broke:

  • the big-name indie developer who's one of the gatekeepers for the indie fund

  • my science hero Eve Marder's lab computer.

A little embarrassing, but it happens, I guess. Rolling back to the old compiler seems to have made it more stable, as far as my limited testing equipment shows. My housemates have recommended that I look into some kind of automated testing service where I can try it on a whole bunch of different systems via the cloud (apparently that exists??), and making the game automatically send me crash reports. Ain't never done either of those, so it'll be a learning experience.

Anyway, I took the opportunity to release a new build with a couple other notable changes:


I knew that this was something I was going to have to do eventually, so past Wick did present Wick a huge favor and stored all of the voiceover files with their text & length in seconds. Adding subtitles was just a matter of breaking them up & displaying them in-game.

Brains are drawn on other creatures

One of the coolest parts of the game is that all creatures are controlled by the same brain system, so it's always been on my list to show that off by actually showing them. Harder than it sounds -- some old prototype architecture made it so I could only draw a single brain at a time. I smashed a LOT of systems apart with a metaphorical hammer and now have something a lot more robust.


I've also been connected to the Monument Crisis Center Youth Enrichment Program and agreed to do a workshop with CL in early April (they're super awesome folk, and run after-school programs and science resources). I'll be demoing the game to ~18 teens and then running a short competition to make the best swimming creature. It's particularly awesome because they're local and I'll likely be able to test future versions of CL as it develops.

Starting tomorrow, the Game Developer's Conference (GDC) is this whole next week. It's a huge meet-up in San Francisco for people involved in making games. Last year, I went in mostly blind. This year, I did my homework and am super excited to have set up some meetings with A+ interesting people also working in edu games. I think talking with them is gonna be critical in plotting CL's course.

March is also the 1-year anniversary of the Kickstarter campaign! Make a wish. ;)


Crescent Loom motivations


How Learning Games Get Funded, Part 1 — CASE STUDIES