Let There Be Level Components

Hey Backers!

We apologize for the radio silence, about six weeks ago a company called Leap Motion approached us with a business opportunity we couldn’t pass up. They make a neat little motion control device, and wanted us to create a launch title for them. Fast forward a few weeks later, and we’ve got a cool little multiplayer experience called Shimsham: The Legend of Jazz Hands. It’s not playable without the Leap Device (yet…), but check out the trailer and make sure to give the jazzy soundtrack a listen!

Anyhow, we’re back in Duet land, and are happy to say that we’ve made quite a bit of progress on the level editor thanks to a new menu system. We’re calling it Designer, and are integrating it into Duet. It will allow level designers to drag and drop the various level components (controls, obstacles, goals) into levels and adjust their starting parameters (color, player ownership, size, rotation, etc.). We’ve also built in both mouse and controller support.

Duet Designer Preview

We want players to be able to create and share their own challenges with their friends and the world, so we’re making the level editor a fundamental part of the game.

We’re also currently working on integrating the level creation and sharing process with Steam Workshop, the system used for user-created content in games like Portal 2, Civilization 5, Scribblenauts Unlimited, and a growing number of games.

Duet and Multiplayer Prototyping

So, Duet’s development has been taking a lot longer than we ever really anticipated. What the hell has been the major challenge? The simple answer: networked multiplayer prototyping. Before we did any core development, we made everything we needed to connect a player and get into a game. This seemed totally logical at the time, but in retrospect it was a huge mistake.

internet 240x240

When you’re creating a game, you want as much freedom as possible to test out new ideas. If you’re testing your game in a networked environment, you need to run two instances of your development software or have two machines. At the same time, you must also make sure that both of those instances are running the latest code (which probably just changed two seconds ago). If you’re running two windows on the same machine, it’s very easy to forget to update, and then start changing code in the wrong, out-of-date window. This is silly and frustrating, it makes you feel dumb, and it’s also completely unavoidable the longer the day wears on.

After all that is said and done, you then need to create a room and join it. The simple answer there: make a default room your code joins. The problem: each developer then needs a separate room and has to maintain an individual codebase. All these things are very simple and trivial until you add them all together.

multiplayer x240

Funnily enough, there’s a really easy answer to all of these problems: when creating a brand-new, experimental multiplayer game, make it work locally on the same machine first. This is WAAAYYYY easier to develop and cuts down your testing time immensely, getting you your game faster. And besides, I think local multiplayer is more fun.

Create Your Own Levels in Auditorium: Duet

When we were making Splice, we created an in-game level editor for ourselves so we could jump into any level and modify it while playing. The editor was a simple drag-and-drop interface for creating and deleting nodes, and it was super streamlined and convenient. We were sad that our players never got to use it. We’re hoping Duet will be a different story.

duet level editor x240

We’ve created a similar level editing system for Duet, both to simplify our own level-making process, and to allow players to create their own levels. The in-game editor allows you to drag-and-drop streams, controls, and obstacles into the level, or modify and destroy any of these elements at will. Auditorium: Duet will be a creative exercise both for us as developers, and for players, too.

Here’s a sneak peak at the level editor:

The Cooperation Continuum

This past week we’ve started getting into the nitty-gritty of cooperative puzzle play.

Before we try adding any genre-bending features to Duet, we want to nail down cooperative puzzles that extend the original Auditorium’s gameplay. To do this, we have to figure out where we should place the game on the continuum of styles of cooperative gameplay.

duet cooperation continuum

The Continuum: Almost Zero to Total

At one extreme, we could have two completely separate games that are being played at the same time. Player Blue and Player Pink would have their own streams, controls, obstacles, and goals. The shared aspect of gameplay would be limited to the gamespace or playtime. Call this “Almost Zero Co-op”.

At the other end, Player Blue and Player Pink could share everything that exists in the game. Either player could move around any control and bend any stream of particles. They could both support and interfere with each other’s work. This is “Total Co-op”.

And all along the middle of the continuum are various types of gameplay where certain things “belong” to a single player and other features are shared between them. One example: the two players each deal with their own streams using their own controls, but they share the playing field’s obstacles and goals. Certain gameplay options could increase or decrease the level of cooperation. There might be a way to pass controls from one player to another, or there might be environmental obstacles that pass a stream from Blue-space to Pink-space.

Players Need Some Personal Space

The cooperation continuum could also be described as how much “personal space” or “freedom” you give to a player.

