Thursday, January 30, 2014

Postmortem: Year Two Indie Recap

Two years ago on February 1st 2012 I began my journey to learn how to program and become an indie developer. I blogged about my year one experiences last year; and I wanted to share my thoughts again as Year 2 has been another really big year.



I had probably one of the two biggest things possible happen to me in my development career in 2013 but I still have the feeling that I did not accomplish nearly enough.  I also have a lot of regrets about joining #1GAM challenge that I'll share as I go along.

Warning long read ahead ;  but plenty of pictures !




What went right:

1: I got hired as Software Engineer!

Early in the year I noticed my day-job employer had Java programmer positions open; and one of my colleague's was applying for it and doing well on the interviews.  After some research I found out that additional positions would be posted soon so I decided that I needed to add Java to my list of languages that I knew!



I undertook an intensive learning course in Java. I bought a 1300+ page book on Java from Amazon and spent pretty much every free moment cramming everything I could about Java.

I also subscribed to Podcasts and a really nice iTunes U course from StanfordU on Java so I could listen to programming/engineering talks during my commute.

Honestly I had a lot of fear and anxiety about applying for the position despite all my hard work. I really was not sure that I could be considered and that I would be a waste of time to the software engineers at my company.

This level of self-doubt might have demotivated some people -- but it caused me to work tirelessly through and past the interview process.

This intense hard work paid off but I realize this cramming was only realistic because of my previous year of intense cramming on C/C++ !

I took a Java test as part of my interview process and scored very well. I also passed 3 sets of interviews two of which were practical interviews involving working out code with senior engineers.

Somehow I did it and started a full time Software Engineer job in May of 2013.


2:  I finished 3 games

Finishing things is a big deal.  If you've been doing creative work for any length of time you know how much fun it is to get in to a new project.  You also know what its like when you hit the frustration wall and how easy it is to move on to something else instead of finish what you are doing!

I was able to finish 3 full titles in 2013:
  1. Space Chickens vs Angry Zombies   iOS
  2. Leprechaun's Luck  iOS / Android
  3. Pirates Jewels II  PC

This sort of undermines the true accomplishment to write it like this though so see accomplishment 3..

But before I move on I want to say there was an extreme amount of risk in taking on the Pirate's Jewels II product; it's scope was much larger than my previous products and I had never done anything that large.  A huge killer pitfall many indie's take on is projects that are too large and they are not capable of finishing.

3: I made my best game yet!

Pirates Jewels I had exactly one game mode.
Pirates Jewels II has six game modes.

Each of these game modes has unique timer, logic or artificial intelligence challenges thrown in to the mix.  To simply say it was six games instead of one really trivializes how much extra challenge it was to put together a product of 600% of the scope of my previous projects.

4: I raised the production quality of my work
Pirates Jewels from 2012 had a simple aged wooden background to save on production time.

Pirates Jewels II could have used the same graphics as Pirates Jewels I and no one would have faulted me. I'm such a small developer no one would have noticed in fact!!  But I really wanted to take all aspects of my development to the next level and doing a better job with the art, music and product presentation was not excluded from my list.

Pirates Jewels II  from 2013 had fully rendered backdrops and better art all around.


Most especially I did this after some failures in the early part of the year with Space Chickens VS Angry Zombies and Leprechaun's Luck that I'll go over in the 'what went wrong' section.

5: I made the decision to swap to Unity 3D from AGK

The Game Creator's team started off their AGK product with a big splash and a lot of promise.

A year later they had only one official update and an endless rolling beta update which as of this writing is still not final.  I believe some day soon they will call it good enough and move on to their "AGK 2" product ; but this is a bit of a let down because the original AGK product still lacks promised features ... that Unity has had for some time.

Two years ago I originally was very torn on Unity 3D and AGK when attempting to decide what to go with.

At the time Unity 3D was $500 and AGK was about $149 with  a discount if you per-ordered.  I think my per-order price was $99 dollars?

So I pre-ordered the AGK product and did fairly well with it.  All of my games to date were made with AGK and its a very viable product over all.

