Developer Diary #14 — Ohio Game Developer Expo

Last weekend my wife and I attended the Ohio Game Developer Expo. The OGDE is a completely new event which was held on Ohio State University’s campus in Columbus Ohio. This was our first event like this, so we approached it with a bit of anxiety. To make things interesting, we had just finished a week of grad school finals. We had zero opportunity to catch up on sleep before waking up at 4am to make the drive to Columbus. Friday morning, we had nothing ready for our trip. After our last final, we managed to design business cards, a poster, a table layout, and desktop configurations of two tablets and a laptop. I also created and exported stable builds of each game in a few hours the evening before. Then: packing, booking a hotel, sleeping a little, loading the car, driving off into the dark, and suddenly we were setting up.

20131210-202503.jpg

The expo was a huge success. It turned out to be an intimate affair, with about 30 booths and a steady flow of traffic given the space. We had the opportunity to meet and talk to a bunch of great people who live only a state or two away. Living in the Midwest can be isolating as a game developer. It seems the big-kid clubs are all in California, New York, or some other coastal region. It was unbelievable to meet real people who made and played games. To all of those who we met at the event: I’m so glad for your presence. It was a true joy to meet you.

20131210-202238.jpg

As you can see in the photo, we showcased Precarious Potions at the expo. I made a special build which reset all save data when the game was started so that players got a fresh experience, every time. I have heard more than a few times to make sure your build is ready for public consumption before a show, so I took time to get things ready. In spite of this, I expected problems. The best way to find all the ways your game is broken is to show it to real people, after all. Yet, we had none. The hardest part of the event was keeping my introversion in check with coffee.

I now feel very prepared to launch Precarious Potions. The feedback was incredible. I kept fishing for critique, but no one could (or would) say anything against the darn thing. One woman described it as “pleasantly frustrating.” Another compared it to Cut the Rope, which is absolutely what inspired me at the start. No one needed instruction, not even children. In fact, the kids learned much faster than the adults. One kid ran back to his mother’s booth after playing and presented me with free merchandise from their table. In general, people played much longer than politeness dictated–and some played a very long time. I left the event excited and ready to wrestle with multiple ridiculous submission processes.

Which is what I am going to go do right now. Expect a release early January!

-Ryan

Developer Diary #13 — “Done” and “Released”

About a week ago I started saying that I am done with Precarious Potions. It’s a great feeling, being “done.” It’s really too bad that “done” and “released” are not the same thing. Now that I am no longer adding content, I am rounding up edge cases, squishing bugs, and arguing with nonsensical web standards. In some ways I want the release to be as perfect as possible, and in other ways I know that I can never make it 100% functional for every browser on every device in all weather and astrological conditions. The consensus at the moment is that HTML5 is still flaky, at best. I’m starting to learn tolerance for odd bugs that don’t actually break the game. It’s the ones that do that are currently driving my up the walls.

One important thing I do in the time between “done” and “released” is lots of random testing. I usually stick my iPad under someone’s nose and ask them to check out a game I made. If they look interested (which they usually do) I ask them for critique—mean critique. I want them to rip it apart. This serves two purposes: The first is to take their socially acceptable nothing-but-vague-praise response and push it into a more realistic realm. The second is to help find the things that solicit 1-star reviews before they have the potential to scar my game’s reputation. You can hear it before or after, but I find it much easier to manage before. If the tester truly likes your game, they won’t be able to help including praise along with the critique. Either way, it’s a win-win.

I can’t wait to kick this game out the door. I’ve got a lot of great plans for it—which I will be writing about quite soon. I really believe in where this game has gone. With the right exposure it will do well in the wild. Once it releases I will share more details about the transformation it went through in the past year-and-a-half, as well as overall success or failure in the marketplace.

20131026-162131.jpg

Until next time, here is a preview image of the intro sequence. All elements were hand-drawn on a very large sheet of paper and then captured via my iPad camera. I vectored over them, but the hand-drawn nature remains. I am psyched to use the process again—it made such a difference.

-Ryan

Anyone Can Make Beautiful Games: Tweening

I’ve said it before, and I’ll say it again. Anyone can make beautiful games. Last time I wrote about this I made a list of things you can use to make your games beautiful, but this time I’ll go into bit more detail about just one concept so we can drill down a bit further.

For those who are not yet aware, tweening is an animator’s term for the process of drawing frames between two distinct and separate images. In traditional animation, the lead animators usually create the rough outline for a scene and pass on their work to a team of animators who fill in the gaps. Good animation has excellent use of tweening. You should not be able to tell where each key frame is.

