How to Achieve your Goals by Thinking Long Term

I work upwards of 4 hours a day building a business and maintain a full time job. I have focused on only one project for the past 9 months. My day job supplies a regular paycheck but this project may never be profitable!

So how do I push through the daily grind and fear of failure? How am I excited to hustle every single day? Well, there are lots of factors, and honestly, I may not know everything that drives me. But I can at least try to answer those questions.

These are some of the high level themes that keep me motivated: Long term goals, vision, passion, skill, and patience.

For this post I am going to focus on Long term goals and vision. This is the foundation to everything else. I have set a goal to release a high quality game. To get there, I need to make sacrifices in my immediate future (ex. watching Netflix) for long term benefits (my own business).

A good exercise is to start with a goal and then reverse engineer it. For example, my goal is to operate my own independent video game studio. I take one step back and say “well how do I get there?” People must play and spend money on my games. I keep asking, “how do I get people to play and spend money on my games?” I must make high quality and fun games. “How do I do that?” I spend hundreds of hours designing and developing video games.

There are many other examples for this exercise. But first I want to repeat this:

To reach our long term and greatest goals, we must give up something we want now for something we want even more in the future.

I work on this business instead of watching Netflix, playing video games, browsing social media, etc. The feeling of achieving this goal outweighs the feeling of finishing another season of House of Cards. The problem is that long term goals delay gratification, while social media does that instantly. Knowing that the long term goals are more rewarding is what keeps me going.

Here’s another example for a marathon runner. You first ask yourself:

“How do I run a marathon?” You run 26.2 miles.

“How do I run that many miles?” You should be able to run at least 15 miles.

“How do I run that many?” You run at least 10 miles.

“How do I do that?” You run 5 miles.

“How?” You get your ass outside and run.

running_man.jpg

How about money?

“How do I buy a house?” A million dollar home will have a down payment of 20% or $200k.

“How do I get $200k?” You save it.

“How do I save?” Many ways, you eat out less and cook more, you buy less drinks when you go out, you invest your money wisely.

Put simply, you learn to budget your personal finances.

Going outside and running, budgeting yourself, and working everyday on a business may sound like no fun, but I have actually found quite the opposite. These tasks can lead to some of the most rewarding accomplishments in life. The best part, what used to sound miserable, like going outside to run, will now be exciting. You will want to do it and you will get intrinsic pleasure from it. I guarantee that you will feel much more accomplished than sitting on your ass and browsing through your Instagram feed.

If these kinds of self development topics interest you, please don’t hesitate to reach out!

Cheers,

Olin

Catch Phrase Against Humanity’s Freemium Model

free games.jpg

The freemium model dominates app stores. My games are no exception.

I have been listening to a book on Audible called "FREE: The Future of a Radical Price" by Chris Anderson. In it, he talks about the history of free and how that price affects certain economies. He describes how people react differently to a cost of $0.01 versus free. He talks about how people value objects differently when they pay for them versus when they are free. He talks about Moore's Law and how certain things (like digital storage capacity) double in size and halve in cost every 18 months.

These topics reminded me of how I sell my mobile games. I'm sure you have all heard of the freemium model: offer a product for free but have advertisements and paid premium features.

So why have this model? The main reason is to reach more people. More people will download an app or a game if it is free. Would you download an app for $0.99 when there is a free one that does the same thing? $0.99 is almost nothing, yet we will avoid it if we can.

free_vs_paid_apps.png

Catch Phrase Against Humanity currently has over 7k downloads. It would be a fraction of that without a free price tag.

Income is generated from ~5% of people that pay $2.99 for the premium version. That premium version removes ads, enables a new game mode, and allows for more custom phrases.

The players who paid nothing still generate income from ads. I get anywhere from $1-$3 per thousand views of the ads. There is a banner ad at the top of the screen and then a full page ad that pops up after every other round.

