Monster Want Burger now on iOS!

Remember our silly little mini-game, Monster Want Burger? Well, we’re happy to announce it’s now available on iPhone and iPad!

Monster Want Burger! 720p

IMG_1986Not only that, we’re featured in “Best New Games!” At its core, Monster Want Burger is an extremely cute game where you make burgers for a hungry monster. We’ve added a lot of cool little features, including a custom burger naming algorithm. But probably the most important thing is how many “firsts” we had with this game. Monster Want Burger is:

  • Our first self-published iPhone game!
  • Our first game aimed towards kids!
  • Our first game with a character!
  • The first time we made all our assets inside of Unity3D (using some cool new tools we’ve been working on…)
  • The first time we’ve released a game made for a Dev Night Game Jam
  • The first time we self-published a desktop game as pay-what-you-want through our own distribution method
  • And last but not least, Cipher Prime’s first released mini-game!

Thanks for being with us for so many first time events. Go grab Monster Want Burger now on iPhone or Desktop! And if you can, !



A new player has connected.

connection_foundA few months back, we received an email with a strange request. Admir is a Steam gamer, who described to us an uplifting friendship he’d developed over two years with a fellow gamer, Lina. He spoke wonders of her tirelessly cheerful personality and the positive affect it had on his life. As it turned out, Lina is a fan of Splice — and her birthday was fast approaching. He wondered if there was any way we could help him show his appreciation. The line that did me in was:

“Her name is Lina and she is someone who influenced me and changed me for the better and I couldn’t be more happier that I know her.”

And something about people coming together through games to make each other better people just resonated with me on that particular day. So, feeling inspired, I wrote a small piece of music for Lina, in the style of Splice. (From what I hear, it was very well received)

Within our community, we all know people for whom the unforgiving pressures of life and industry prove to be too much to handle alone. And often, when we need a helping hand or a kind word, we find it altogether too easy to become more withdrawn and isolated, stubbornly maintaining that our problems are ours alone. It is in those moments that we need each other the most.

Games can provide distraction, yes. But they also provide a space to connect. For one of our games to be part of that connection, no matter how small, is an enduring reminder that we all possess the ability to bring joy to each others lives.

Why do I make games? For simple, human moments like this.

Happy birthday, Lina!

Permission, Dedication, and the art of Game Jams.

For over 3 years now I’ve been hosting a weekly event in Philadelphia called Dev Night. The main purpose of this event is to help grow and centralize the gaming community in Philadelphia. One thing above all others accomplishes this task: our Monthly Game Jams.

What is a Game Jam?

For people in the gaming industry, the term “Game Jam” means a ton of things. But what game jams do very well is bring people into the community. So what is a Game Jam? It’s an event where people come together to make games based around a theme in a very short amount of time. Some times you have 1 hour (Zero Hour Game Jam); sometimes you have 48 hrs (Ludum dare). Other times, you don’t know what the hell you’re going to get (Philly Dev Night).

Why do we Jam?

I run a game studio called Cipher Prime, organize events like the Geek Awards, and manage the Philly Game Forge. My day-to-day is always crazy and involves a lot of disciplines. I also have to be quite resourceful with my use of time. Holding back on experimentation helps me finish my goals faster most of the time. But, experimentation in my craft is what makes me better and sharpens my skills. Game Jams are not just something I want to do, they’re a thing I need to do. If I want to get better, I need to take risks and I need to work under pressure.

Why does it work?

We’ve all heard the saying, “Practice Makes Perfect” and a lot of us have also heard,”Perfect Practice Makes Perfect”. We’ve heard Malcolm Gladwell talk about the 10,000 hour principle in Outliers, and we’ve read inspirational books by Tim Ferriss. But, what really helps motivate me and most of the people I know is *proof*.

Loish is one of my favorite digital painters. But she didn’t start off brilliant. She started off with passion, and became amazing through dedication. I recently did a talk on this concept: Dedication over Motivation. The games industry is rather new, so it’s hard to have 100’s of examples of qualified growth. In the BuzzFeed era, we readers and consumers seem to need everything in quick graphs. So here is the growth chart that Loish did, that chronicles her growth from 2003-2014 .