This game was created in 48 hours using Unity 3D for Ludum Dare 28.
But then Unity 3D went free for the indie version and I was compelled to try it out and all of a sudden I was in nirvana!

I can't express how big a difference it is to operate in a game engine like Unity 3D vs a library like AGK.

Don't get me wrong; I learned a lot writing from the library level that I probably would not have learned in Unity 3D or would have taken much longer to get to.

Very low poly robots for my upcoming mobile based Unity 3D game.
The most value thing to me as an indie developer is using Unity 3D immediately puts me in 'game development' mode rather than 'framework development mode'.

I have already learned Unity 3D well enough that I was able to compete in the Ludum Dare 28 competition and finish a complete game in 48 hours.


And I'm now working on a 'real' title that will go out early this year using Unity 3D.



What went wrong.


1: I joined #1GAM challenge.


I started off my year doing two things ; first I made a 'product road map' sheet in Google Docs of what I wanted to make during the year.

I initially planned on 3 items:

- a 'large' proudct; the next version of my Pirates Jewels game which would be Pirates Jewels II
- A Halloween themed product,  which might be a 2d endless runner
- A Christmas product which would probably be Holiday Cheer II

But I knew I probably had a little wiggle room in there for more; I just wasn't sure what that would be yet.

Shortly after planning out my milestones and production schedule I stumbled on #1GAM (www.onegameamonth.com).  I watched the keynote and got really excited..

So the second thing I did was decide that I wanted to  join the #1GAM challenge for 2013.

I do better when I set goals and ironically I've mostly found in the past that even when I set a somewhat unrealistic goal ; I often over shoot it because I did not know what my true capabilities really were!

In other words; its only under pressure and challenges that I push myself to new heights of excellence. So I thought setting a goal of one game a month would push me to excellence and productivity.

Before I get too far I want to stop right now and say that the thoughts I have here are about me, and how my experience and way's that I handled things effected my production of my products.  I know #1GAM is popular amongst the community and I'm not trying to bash it.  I'm sharing how it wasn't right for me.

The problems that I had with #1GAM were compounded with my extreme sense of responsibility to finish things; I let this seriously side-track and mislead me. It sent me in to very poor production cycles of low quality work that I regretted.

But lets not get ahead the conclusion before I even tell the story!

So I got out my Google Doc "roadmap" and adjusted it.  I left all my previous products on it but I decided I would make these games as 'prototype' level games that would take 10 days each.  This way I could work for 10 days on a fun prototype game and then 20+ days on my big projects.

My Overly Ambitious 2013 release "Roadmap"


I also penciled in the expected release dates of my big 3 projects as 3 of the #1GAM entries.

So I went from 3 projects + room for more to 12 projects in a single short decision.

This ties in to some more of what went wrong; so rather than draw this out I'm going to split it up in to more bullet items.

2: I rushed Space Chickens VS Angry Zombies and shipped with bad controls

I immediately set to work with my first #1GAM entry which became Space Chickens VS Angry Zombies.  I actually finished it and shipped it out - which is an accomplishment.

But the problem in retrospective was that I double rushed it.

Firstly I rushed it because I had my product roadmap plan from above to do my #1GAM entries in 10 days each in hopes of participating in #1GAM and producing my desired larger / better projects.  That was a mistake to take on planned out work that I could not be certain of when I would finish each project.

Secondly I rushed it because it actually took me about a month to finish it rather than 10 days; but it really could have used another 2 weeks to month of time to polish the game play and levels.

Space Chickens VS Angry Zombies is a fairly simple platformer and I can now admit : the controls suck. I regret shipping it in its current form and constantly wish to go back and update it.

In fact I did do a major 1.1 update to adjust the controls to be a little bit better; but it still eats away at me how poor the controls are.

I released it because I was in a rush to do my next #1GAM and still be able to stick to my product road map.   I should have dropped out of #1GAM right then and finished my game with more love and respect that it deserved, but I was far too stubborn to let down my commitment to a stupid contest than I was to do my game right.

3: I rushed Leprechaun's Luck and shipped with poor controls

I also rushed my second game of the year; Leprechaun's Luck.  Once again a control issue.  I used physics to control the character when I should have just controlled him manually.

