[ Part 1: Case Studies | Part 2: Summary ]
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.
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:
At my very first showing of Crescent Loom, a child walked up to my booth and said, “Is this Minecraft?”.
“Not quite!”, I replied, launching into my pitch. “It’s a game where you can build a creature and –”
But the child had wordlessly turned and marched away. He knew what he wanted, and was on a mission. I thought it was hilarious.
This last weekend, I brought Crescent Loom to Minefaire, a convention celebrating Minecraft. It was a chance for me to finally turn the tables on that child from so long ago.
It was by far the youngest group of people to play Crescent Loom so far, and I finally remembered to take pictures!
For the indie fund application, I finally cut together the first trailer since before the Kickstarter. It’s satisfying to look back and see how much I’ve refined my ability to pitch the game:
For your reference, here’s the first one, pre-Kickstarter:
- Shorter is better! I kept the length around one and a half minutes. Choosing a short music track helped force me to cut it down.
- Quality recording and editing software! It was so worth dropping $60 on a polished editor to avoid having to wrangle with encoding formats in Blender.
- Crescent Loom’s graphics have straight-up improved. Eyecandy isn’t just for fun; it’s a real investment in your future marketing efforts.
As far as the indie fund application goes, no dice on emailing their public-facing address. Turns out, as usual, you gotta network and approach people individually — or have them approach you. Private fundraising is still new to me, but since I’m now living in the venture-capital-crazy Bay Area I have a lot of resources I can tap into to learn.
One of the problems making creatures for races is that they’ll frequently get pointed in the wrong direction and get stuck on the walls, like so:
Real animals stay oriented with otoliths. They’re a bunch of cells in a membrane that physically deform when they get tilted or moved. By having patches of them in vertical and horizontal rings, we’re able to detect changes in the orientation of our heads:
An advantage of working in a 2D space is that I can simplify the system to only work on one plane: which angle the creature is currently facing on the screen. Here it is in action: a creature that I pull downwards is able to quickly straighten itself back out:
Implementing this required me to re-write a good chunk of the brain interface code because the sensor cells needed to be placed and moved as a single unit for organization’s sake:
I still need to do some graphical work to make it more clear where the sensor is & what angle is being measured, but this should allow people to dramatically improve the navigational capabilities of their creatures.
(This has only been added to the html5 and PC versions; as usual, mac & linux builds are gonna lag behind.)
Turns out asking for free money from the government is really hard.
The National Science Foundation has a program called the Small Business Innovation Research (SBIR) grant, whose “funding is intended to allow recipients to bring innovative new products and services to market that drive the commercial success of the small business.” Basically, if you’re working on some kind of new technology that advances scientific advancement or education, they can provide $225,000 (that you don’t have to pay back!) to develop it.
Obviously, this sort of thing is hella competitive and requires a lot of writing to convince them that you have a project that’s worth it. I spent the entire month of November building the grant from the ground up — fifteen pages of business plans, societal benefit justifications, market projections, budgets, and development milestones and timelines.
I don’t think I’ve ever done so much writing in such a short period of time, and had to get up to speed in areas I had no experience in. How the heck to you make a market projection? How do you calculate the cost of employee benefits? What organizations do you need to register your business with to interact with the government?
I had to ask for help, which can still be really hard for me. Drawing on Kickstarter backers, Portland devs, and the Reed community, I found people to help proofread, write letters of support, and edit the manuscript. And even with all this, I probably wouldn’t have been able to get it together if a developer friend I made through Playful Oasis hadn’t sent me a copy of her recently-successful application.
The difficulty of getting an SBIR grant weighed me down; what was the chances that they’d actually fund me? What if I was asking for all this help from people for a doomed venture? I had to make a rule to myself to not indulge in negative self-talk; I just had to press forward and focus on what I could learn about the process. I was gonna submit something by the deadline, gosh darn it.
And hey! The final product was actually pretty dang good, imho. It’s technically proprietary information so I don’t think I’m gonna publicly post the whole thing. However, if you’re working on a similar grant, I’d be happy to pay it forward and share it in private by email.
There’s a 4-6 month turnaround on these things, so now we’re just at the point where I’ve sent this off into the universe and gotta move on.
Other ca$h avenues:
- Applied for a dreamy job at Supergiant Games (Bastion/Transistor/Pyre). They’re an absolutely fantastic independent studio that happened to have a job opening that I’d love and fits my skills to a tee. If I started working with them, I’d put CL development on hold/weekend status.
- Gonna apply to the indie fund, a group of successful developers who invest in new developers. Being privately backed would add some constraints, which I’ve talked about, but I’m moving towards a commercial release anyway so I think the funding and connections would make it worthwhile.
- There’s a handful of more government grants out there that I’m gonna keep exploring and applying for as their deadlines approach. I’ll be glad to have done this first one.
This last week, I visited a high school in D.C. to informally demo Crescent Loom with students. A couple takeaways:
- Needs a lot more tutorials, still.
- Different people approach the game in very different ways. Some just click around to see what happens, others get the basic hang of things and then try to design for some self-made objective.
- Everybody loves it when you lay and egg and then your baby eats you.
- It’s actually a pretty flexible tool; you can use it to show different body designs, ecological interactions, and how different environments call for different strategies.
When I don’t know what to do with myself in situations, I just pop open my laptop and work on small features and bits of polish.
First, the difficulty in getting all the students’ computers set up with the game prompted me to make an installer for the game, now offered as an alternate windows download on itch.io.
Second, a feature that helps load creatures by filtering as you type:
Third, a new menu that lets you set up races:
Forth, painting + lights now listens to symmetry mode:
Finally, I’ve started work on an orientation sensor, with the idea that creatures will be able to use it to stay level. It still needs some significant work to be useful. You can see it here activate when the creature is pointing straight to the right (watch the graph in the bottom-right):
I think that it would be more useful to have an organ that detects the current orientation of the creature, instead of having just a single neuron activate at a set angle. So you’d place your orientation sensor on your creature (sort of like an “inner ear”) and array of neurons like this would show up in the brain:
But this will require some substantial work under-the-hood, e.g. linking multiple neurons so that they all get moved together, having a single organ create and keep track of them, and finding an initial open location for all of them. So it’s unlikely I’ll find the time to get all that set up until I’m a little more financially secure.
Turns out a lot of government grants want proof that people are interested in your project, so they’re asking me for testimonials. If you have ~4 minutes, could you take this survey?
Also, a couple Kickstarter plugs!
First up is NeuroBytes, which just launched today.
They’re working on the exact same problem as Crescent Loom: how to make neuroscience tangible? Only instead of with a video game, they’re doing it through making physical networks of circuit-board neurons.
Side-note: Zach Fredin (one of the creators) looks eerily like Tom Hanks.
Second is Nimbatus by my friends at Stray Fawn Studios, which already exceeded its funding goal in the week it took me to send this out.
If you like the building-stuff part of Crescent Loom but want A LOT more lasers, Nimbatus has gotcha covered. You can also set up some pretty sophisticated triggers to make them be able to navigate autonomously.
*** SURVEYS SENT, PLEASE FILL OUT YOUR SURVEYS ***
For backers with survivor/nemesis memories, I have the recording studio booked for next week. In order to get your memory voice-acted, you must fill out your survey by the end of this Saturday (Oct 14).
(if you need some inspiration, check out this sample of what people have submitted so far. They’re SO GOOD!)
Ditto with stickers; I want to start mailing them out, but only about half of y’all who get them have responded. If you haven’t responded by Saturday, their delivery will be significantly delayed until I get a chance to do another mass-mailing.
In the spirit of being-willing-to-admit-to-falling-behind, I’ve had scheduling problems with getting time on a laser, and am going to substantially miss my Nov 1st estimate for the Ramón y Cajal etchings. My new goal is to get them etched and shipped by Dec 1st — there’s just too much going on this last month, and this is the thing that gave out.
But here is the finished digital draft vs the original art! I’m going to etch at two laser powers; the darker shapes will be burnt deeper into the wood.
We’re in the final countdown. This is a list of my campaign promises to have done by November 1st:
[X] Game engine: brain + body editor [X] Basic gameplay: sandbox populated by online creatures (bonus: race mode!) [ ] Platforms: Win/Mac/Linux [ ] Backer content: cryopods, voice-acting, creature collaborations [ ] Physical rewards: stickers & etchings
I’ll be spending the last couple weeks getting it working on Mac/Linux (I got a Mac Mini off of craigslist last night!), adding the backer content (from those surveys you totally filled out), and shipping the stickers.
A difference between this and most other crowdfunding campaigns for video games is that I still don’t consider Crescent Loom “done”. I’ll be entering a phase of open development where I continue to work on it as time and funding allow. This Kickstarter was always meant to do just that: kick-start the game.
I’m pleased with how this year has gone. As far as I know, this is the very first biologically-realistic neural circuit simulator that can be used without technical training in existence.
Oh, and to top this all off, the cookie has crumbled and I’ll be moving out of Oregon (for the first time ever! o_o) and down to West Oakland… also on November 1st. Woop woop!
OMSI mini-maker fair one-year anniversary
It can get lonely working on something by yourself for a year, so the external-validation boost from showcases is always a welcome punctuation to the process. I can’t think of a more perfect way to get closure on a year of work than how this weekend went.
I’ve heard some skepticism that Crescent Loom would be accessible to younger audiences, that the process of weaving a functional brain would be too complicated for them. This weekend thoroughly vanquished that concern. This weekend, I saw players with a curiosity and willingness to experiment that led them to make creatures far more sophisticated than those made by older crowds.
Another lesson that I learned is that different people come to the game looking for different things. Kids that could barely hold a mouse had a blast just smashing creatures together like action figures.
My absolute favorite scene from the entire weekend was from the very last visitors to the booth, a father & son. The kid was having a lot of fun crushing/trapping creatures against walls. The father leaned down and started pointing at the brain, “Now, these are little bits of electricity that are being passed around-”
At which point the child just screamed, “I WANNA EAT IT!”
I almost knocked into a bystander from bowling over in laughter. Sometimes the universe just gives you little clear-cut cosmic jokes. I’ve been building up this complicated game with all these words and sciences and systems, and been trying to clumsily explain what’s going on, but people are going to come into it with very simple desires and an understanding based in their earthly humanity.
I wanted something exciting to make some gifs of, so I spent some time fixing and adding body parts:
1. Harpoon! Catch prey from a distance or just swing around like spider-man.
2. Sucker! Anchor to the ground or hitch rides on unsuspecting bystanders.
3. An inflatable balloon that lets you control the buoyancy of the creature / bounce along the ocean floor (pay no mind to the floating boulders):
4. A symmetry tool, finally. Making larger creatures that can swim straight suddenly got a lot easier:
5. I added the ability to pull specific types of creatures from the server. This allows me to automatically organize and add creatures by how they perform, which is key if I want to eventually set up some kind of natural selection (e.g. creatures that win races will show up in more races).
Cryopods & Creature Scale
As per the Kickstarter reward, I made a cryopod object that pops up the name of the person sleeping inside when you touch it. However, a friend pointed out that having a human-sized reference implies a scale for the creatures. Up till now, I’ve left it ambiguous, but now I have to choose. Are the creatures small, pet-sized beasties…
…or are they huge, tentacle’d monsters?
Last week I showed Crescent Loom at the Seattle Indie Expo (and it got some of the best, most enthusiastic responses yet!) and then came back to a Columbia Gorge On Fire. Needless to say, I got a little less in the way of development done than usual.
I ended up heading out to my parent’s house to be on hand to help with the evacuation if necessary, but thanks to the work of our firefighters (and a little luck), the fire didn’t burn any homes and is now stalled out. Yay!
OMSI Mini Maker Faire
I’ll be showing Crescent Loom at the OMSI mini maker faire this weekend (Sept 16 & 17). The mini maker faire last year was the very first public showing of CL, so this is officially the end of the first year of development!
Not too bad for a year of work. 🙂
1. Make game 2. ??? 3. Profit!
Before starting game development, I tended to have this notion that, once completed, art sorta existed in a vacuum. High-school-Wick at one point argued that you could seriously judge a piece of art on its own merits, regardless of the context in which it was created or the artist’s intentions.
I now appreciate how the environment that a piece of art is designed for totally dictates the shape of that art. These are design decisions that are so fundamental, that feel so natural, they’re invisible unless you’re looking for them. One of the reason Charles Dickens’ books are engaging is that he ends most chapters on a cliffhanger — due to the fact that he originally wrote the chapters for magazines and needed to get people to buy the next one.
In games, the most clearest example of this is the concept of “lives”. Needing to start a game over from the start if you fail a few times wasn’t something a designer came up with because they thought it would enhance the experience; it’s because it drove people to insert more quarters in the machine to buy more lives to continue their game.
An arcade machine’s entire design — lives, levels of increasing difficulty, high score lists, colorful graphics — is molded around its business model. This isn’t inherently a bad thing; you can find games that worked with this structure to tell a story (such as in Missile Command, which was developed during the height of the cold war and whose mechanics demonstrate the inevitability of mutually assured destruction). However, the structure itself is unyielding. The economics demand it.