Every co-op game will have a different sweet spot. Duet probably won’t have Almost Zero Co-op, because while it might look pretty and work smoothly, it wouldn’t advance the original game all that much. On the other hand, Duet will also probably not have Total Co-op, because the original gameplay is highly “fiddly”. Think back to how the smallest actions could drastically change the particle streams in the original. Now imagine trying to do same thing with another person you can’t talk to. Duet players will need some personal space.

Duet preview

Open-Ended Coding

What this means from a programming perspective is that we need to make sure that all these things are toggleable. We need to be able to turn the shared states of different game elements on and off on the fly. Having all the toggleable states also gives us the potential to shift that cooperation continuum “slider” one way or another over the course of the game. Being able to set up these different game possibilities quickly and easily will allow us to test all these different games much faster. The only way to see if something is fun to play is to play it, and there’s quite a bit to play.

 

No Need to Construct Additional Pylons

For the past week, most of Cipher Prime has been out of the office, celebrating Nikko‘s wedding and catching some tasty Cali waves. Excuses, excuses.

But rest assured, I’ve been holding down the fort, and have even found a way to use the solitude productively: I’ve been creating a new server-side build manager for Unity.

As it stands, every time we need a new build of our games, we have to get one of our devs to drop what they’re doing, change a bunch of settings, build on their machine, and distribute the build internally for testing. And if we need to submit a build for contests while in the middle of production, it gets even more time-consuming and prone to user error.

Pylon: Build Orders Made Easy

Build orders made easy

To solve this problem, I built Pylon, a build manager that interfaces with Unity Asset Server to compile builds server-side. All you have to do is note what platforms you’re building for, name the build, and press a button — bam, go get a cup of coffee while the server generates your build. You can even select which revision you want to build, which is helpful when one of your guys breaks the build but you still need a working copy to send to press.

Once the builds are complete, they are then neatly organized by project, and the server generates trackable download links that can be used internally or emailed to select people:

pylon 2 x240

I’m looking forward to getting this battle-tested when the team returns next week. As we progress with Duet, I’m expecting this server to save us hundreds of man-hours normally wasted on the build process.

Why “Pylon”?

Because we play too much StarCraft II. Naturally, I named the server after the Protoss structure that enables you to build more units, the “pylon”.

starcraft pylon x240

With Pylon, I’m hoping we’ll execute our build orders as efficiently in the office as we do in StarCraft. And if all goes well, we may decide to release this as a product for Unity users everywhere. But let us break it first — I wouldn’t even consider this alpha level software yet! We’ll keep you posted. 

Out of the Rectangle

auditoriumPanning

In the original Auditorium, the gamespace was just a single black rectangle. Although we’ve always been happy with how Auditorium turned out visually, we also think it would be fun to create a gamespace that gives players more colors, particles, and music!

So one feature that we’ve been prototyping (and we’re feeling pretty good about it so far) is a movable camera that lets Duet players move around a space that’s much more expansive than Auditorium’s gamespace. The GIF above demos this feature: players will be able to pan the camera and see different areas of any particular level.

The extra space will make it easier for two players to share the same level, and it’ll also give us more creative potential for making awesome puzzles and colorscapes. We haven’t yet decided what degree of camera freedom to use in puzzles, although we’re currently leaning towards a “horizontal” gamespace.

The Birds and the Bees

Where do Cipher Prime game ideas come from?

What we love most about being a game company is bringing our crazy ideas to life. When we’re not doing our “normal work” (chipping away at our main studio project, dealing with customer support, yelling at each other, etc.) we’re making silly little prototypes for fun.

But every so often we’ve got to knuckle down and make a cool product. So how do we do it? And how has our process changed over the years?

Auditorium

Cipher Prime started out as an interactive media company, doing Flash and other web development work. At that point, games were just a twinkle in Cipher Prime’s eye. Long story short, Auditorium began as a very different experience from what it is today. Young Dain and Young Will explain it all in this video (1:40-2:40):

Fractal

Our sophomore game, Fractal, was a more “traditional” creative experience, since we tried to design it from the ground up. It began as a competitive multiplayer arcade game, with everything prototyped out on paper, but ended up having something of an identity crisis as each member of the team gravitated toward making their own vision of the game. Fractal’s present-day arcade mode, puzzle mode, and campaign mode were each refined by different team members!

Fractal on paper.