Yeah, it’s awesome. But guess what: Your games can improve like that too. Here is a screenshot of my first game I made in 2004 called BBO. And here’s the remade version called Intake made in 2013.

@willstall - 10 years of game design


Also, Game Jams are about finding the people in your life who are going to inspire you to become better. As you grow, so will those around you. Game Development is a Coop Team Game and you’re going to want those skilled friends once you start tackling some seriously large projects.

Why doesn’t everyone do them?

All the time people come to me and say there is no way they can make a game. It seems like people need permission to even try. For all those people, game jams are my way of saying, “I’m giving you permission to be great.” If you came up to me at Dev Night tonight and told me you couldn’t make a game, I’d ask you if you ever played tag, or checkers, or any other type of game that’s ever existed. Eventually, you’ll say yes. Then, I’d challenge you to make a “house rule” for that game. Most people already have these for their favorite games. Good news folks: you’re already game designers.

The Challenge

For everyone who is interested, I’d like to challenge you to be a better you. Do the thing you love; monthly at the very least. Test yourself regularly and set some goals. If you love making games, I’ll see you at Dev Night. If something else is your poison, I’ll fucking cheer for you. Let’s be awesome together. Let me know how it goes.

What do you do?

It’s Philly Tech Week here, which means lots of events, meetings, and conferences. Many business cards exchanged, many more names told and quickly forgotten because let’s face it, we’re all terrible at names. But more often than not, every new conversation starts with the same four words:

What do you do?

And as someone who makes games for a living, it’s actually kind of hard to answer. Gaming is a young medium, and as you talk to people outside the industry, you realise we have nothing close to the vocabulary needed to describe what we do.

What do I mean? Well, lets look at some other media.


Words: what do you do?
I’m a writer. A poet. A story-teller. A blogger. Author. Editor. Copywriter. Wordsmith.

I write poems. Novels, novellas. Magazine articles. Blogs. Epics. Tall tales and short stories. (I tweet.) Because I know, in my hands, the word is worth a thousand pictures.

Pictures: what do you do?
I’m an artist. Illustrator. Painter. Graphic Designer.

I do fine art, and illustrations. Character design and visual identity. Realism, surrealism; cubism and modernism. I paint “ism” on a wall and dare you to tell me it’s not art.

Sounds: what do you do?
I’m a composer. Singer, song-writer. Performer. Instrumentalist. Musician.

I write songs, and albums. Concertos and scores. Sometimes a jingle; sometimes a ditty. I jam for hours with no clear goal in sight, and come out with rhythms that make you remember when we were naked and free under the ink-black sky.

Video: what do you do?
I’m a film-maker. Director. Auteur, if you’ll allow it. And yes, an editor,

I shoot videos, movies, TV shows. Documentaries and exposés. Vignettes, here and there. I’ve been known to vlog. I show you a window to the past or a glimpse of the future, take you to faraway lands real and imagined — and you don’t even have to lift a finger.

Games: what do you do?
I make games.


Which of course is bullshit. We refer to Cipher Prime’s games as “Arthouse Games”, which needs still more clarification as “Think about the movies at Sundance, but instead of movies it’s games.” Trying to explain the differences between Flower and Mortal Kombat X can be frustrating, because we have to rely on the vocabulary of other media.  Mortal Kombat X is your Hollywood blockbuster; Flower is a collection of poems. But at the end of the day, they are both still considered “games”, in a way that an action movie and a book of poetry would never be called the same thing.

I’m genuinely curious about this. I wonder, in a decade, what words we’ll use to describe the experiences we make. And maybe that’s our responsibility, to start creating and using those new words.

But I need some new words *today*. So let’s try this again.

Games: what do you do?
I’m a game maker. Yes, an author. Yes, an artist. Programmer, maybe, but logician certainly. I’m an emotional manipulator. A rule-maker; a rule-breaker.

I make games. I distill dreams; I create universes. Playgrounds, sandboxes, and toy chests. Experiences. I reject your reality and substitute my own.

At the end of my GDC talk, I remarked that I create illusions for a living. The more I think about that, the more I realise it is an absolute truth. We use arcane languages to interact with hidden worlds using forces we can hardly explain to extract an emotional response from our audience. And we’ve done it for so long it’s become mundane to us, but really — have you ever tried to explain what you did at work today to someone outside the games industry?