Game developers also benefit from tweening. If you would like to read more about why we tween, you can look at some of my previous posts. For this post, however, I will be talking more specifically about how to tween. Let’s start with an example.

Below we have a fairly typical title screen. It’s got a title, a play button, and a help button. It looks ok, but really isn’t all that eye-catching. Clicking the play button moves to the first room of the game, but in a jarring, static sort of way. Though it isn’t the best, most indie games look like this. In fact, nearly all HTML5 games work this way.

tween_01b

Here’s how to stand out: tween everything. In the example below, I have taken all four menu elements and added a tween to them. The title image uses a tween called Ease Out Elastic. I have applied it to the width and height of the image. Both the play and the help buttons also use the Ease Out Elastic function, but what is affected instead is the y position. The black bars on the side use a simple tween which subtracts 10% of the distance per loop cycle. The function is very easy: x = x + (targetx – x)/10. You can play around with the number on the end to change the speed of the transition. Lastly, when the player presses the play button, rather then immediately jumping to the next room/layout/canvas, using some sort of transition can make everything look better. I generally use a fade, though there are many other options.

tween_02b

One last note on tweens. Because tweening inherently delays the game (however briefly), it can leave “beautiful” and enter “frustrating” if it is too slow. Human reaction time is about 0.3 seconds after the initial stimulus. In that time, our eyes can see almost 20 separate frames (assuming 60 frames per second). This means that game designers have about 20 frames to flash a transition without worrying about holding the player up. Sometimes even two or three frames are enough to satisfy the player. This is very important for tweening elements that might hang up the game (between-room fades, buttons, etc.). For this reason I never let a fade between rooms last longer than 0.2 seconds.

20131011-191551.jpg

Below I have included some resources for javascript, GameMaker: Studio, and Construct 2 users. You can write your own functions, but in the end it’s the same math. I have found them extremely helpful.

Javascript: http://easings.net
GameMaker: Studio: http://www.8bitwarrior.com/?p=823
Construct 2: http://www.scirra.com/forum/behavior-litetween_topic53288.html

Happy Tweening!

-Ryan

Developer Diary #12 — Forward Movement

This must have been the week to wrap things up. I now have two finished games to write about. As I wrote in the last post, I have been working with a local business. Now that the project is over, I can share some details.

The game is called JuJuBerry: The Game. JuJuBerry is a frozen yogurt store. It turns out frozen yogurt is highly adaptable to games. They have over 80 different toppings and 18 different flavors of yogurt which change regularly (nothing beats fringe flavors like Red Velvet and French Toast soft serve). I decided the toppings would make a great matching game, so I took the very popular “match three” model and gave it my own twist. The project took about a month and overall was a joy to work on. I spent a lot of time and energy on devising ways to help bring people into the store via the game. The coming months will tell how beneficial the game has been to the business.

20130905-131831.jpg

Play Here

After finishing JuJuBerry: The Game I moved on to Breakout Cove, which has been sitting sadly idle while my focus was diverted. I took a couple days and wrapped up the end-game and found/created the sounds and wrestled them into cross-platform submission. I am very pleased with the result. I hope to use the new skills I have acquired while working on this to influence my future work. I have placed a link in my portfolio and am taking orders for non-exclusive licenses.

20130905-132512.jpg

Play Here

Both of these games are a big step forward for me. Looking back at my portfolio I can see a dramatic increase in both focus and quality for these games. I am figuring out what to spend my time on, how to transition between segments of the game fluidly and coherently, and how to direct the player without being frustrating. I am also seeing a maturing of my art style (which in its current form is only about a year old) that is moving from “pretty” to “polished”. I have a long way to go yet, but the forward movement has definitely been encouraging.

-Ryan

Developer Diary #11 — Local Business


Two weeks ago I was driving down the main strip of my small Midwestern town when I saw a small frozen yogurt shop my wife and I love. The place really is an experience. It’s bright, colorful, stuffed with flavors and toppings that change all the time. Branding every counter and crowning the top of the shop is a beautiful little berry made using vector art. I began to wonder if I could make a game designed around the store and before long had gotten in contact with the owner to discuss making a promotional game.


The business interaction has been a really great experience. Since this is my first time approaching another business, I’ve learned quite a few lessons. The greatest is that I have something valuable to offer people outside of the gaming industry. I have also learned that this is something anyone working in a medium like HTML5 can do. You don’t need to know anybody important to get this kind of work. You don’t need to wait for an opening. No one is going to offer this to you. Rather, if you have an email address, a telephone, or a mouth, you can find a local business and work with them.