Wanting to unify the creative process, Cipher Prime team members agreed in the future to make a prototype first, then show it to the team. If the team likes it, the team builds on it.

Pulse

Will drew the concept for Pulse out on a napkin. Nobody else thought it would work as a game. I mean, come on–it was on a napkin. So he built it out in Flash, along with a level editor. By forcing the rest of the team to play by tapping the dots in time to the music, Will convinced Cipher Prime to do its first rhythm game.

Splice

In 2011, Cipher Prime attended the Indiecade festival in Culver City, California. While there, Dain ended up coming down with a pretty terrible fever and was stuck in his hotel room the entire weekend. So what do you do when you’re stuck in the middle of a game development convention, having fever dreams about rearranging binary trees? You make the prototype to Splice. Afterward, he pitched it to the rest of Cipher Prime, and we ran with it.

original splice

Feedback and Intake

Our two pre-production games for Auditorium: Duet (Feedback and Intake), were initially based off designs made by Will. For Feedback, Will came up with a radial pong design, Andrei built out the first prototype, and after joining the team, Aaron rebuilt it from the ground up. Intake, likewise, was actually based on the first game that Will ever made! The team took on his game concept and fleshed it out as a Cipher Prime title.

Feedback and intake.

Duet!

So, what are we doing with Auditorium: Duet? Well, we’ve already got a very basic prototype (the original Auditorium), and we know the feeling that we’re going for: a rewarding, cooperative multiplayer experience. We’re big fans of iterative development, and we like “proving” ideas to each other by building them out and making sure they feel right.

We’re building Duet through feature-based prototyping. We have a bunch of ideas for how we want to extend Auditorium, all of which are varying degrees of crazy: new visual styles, new camera motions, new controls, and new genre-bending experiences. But we’re implementing them slowly, as a team, and making sure that they work.

Welcome to Dev Notes!

Welcome, Bienvenidos, Bienvenue, Willkommen, Witamy Was, Добро пожаловать, 欢迎, ようこそ, Pe’el!

thisisdevnotes

We’ve gotta admit it, Backers, but we’re pretty private people. So this Dev Note Access thing is kind of a big deal for us.

We usually don’t do sneak peeks, because so much can change during the development process and we are never done until we’re done. We’re kind of sensitive to critiques (we’re even harsher on ourselves), so getting to that mythical end point doesn’t happen quickly or easily. It’s more like…what’s the word? Ah yes — painful.

But we really, really appreciate all your help! Like, REALLY appreciate it, so we’re going to suck it up and let you guys in on the process.

Here’s what you should expect:

  • Weekly updates.
    • Every Friday, starting this Friday.
  • A wide variety of media.
    • Sometimes, you’ll get blog posts. Other times, music. Pictures. Moving pictures or even “talkies” (we’re on the bleeding edge). Downloadables. Non-downloadables. Kittens.
  • A wide variety of content.
    • We’re gonna give you tech wizardry. Concept art. Timelapses. Melodies and rhythms. Stories. Fireside game design chats. Pie in the sky feature dreams. Soul crushing game development realities (e.g. ever receding deadlines). Sweet, sweet information. And even more delicious nonsense.

We can’t promise a ton of meaty content every week, because we’ll just be siphoning off precious, precious development time. But you’ll get something, and we hope it’ll pass your muster!

So stay tuned!

Kickstarter Update #16

First, Will and Dain talk about where we are with Duet:

Second, the takeaway:

  • Duet production is in full throttle. We’re partway through several weeks of prototyping. We have a rough recreation of the original game in Unity, and are deciding how to build on that.
  • Our estimate of six months to a year (September 2013 to March 2014) still stands, we’ve just gotten off to a late start.
  • Sorry for the delay! Splice was unexpectedly successful for us, and ports, bundles, and showcasing took up a huge chunk of our time this past year. We ended up with some great business opportunities we just couldn’t pass up.
  • Sorry for the delay, again! We wanted to smooth out all the kinks of having a bigger team, so we focused on two pre-production projects for several months (news on those later). We’re better developers and a better team thanks to the work.
  • Dev note access is live, backer tiers with dev note access will receive a message with more info. Physical rewards are getting mailed out, and/or created, and/or double-checked against the naughty/nice list. (We’re watching!)

P.S.: The song in the video is part of the second movement of Dain’s magnum opus, “La Ballade de la Chatte Grincheuse” (The Ballad of Grumpy Cat).

Image-237382-full

Image-237384-full

Image-237392-full