So what do we do?

We are — all of us — magicians.

Monster Want Burger!

As you may or may not know, every month we host a Game Jam at Dev Night. The scope is small, and the deadlines are tight; we think it’s the best way for everyone in our community to get better at making games.

But making games is only part of making games for a living. I mean, you gotta eat, right? So this month’s sponsor, Flyclops, put on the Profit Jam. The challenge? Make a game in under two weeks, market it for four, and whoever makes the most cash wins!

For the profit jam, we made a decidedly un-CP game called “Monster Want Burger!

screenshot-01 screenshot-03 screenshot-04 screenshot-05

You build burgers to feed an adorable monster. That’s it! We’re pretty proud of it (especially considering we started two days before the deadline…). It’s got an awesome Burger Naming AlgorithmTM, a fun soundtrack, and most importantly? It was a ton of fun to make. Check it out, and let us know what you think!

It’s facelift time. Set your mind on Fire.

We’re at a point now where we’ve seen trends come and pass and we’ve seen different markets rise and fall. It’s a deeply interesting and scary thing to swim in, because we need to constantly reinvent ourselves to stay afloat. And today, we’re unfurling the sails of our new ship.

Welcome to the new home of Cipher Prime. We’re hoping our new site helps people play our games better, faster, harder, and stronger. We find most people who know one of our games have no idea we make others, so we’re hoping we’ve solved that problem! If we didn’t, maybe our homepage can just inspire a few people. In any case, thanks so much for taking a look, and leave us any feedback you can offer!

To celebrate this change, we have decided to make Auditorium ( our first title ) free online for 1 month. If you’d like to play offline, you’ll still need to pony up that sweet $10. Additionally, we’ve added a new page for Auditorium Duet and updated the Splice content to reflect our pending release on PS4 and PS3.  Checkout the new Splice trailer!

Cipher Prime is changing, but we want you to be a part of it. Will is about to embark on a cross-country bicycle trip with some fellow developers. You can follow his development at Dain has a new album coming out called, “Android Soul” that should release within the next few months. As always, you can follow @willstall, @dainsaint, or @cipherprime for more Auditorium Duet and Game Jam footage.

Thanks so much!

Intake Now Updated

We’ve been listening to user feedback and we’ve made some changes to Intake. We’ve been hearing that lots of people are having some problems at level 5. So to fix that, we are giving new players 5,000 mg at the start of the game. Now you can buy a life right off the bat! Also we updated Intake so that special levels start appearing at level 10, rather than level 5.


Bug Fixes:

  • Fixed pills spawning after the death scene
  • Fixed random unlocks while in attract mode

Thanks for playing Intake! We appreciate your love and support, so let us know if you have any problems.


My First Unity Game in a Week – An Intern’s Tale

Hello all, I’m Mary (@MaryKCassin), and I’m the new intern here at Cipher Prime. I’m currently a rising junior at Ringling College of Art and Design studying Game Art and I’ve been interning here since the beginning of May.

My first full-blown assignment as a Cipher Prime intern came on my second week here:

Create a game in a week using Unity.

I was a little daunted, because I had never touched Unity before or made a functioning game. I knew I had to keep it simple, but I still wanted the game to be entertaining.

Then Christiana, a fellow intern, thought I should make a drunk simulation game. The goal would be to try and keep your drunk character from tipping over by using the arrow keys to keep him upright. I thought this was a great idea and that it could be even more fun if I made BJ, our boss, the main character.

Get BJ Home” was born!

Intro slide

Intro Slide  death slide  Screen Shot 2014-05-30 at 3.02.35 PM

Learning Unity

My first challenge was just getting to know the nuts and bolts of Unity. To get myself started, I did a “make a game in 15min” tutorial on YouTube. This tutorial coupled with my previous knowledge of UDK and UE4 gave me the confidence to jump into a strange new development tool.

Drunken Movement

How do you simulate a drunken walk?

First, I had to figure out how to apply physics to the character as well a way to control the character while having him drunkenly stumble down the street. Funnily enough, this was the easiest problem to solve. I realized if I just made a triangle mesh with the point facing down and turned on gravity, you’ve got a “drunk” mesh.  I added a script that made the player rotate on the x-axis using the arrow keys and that was that.