Since the project is not yet public, I can’t share my actual work yet. However, I can share some things I am learning. Perhaps you will find them useful.

  • Great businesses fail all the time because people aren’t aware of them. People are far more likely to buy from businesses they are familiar with than business they don’t know that well. Both traditional ads and branded media (games/movies, etc.) create awareness, but branded media lasts a LOT longer than traditional ads. Hence, more awareness.
  • Figure out what makes the business special and convey it in your pitch. If you could use one word to describe who they are, what would it be? How can you make a game all about that?
  • When working with a client to promote a brand/store/etc., don’t try to reinvent the wheel–or at least think long and hard before you risk your client’s name on an experimental wheel. That said: design safe, but don’t create trash.
  • We all know crappy promotional games. They are the reason “promotional” rings sour in our ears. Don’t make one.
  • Remember, all sizes of businesses can benefit from promotional games. Huge businesses like the NFL and the BBC are easy to think of, but hard to work for. Why not take a look around your own town for small franchises or local iconic spots? You might find money just lying around, waiting for you to come work for it.


 

I’ll be writing in more depth about my current adventures soon. Much to come!

Ryan

follow

Developer Diary #10 — Breakout Cove

The past couple weeks have been spent creating a new portal game. This one is based on the traditional Breakout—but with some alterations. One major change is the level structure. I hate the end of a level in Breakout because it becomes about waiting for the ball to hit the last brick (at random). I decided to change that by having the bricks move down the screen like Space Invaders or Tetris. This both removes the need for pre-made levels and solves that waiting around problem.

Breakout Cove

In one sense there’s nothing remarkable about the game. It’s a Breakout clone. It makes sense to make it because there’s a market for HTML5 games with classic gameplay. Otherwise, I’m not sure I would be putting the time into it. And yet, I’m really excited about this game. For one, I’ve made some dramatic leaps in visual design. I think taking the time to make a checklist in Anyone Can Make Beautiful Games gave me an intentionality I didn’t have before. It’s also a familiar style of play, yet it feels new and slick. Breakout has never felt slick to me before.

Now I just have to finish the darn thing.

-Ryan

follow

Heurism: Managed Creativity

I often hear Indies talk about their self-employment providing unlimited capacity for creative freedom. The fairly logical thought is that, since they have no boss, they can do whatever they want. This is only partially true. Creative Freedom is not the freedom to do whatever you want. It’s the freedom to pick your restraints.

That Game Company thrives because it restrains itself to a specific thematic pallet.

Let me explain. All truly great people live with purpose. Their actions are goal-oriented and pursue a specific theme. Those who don’t stick with anything very long live scattered lives and are often forgotten. Think of Michelangelo, Beethoven, Einstein, Plato—even the Beetles. These people really took time to flesh out what they were doing. They used heuristic progression, which means that the previous project informed the next. There’s a reason Frank Sinatra is almost his own genre. In an economic sense, creating a genre for yourself creates a supply which will generate its own demand. People come to you because they want another piece of the pie you’re offering—not someone else’s pie.

So what does this have to do with indie game developers? New developers are often so enamored by freedom that they try to do everything. Yes, having no boss means no one is telling you what to do. However, if you lose all discipline and are not self-directed, you will never create your own genre. People will see your portfolio and have no idea what you’re about. They likely came to your website interested in a certain kind of game you developed and want more like it. When they see you are inconsistent, they’ll likely leave. If your portfolio is disjointed and random they might as well go to a generic flash portal–which is just are random but has a greater selection.

Kyle Gabler of 2D Boy and Tomorrow Corporation has a unified portfolio. If you've played any of his previous work, you know what you're getting into when you play a game he's worked on.

Kyle Gabler of 2D Boy and Tomorrow Corporation has a unified portfolio. If you’ve played any of his previous work, you know what you’re getting into when you play a game he’s worked on.

This does not mean that each game should be a clone of the last. In fact you’re likely to make everyone (including yourself) unhappy that way. Instead, choose a theme or two and commit to making at least three games in that vein. Themes could include a mechanic category (platformer, first person, top-down, turn based), a gameplay category (strategy, arcade, shooter, puzzle), an art style, ideas explored, a narrative focus, etc. Whatever you choose, be intentional about what you make. That includes picking your limits. You’ll find that those limits propel your work lightyears beyond the diffusion of unrestrained freedom.

What themes are you working with? How are you accomplishing that? Are there themes you’d really like to start exploring? Maybe we can share some ideas and enrich each other. Lately, I have been exploring the concept of “beautiful danger.” I have aimed for a soft, gentle art style dotted with dark forests, minor music, and shadowy unknown. I also appreciate the power of silhouette and gentle blurring. I want to explore simple game mechanics which are used to create deep gameplay. How about you?

Celesti Banner Potionsworld

-Ryan

 

follow