I don't get to keep all of this money. Apple and Google take 30% off the top. Does this seem like a lot? Think about what features they provide that justifies their cut. I get access to every single person with a smart phone in the world. A market of billions of people. If I can stand out from all the other apps and games, then people will find me.

As of this writing, if you search "Catch Phrase" on Google Play and the iOS App Store, my app shows up 4th. That is pretty good, and probably a large reason for the downloads.

I plan to use a similar freemium model for my upcoming action puzzle game, code named "Move the Blocks". There will be ads and a premium mode but how these are structured will be slightly different.

Ad placement is about trying to show as many ads as possible, while not intruding on the game experience. In Move the Blocks, the screen real estate is too valuable to have a banner ad; as in, there is information I need to provide to the player on all screen edges.

There will be a full page ad that pops up every 3 levels or so. Each level could last 10 seconds, or it could take the player a few minutes. In this case, I could also base it on time. If one level is taking the player a long time, then I could show an ad directly after they complete it. I could also factor in level retries. If they fail a level 5 times in a row, then I show an ad. That begs the question: if a player is struggling with a level, do I really want to punish them with an ad? That is the kind of balancing I need to get right.

There will then be a premium version of the game that players can upgrade to. The upgrade will remove ads and unlock more levels. The key here is to give the player just enough gameplay that they want to continue playing more levels by buying the premium version.

This model is definitely the way to go as I keep making small mobile games. If I move into the PC gaming market, then I will adapt to the best pricing model on that platform. For now, everyone can enjoy my games for free.

Early Feedback Proves Valuable Again - Update #2

mobile_testers.jpg

I completed another iteration to my upcoming action puzzle game, codenamed "Move the Blocks".

This is the 2nd playable version and includes input from feedback I got from the first round of testers. The big takeaways were to utilize more player feedback and to change up level progression.

Player Feedback

To be clear, this is my definition of player feedback: any visual or audio response when the player interacts with the game.

I went on a Youtube binge of videos about player feedback, also commonly called "game feel" or "juice". Basically, the little things in a game that make your game feel good to play but don't necessarily add to the game play. These are things like an animation when the player kills an enemy, or particles that shoot out when you do something good. It is a vast array of things that make the game responsive and "fun".

It might not make sense to add juice to a puzzle game, but just look at a game like Candy Crush. Yes, Candy Crush is a puzzle game and yes, it has lots of juice to keep players coming back. Most of my juice was different animations and movements. Audio is something I still haven't introduced yet.

This is a list of some of the improvements:

  • The dashes along the perimeter now disappear when the ball moves over them. It's kind of like a Pac-man type visual and adds to the goal of getting the ball to the end.

  • Time rewinds after death instead of just teleporting everything back to its starting position. Blocks move back to where they started, the ball retraces its steps, and the dashes that disappeared now reappear.

  • The blocks grow and shrink when moving them to add a sense of weight.

  • I added more tweening animations to almost everything. The dashes don't disappear, they shrink out of sight. The levels don’t appear and disappear, they slide in from the left and out to the right.

  • When blocks hit each other, they change colors.

  • Particle effects when the bonus coin is collected or the level is completed

All of these may not seem like a big deal and will go mostly unnoticed. But without them there, the game can feel stale and unpolished.

Level Design

Level design improved a lot as well. I took the 10 existing levels and added an additional 20. Each section is split into 10 levels called a "level set". Each one has similar gameplay elements. Each level flows into the next as you complete the previous one. After all 10 levels in the set have been completed, your death and bonus coin stats are displayed.

One major gameplay element that I added were blocks that you can't move, but that the ball can go through. Basically it blocks passage for the blocks on the edge of the game area.

I then gave this new version to a few more friends for testing and more feedback.

The first and most frustrating thing for players was that they had trouble touching and moving the blocks. They thought they were touching the block but the game didn't register the touch. I am using Unity's built-in system for handling touch. The fix I made was making the "touch box" bigger on all the blocks.