Then I had to figure out how I was going to move the character down the street. At first I though I would just move the scene so that it appeared that the player was moving. But after realizing that would be too much work I scrapped that idea. Then, with Zenas’ (founder of QuadraTron Games and a member of the Philly Game Forge) help, I scripted a vector lerping between two places that moves the object a reasonable speed.

Game States

Next, my game needed death and win states. This was a little more difficult. I learned about flagging and tagging objects. Zenas had to help me and do a lot of explaining, but I eventually understood the whole process and constructed a fully formed game loop!

Asset Creation

Creating the assets was fun but stressful, because I had to make a south Philly city street scene in a week. I managed to make enough assets, and when I put the lighting low enough then you couldn’t see the corners I had to cut to get everything done in time.

The Show and Lessons Learned!

 DSC_0170   DSC_0175   DSC_0201   DSC_0183

When it all came together it was pretty cool seeing that I had made a game and I think everyone at Dev Night got a kick out of it.  When people stepped up to the plate I realized that it was probably too challenging. I was the only person who could finish the level.

Next time, I know I need to get someone to play test my game before I show it off to the world. I enjoyed making the game in Unity much more than I’d anticipated, and I found out which areas of game development I need to improve on (mostly scripting). Can’t wait for the next one!

You can play my game right below here! See if you can get BJ home.

Procedural Dynamic Room Generation in “ARE”

For the Global Game Jam this year, our team wanted to make a game that behaved like a personality test. It would try to determine if you liked killing enemies, collecting items, running around wildly, or interacting with the game’s inhabitants. Once the game had a handle on what you preferred, it would tailor itself to your desires. If you liked killing things, more enemies would be spawned. If you spent a lot of time in rooms opening chests, the next rooms you went to would have more in them to explore. It was immediately apparent that a predesigned level wouldn’t work, as we wanted the experience to be dynamic and different for each type of player. So, we needed some sort of procedural room generation, and we needed it fast. I was responsible for that feature, and found it so interesting that I wanted to share how I handled it.

I’ve played a lot of roguelikes, so the concept of random room generation wasn’t totally foreign to me. However, I hadn’t seen any that really impressed me. Especially not compared to the random generators that have been made for tabletop games. Some of the better ones generate traps, monsters, and loot in addition to  basic rooms and corridors. In particular, the generators available on Donjon’s site are worth a look. Not only are they infinitely configurable, but their source code is (kind of) open! For traditional “dungeons”, they usually generate X number of rooms, and then connect them up with corridors. There’s generally a certain number of large, medium, and small rooms, but everything is calculated at once. This technique is powerful, and with enough tweaking, you can make some really nice looking maps without a lot of effort. Getting this version up and running in our game wasn’t difficult. All we had to do was have a large enough grid, randomly drop the rooms in, and then place cubes where the walls should be.

Fig 1. Randomly placed rooms. I didn’t bother writing code to create corridors to connect the rooms, because we had realized this wouldn’t work for us.

Fig 1. Randomly placed rooms. I didn’t bother writing code to create corridors to connect the rooms, because we had realized this wouldn’t work for us.

However, this technique wasn’t going to work for our game. Since the whole point of the game was to dynamically adjust to the player’s play style, a complete map generated at runtime didn’t make sense. We needed something that was totally dynamic, where levels could be built incrementally as needed. This gave me an opportunity to fix a problem I have with most dungeon generators. Since they were usually designed to be easy to draw on paper/wet-erase maps, rooms are usually defined in chunks of squares, either 5ft or 1m. This means walls are usually that thick, which is unrealistic (most interior walls are only ~6” thick!), and room dimensions would be defined in those increments. I wanted our rooms to be able to exist outside of a strict grid system, and to not waste a lot of space with walls. So, I built a relatively simple system.

Rather than storing a grid, I tracked two different types of objects: rooms and doors. Doors only stored their position and orientation (latitudinal or longitudinal), and the two rooms they connected. Rooms knew their position, size, and kept a list of doors that were connected to them. I had a geometry generator that could spit out walls, floors, and doors into the world, and could combine those primitives into generating rooms of random sizes. The system was designed so that if a newly generated room shared a wall with an existing room, any doors in that shared wall would automatically link to the new room.