By the time the game was almost finished I was too deep in to change the controls and meet my #1GAM deadline so I left them as-is.

They were not as bad as the previous game; but they still were not good at all and I regret it also.

This game also took me about a month and further destroyed my product road map.

4: I did not drop out of #1GAM

I should have dropped out of #1GAM twice before , but I didn't . It was at this point I found out about the upcoming job at work as a software engineer and I began cramming Java.

I should have dropped out #1GAM but I kept telling myself I could make up the difference afterwards.

I seriously need to learn when to let things go.  Not every commitment is a good one. Lacking judgement when you have extremely over-stretched by your goal and are hurting not only yourself but potentially your customers and certainly your products is bad mojo.

Once I came out of the Java cram crunch I worked on Pirates Jewels II which had 6 game modes and that helped 'fill the #1GAM gap" and I got in a Ludum Dare project and a couple of Android ports to actually "complete" my #1GAM challenge for 2013.

But I am writing this down as a failure.

Completing #1GAM was a bad choice for me and is a decision making failure.


5:  I assumed a publishing partner would take my "big game"

I totally get it - most people reading this wont care about Match-3 Gem games.  But there is in fact a nice market for them and they are one of the top 3 categories in the casual game market.  If you are looking at Pirates Jewels II and not excited -- I get it.

But set aside for a minute your like or dislike for the topic material and picture that you have a relationship with a publisher that does like this type of content; they've taken your games before .. and this time they don't!

I definitely do not want to burn any bridges here or disparage any part so I won't name any names.

I assumed that this partner's  'relationship' with me would ease the taking of future games ; especially if I did an 'as-good or better' job on my games.  And I guess to be honest it did; they responded rather quickly; which was nice.

As noted in 'what went well' section Pirates Jewels II was exceptional for me in every respect. It was in fact my best game ever and has really beautiful art that still makes me proud to have produced such a product !

But this publisher partner decided they will not take the product unless I make a significant amount of changes. Including some that I'm not sure I can pull off due to memory constraints.

And that was jarring .. I felt depressed about that but decided I would not let that stop me from submitting to other sites.

As normal most sites did not bother responding to my request to publish my game.

And I got more depressed about it.

Eventually Desura responded and requested I make a promotional video for my game ; something I have never done before.   So I took the challenge and produced my first promotional video  and then Desura took the game.


I am extremely thankful to Desura for taking my product; I poured a lot of love in to it; and I did not rush it like the other two products mentioned.  That the game would dissapear without ever having a chance was a very real prospect for a while.

I put quite a few months, a lot of time, and a decent bit of money in to producing this game and for a while no one at all would even take the game?? That wasn't just depressing, it was scary!

You don't imagine when you are creating your game that no one will want to take it to be on their website or service!

 Conclusions


I have to begin my conclusion with the last thing that went wrong; my best effort of the year almost not being published at all .. and certainly not with my biggest publishing partner.

I guess I'm an indie noob and its time to wake up.  There is extreme risk of not being published and not having any visibility at all.

It doesn't sit well with me to have to swallow that when I'm making my next product every single day I'm creating it with the knowledge that no one may take it.

The only conclusion I can reach is: As an indie I want to work on something that no matter what when I'm done there will be no regrets that I spent my time on it.


I have one project left on my list from last year, and I'm not going to rush it.  It is coming near to beta soon and deserves the proper game play polish that some of my other products did not receive.

upcoming unity 3D mobile game alpha screenshot.

After I finish my current title I have decided I'm going to work on my dream project finally... I will have finished 7 games in the last two years and I feel like I'm ready for it.

As cliche as it may seem I'm going to create an RPG.

I have wanted to make an RPG since I was around 10 years old playing pen & paper Dungeons and Dragons and its really exciting to think about how close I am now to starting this project.


I sincerely hope when I finish that other people will feel the joy and love that I pour in to it and want to play it or feature it on their websites; but I know I won't have regretted the time spent crafting it whether they do or not.

Prototyping dungeons for my upcoming RPG title.


- punchy out



No comments:

Post a Comment