The next complaint was that there is no way to control the pace of the game. As soon as you die, the level restarts. The players felt stressed when they died a bunch of times while they were just trying to figure out the puzzle. I will implement some sort of pause into the game. Whether that's just a basic pause button or something else is yet to be determined.

The next thing is making the bonus coins more desirable. There really isn't a use for them other than adding difficulty. Constantly showing whether they have gotten the bonus in this level and making the coin stand out more are a few ideas that come to mind. Of course you need to be able to use the coins you have collected to buy something. What that is and what the store looks like is still unknown.

The first level is also still confusing players. I originally didn't want to have a tutorial,  but instead have players figure out the game on their own. To a certain degree, that is actually working. No players need further explanation to finish the game. They just don't like to feel flustered or confused, even if it's just for a split second. I'm thinking of adding some sort of quick image at the beginning of the first level.

The last thing is how the levels are laid out. There are 10 levels in a set and players were complaining that it's too hard to go back and replay one if they didn't get the bonus or want to play it again with less deaths. The concept of level sets is not perfect yet. Think of it like a golf video game, you can't just play an individual hole, you have to play the whole 9 or 18. I think the first step is to bring down the set count to about 4 or 5. Then maybe add a way to play individual levels. I just like the way the game flows from one level to the next. I don't want a level end screen after each level that may only last 10 seconds.

There were a few levels that were a bit too difficult for players. It is hard for me to know how difficult a level really is since I am the creator of the puzzles. It's pretty easy to either make the level slower or take the complexity down a bit.

Iterations will keep happening

It has been incredibly valuable to watch other people interact with these versions of the game. There is constantly something to work on and the game is improving because of it.

Let me know if you want to test the game out! Preferably I would like to be there so I can watch, but I will also have a beta ready soon.

If you've made it to the end, thanks again for reading this blog and supporting me! It means a lot. See you next time.

Cheers

Building a Minimum Viable Game for Early Testing

Early testing fixes problems that would be a behemoth to tackle later in the development cycle.

I had to expose my early builds to people for criticism in order to achieve this benefit. I gave it to a few friends, didn't say anything, and just observed.

I did my first round of testing with "Move the Blocks", aka MTB (just a placeholder name), as soon as I had a playable demo of the game.

For background, MTB is a casual action puzzle game where the objective is to move obstacles out of the way of a ball circumnavigating the screen.

 

Building the Minimum Viable Game

Like a minimum viable product, a minimum viable game lets you iterate and adapt your game for greater success.

Game Mechanics

First, I got the basic rules and game mechanics working.

For MTB, that includes being able to move the blocks around by tapping and dragging on the screen. The other main mechanic is seeing the ball circumnavigate the screen and start over whenever the ball collides with anything.

Art

The assets are all currently just "Programmer art" (stand in art if you don’t have the real thing). It conveys basic visual cues. For example, there are some blocks that you can move freely and others that only move horizontally. Horizontal blocks have horizontal stripes to convey the movement pattern to the player. This won't be the final art in the game, but a similar visual cue  will exist.

Level Design

I then designed levels and built in player progression. I completed 10 levels before I handed it over to testers. Each level doesn't necessarily get harder, but it might teach the player a new mechanic or add difficulty to what the player already knows. 10 may sound like a lot, but each level in MTB lasts about 10 seconds (without dying of course).

Testing the Game

I gave it to a few friends to test out. Without explaining any of the rules, I asked them to try out this "action puzzle game" I was working on. I wanted the game to be straightforward enough from the user interface and game design that even a few short instructions were not needed to play.

The testers were not necessarily gamers, and even if they did game, they don’t play casual puzzle games frequently. I want the game to be playable for everyone, so they did just fine.

What I learned

Everyone eventually got through to the end of the 10 levels. No one struggled extremely hard and no one got through without dying at least a few times.

There were still many aspects that needed improving.