Fig 2. First test of the geometry generator, creating rooms of random sizes.

Fig 2. First test of the geometry generator, creating rooms of random sizes.

From that first step, I set about building the levels additively. I’d spawn a starting room with a single door. Then, the system would select a random door that was only attached to a single room, and generate a room that used that door as an ingress. While in-game, new rooms were only created whenever a player opened a door (that didn’t already lead to a room). Assuming that each room had at least one door in addition to the source door (and most had more), the map could theoretically expand infinitely. The rooms generated this way had a random size between two bounds, which meant that they were all relatively the same size and proportions. Besides being boring, they would often clump together, and in some cases ended cutting themselves off. So, I added a way to define different types of rooms. This controlled their bounds in each direction, which wasn’t perfect, but was effective. There were three types of rooms: a small room, a large room, and a hallway, which created very long, but narrow rooms. This worked well enough for our game, theoretically, but I decided to go just a little bit further.

Fig 3. Large rooms, small rooms, and hallways. The hallways did a good job of keeping the rooms from clumping up too much. They were also fun to run down!

Fig 3. Large rooms, small rooms, and hallways. The hallways did a good job of keeping the rooms from clumping up too much. They were also fun to run down!

The problem I found was that while the rooms were generating dynamically,they didn’t align well. Two rooms would be adjacent to each other, but would have a small gap between them. Rooms weren’t allowed to be large enough to overlap existing rooms so rather than using the generated size, the generator was just creating a “closet”. Closets are the smallest room that could be generated when a door opened, just a square room where each wall is the width of a door. So, rather than just selecting a random size from within a set of bounds, I used a new method. Whenever a door opened, the system would generate a closet. Then, the closet would inflate over a series of iterations based on the type of room it was (using the parameters from the previous method). When the room reached a size where it could expand no further, or it had finished its expansion iterations (which were limited per room type), it would project outward to see if there were any other rooms close by. If there were, it would expand just far enough to become flush with the nearby rooms. This way, if two rooms were close, and their shared wall had a door in it (which would lead to nothing), the new room would expand enough to utilize that door. If it didn’t, the door from the existing room would most likely have little space to generate a new room, and very tiny rooms were not something we wanted to see too many of.

Fig 4. In addition to linking together better, the new room generation had different colors they could be decorated with!

Fig 4. In addition to linking together better, the new room generation had different colors they could be decorated with!

The maps generated with this new technique were much more interesting to navigate, as well as connecting much more fluidly. Since this was game jam code, though, it wasn’t perfect. The final expansion step only checked for rooms in cardinal directions from its center and corners. Which meant that for a larger room, it was possible that a smaller room wouldn’t be hit by any of the rays checking the expansion, causing the large room to expand even larger, overlapping the smaller room. This usually only happened if there were many small rooms built near a large room, and then a door nearby generated a large room, which was infrequent.

Fig 5. Also, all of the things the characters say are randomly generated...and hilarious.

Fig 5. Also, all of the things the characters say are randomly generated…and hilarious.

Since it was a game jam, and I’d spent half of my coding hours working on this algorithm, I opted to leave the bug in and focus on less important things (like player interaction, pfeh). Regardless, I’m happy with how the room generation came out, and I’m interested in pursuing it further. If you’d like to check out this method of room generation, you can see it in action in ARE!

If all that was too much words for you, here’s a TL;DR version of my room generation algorithm.

  1. Define Room Types (small/large room, hallway, etc)
  2. Generate a room with a single door.
  3. When the player opens a door, create a closet (smallest room possible).
  4. The closet decides what type of room it wants to be (from the room types)
  5. Inflate the size of the room a random (but small) amount based on its room type.
  6. Repeat 5 until the maximum number of iterations has been reached (defined, again, by room type), or until an expansion would cause the room to overlap existing rooms.
  7. Project rays out from the corners and center in cardinal directions, to try to find other rooms that are nearby. If there are, expand slightly so the new room shares a wall with the existing room.
  8. Make sure that the new room has at least one door that didn’t previously exist. Otherwise, no new rooms can be generated from it, and the map is no longer infinite.
  9. When player opens a door that isn’t already linked to two rooms, go back to step 4.