The first level is extremely simple, as in, you can't lose simple. But people were confused about what the goal even was. My next iteration will have a different level 1.

There needs to be more feedback when the player dies and when the player collects a coin. The coin is just a bonus objective for the level and acts as the currency for the game. People were confusing it with the ultimate goal and didn't even see their money count go up after they collected it. 

Graphic and audio cues will help with player feedback when they collect a coin or die. For example, I can add sounds and particle effects when they collect a coin or flash a death symbol upon death.

I also realized that I was introducing too many mechanics too early. I wanted every new level to introduce something new. For a game where each level is no more than 10 seconds long, that can be a little much. Having levels that get players use to existing mechanics will help with practice for tougher parts of the game.

For level progression, I want to reorganize the first 10 levels and then get to a total level count of 20. Constantly iterating and improving player progression will help get new players skilled at the game. The less frustration for new players, the more likely they are to get hooked.

Lastly, getting non-programmer graphics, music, and sound effects always loom ahead. Ideally those would evolve along with the game. For now those will have to wait.

This Minimum Viable Game idea has already given me things to work on. I look forward to the next iteration I can show people.

How I Made a Party App in 5 Steps

I want to share my experience for releasing my first game in just 2 months. Maybe you want a glimpse into my side-hustle-life, maybe you want to see if this is something you want to do, or maybe you are just curious. Either way, here we go...

I have been making games in my spare time for the past couple years. I worked on a few projects but it seemed like I was never going to finish anything. Then I came across the idea for a party game and actually published it.

Making a party app is easier to build on a phone than some games. When I started making Catch Phrase Against Humanity (CPAH), it came along with a few benefits that I didn't get with other types of games:

  • The gameplay is all in real life, not on the phone (that means less code)
  • There is less art (at least for a game based around words)
  • I could play it with my friends

Some things turned out to be easy, others, not so much. Here are the 5 steps I went through to make CPAH.

Step 1: Start Drinking

Some of the best app ideas are born while in an intoxicated state. Especially ones that are meant to be played in that state.

Whether I came up with the idea after a few beers is besides the point. I am constantly thinking of game ideas. When I think of something good I write it down. CPAH was no different.

I started making CPAH while on a ski trip in Lake Tahoe. My friends and I were playing a generic catch phrase drinking game: pass the phone after each correctly guessed phrase, after the time is up, the person holding the phone takes a drink. After multiple rounds of skipping over phrases that my grandmother uses, someone piped in: "I wish these phrases were better". After that, all I could think about was that I could actually make an app with better phrases.

I had my idea. I wrote it down and got started.

Step 2: Hustle

By "hustle", I mean I did everything in my power to make this game a reality.

So how did I find time to publish a game with a full time job? I used my spare time. Instead of chillin at home watching Netflix, I was coding. Instead of scrolling through my Facebook feed on the train, I was making a website. I am now in a routine that helps me follow through on my side projects.

Again, I chose a simple game to make so that I could go from idea to release as fast as possible. A quick prototype took only a couple hours in Unity. Fine tuning, adding features, making a website, marketing, and everything else up to releasing the game took 2 months.

At an average of 5 hours per day, that’s 300 hours. The equivalent of 38 regular 8 hour work days.

Here is a quick breakdown of the tools I used:

Unity was my game engine of choice because you only have to write code once and it works on both iOS and Android. I had already started a few projects using Unity before, and this allowed me to get a running start with this game.

GIMP was my equivalent of Photoshop. It’s free, and does all the basics of image editing.

I built my website with Squarespace. A lot of people would recommend Wordpress but I was going for simple and fast with an easy learning curve.

Step 3: Make Lots of Friends

User feedback is essential, especially for a game that is meant to be played with people. These awesome supporters were my beta testers.

I would get my friends drunk and then ask them ideas for phrases. The final phrases are a curated list of ideas from my friends and myself. You have no idea how many hours I spent just thinking of phrases. Even now I still come up with phrases and think "how have I not thought of that one yet?"

I want to emphasize again how important writing down your ideas is. I made sure to always write down the ideas in my phone otherwise I’d forget it a few minutes later. Whether they were phrases, design aesthetics, game play modes, I wrote down everything. I would then go through these notes later and pick out the ones I liked the most.

I tried to make the game as easy to play as possible. It helps that Catch Phrase is already an established game. The app just had to convey that to the users.

There are several things I was looking for when I would watch my friends play the game:

  • Are people confused by the user interface?
  • What is the ideal group size to play this game?
  • Are there stopping points that are keeping people from playing?
  • Are people laughing and enjoying themselves?

I played my first beta with people at pregames, parties, hangouts, road trips, and even bars. Everyone loved playing the game. It was great hearing about friends enjoying the game even when I was not there. Friends planned to just try it out, but an hour later they were dying of laughter, completely hooked.

It was great hearing this kind of feedback. However, even better was constructive criticism. Of course my friends were going to be nice to me about my app, but the most valuable feedback was about the parts people didn't like.

I even held a release party where we played the game. I set up a whiteboard where people could write down ideas.

whiteboard-catchphraseagainsthumanity-party.jpg

All this testing helped me fine tune the game to where it is today.

Step 4: The Hangover

This was a brutal step. I had a great game that my friends enjoyed and I finally released it on the app store. But I didn’t become a millionaire overnight like I had predicted.

A good app and lots of friends only got me so far. If people don't know about the app, it won't become a successful game.

The problem is getting the app to people outside of my friends list. The standard approach is making a Facebook page, Twitter account, and website. This all helps, but how are people hearing about these resources? I tried posting to various subreddits, Facebook groups, and even reached out to indie game websites. Unfortunately, nothing caught on.

Party apps are fighting an uphill marketing battle. Most games can be directed at an individual in a way that party games cannot. Think of the relation to a standard game like Candy Crush.

Party Games

  • Need a group of people to play
  • Can only be played at certain times
  • No in game video for marketing (unless I decide to make a live action video)

Standard Mobile Games

  • Can be played by 1 person
  • Can be played at anytime
  • Can easily make an in game video
candycrush.jpg

The one advantage is word of mouth. The game has to be played with other people. This is good and bad. It creates a higher barrier to entry, but also means the game can spread from one person to another very easily. Unfortunately, going viral online spreads faster than people these days.

Step 5: Keep Drinking

What have I learned? It's hard af to make a successful party app.

Here are a few miracle scenarios:

  1. I make a live action video and it goes viral
  2. A celebrity, like Snoop Dogg, plays the game and tweets about it
  3. It spreads by word of mouth long enough to where it just catches on

Most likely none of those will happen.

That brings me to this post. I have been a sponge of marketing information lately and have identified, what I think to be, the most important aspect:

Writing. You need to write to sell and you need to write for content. This post is a first shot at the latter. The more readers you get, the more awareness to your brand, the more potential users of your app.

Writing to sell is convincing people to download and play your app. This type of writing should exist on a website and be available when reaching out to the press.

I have read several books on writing, including Everybody Writes by Ann Handley and The Ultimate Sales Letter by Dan Kennedy.

My plan is to continue working on this lofty dream of becoming a full time game developer. I now have the experience needed to do things more efficiently, I have clear goals for the next game, and I have the routine set in place make this a reality.

I will keep supporting CPAH while I work on my next project, but this time I won’t do a party app.

If there is anything I have learned from this process it’s that patience and perseverance will get you results. There is no get rich quick scheme to becoming a successful app developer and you won’t be successful with your first game. Learn, iterate, and improve. At least, that’s what I’m going to do.

What the hell is Catch Phrase Against Humanity? It's a free party game! Find a time when you are casually drinking with a few friends and give it a shot. I promise you won't be disappointed.

iphonewithwords.png