Tuesday, April 22, 2014

Game Development and Budgeting Your Time and Money

Welcome to game design!

Before we get started, let me point out that as with everything on this site, these are my opinions.  Never just take one person's opinion as gospel, especially if they're making money off of you.  Considering that I am a consultant for hire, and that there is a possibility you might hire me based on what I say here, get a few more opinions and see how they match up.

With that said, let's talk about game design, money, and time!

The Basics

Every day, I see people who go out and try to hire people for a few hundred dollars to build their game.  They offer sums such as $500 to build a "Simple Game" that will take hundreds of man-hours to build and debug, not to mention balance for anything resembling decent gameplay, and expect that the joy of working on game design is enough to hook someone and bring them in.

What they don't understand is that they WILL get someone.  Normally, they get one of two types of people:

  • The first kind has some basic skills, but no real experience.  They will honestly feel they can do this, not due to hubris or vanity, but because they don't know what they're getting into.
  • The second kind is something I personally despise, and it's the kind that milks people for money, tosses them aside, and hands them useless trash that LOOKS good, but is actually useless.  They do this with the full knowledge that the project is going to fail, but are doing the minimal amount of work and claiming that tweaking a model of a house they downloaded from turbosquid took them 3 days to build.
The result is the same, the project fails, the money is gone, and the individuals they talked to on Skype have vanished and refuse to return their calls.

Only then do I get called in to figure out what's wrong.

Let's get some facts about game design straight, before we go any further:
  • Gamer development is a JOB.  Not something that just anyone can do because they have a computer.  While it is true that anyone can LEARN game design, this does not mean you can learn it in a few weeks and understand it fully.  A few weeks gets you in the door to understanding how complex game design and development is.  
  • Game Design deals with things like game theory, interface design, psychology, sociology, suspension of belief, budgeting, writing, art, and so many other things I don't have room in this article.  A simple game such as "Candy Crush" is much harder to make than most realize, not due to the needs of actual development, but due to how complex the planning was for designing it.
  • Game Development includes skills involving 2d and 3d art design, animation, special effects, programming (lots of programming, in a lot of differing fields), sound design, music, testing (oh, so much testing...), and many other fields depending on the game being built.
If you are trying to hire developers, and don't have any designers, then you have effectively built a boat without engine or rudder.  If you have hired designers and not hired any developers, well...  You're not getting far that way either.  

And for those of your thinking that you can do the designing yourself?  I can't tell you if you can or can't, but if any of the above was news to you?  Then you probably don't want to try it with your own money, or money you have to pay back to others.

Money and Time

Let me start out by talking about some really bad ideas on how to finance your new game idea:
  • Taking out a loan to have your game created based on paying it back with future profits is a bad idea for so many reasons that I can't really cover all them.  You really need to consider everything that could prevent you from paying back that money, such as the very real possibility that the game just never becomes popular enough, or even worse, never gets finished.
  • Don't borrow from friends.  Nuff said.
  • Don't use your own savings.  Please.
I'm sure there are more, but these are the ones I keep seeing over and over.

To design and develop a game, you need a budget.  You need to figure out how long it's going to take to build each part of the game, assemble it, and then fix problems with it after its creation.  Some games will also need infrastructure to be paid for, such as servers, websites, and technical support.

Now take that frighteningly large number, and double it.

Hurts, don't it?

Now...  Double it again...

No, I'm not just being mean.  In fact, I'm probably understating how much this costs.  Every game is going to have delays, problems, and disasters.  Use Google to look up just about any game company, and look at how often games get pushed back from their estimated release date.  They don't do that to tick off their fans.  Every extra day a game takes to be released is more money they are paying the developers to make it.  That means more money spent, and less made.  They push back the date because that giant company that makes games all year long?  They ran into problems they could not predict.

So will you.  It's inevitable.  Prepare for Unforeseen Consequences.  (Game joke there, look it up)

Even for a short game, let's say, a month's development time.  This game needs minimal art assets, just a few textures / simple models, a basic menu interface, and a bunch of code.  It took 3 days to design, and 18 to develop.  The final nine days involved some fixes, adding in an ad banner system and some other android/iPhone plugins, and uploading to the sales server with some advertising blurbs.  I also built an achievement system in there somewhere.

For what I get paid, that was around $5000.  For a simple puzzle game.  With 3 models, a couple of textures, a single gui, and an achievement system.  It had a few simple sounds, and some simple particle effects.

I built that myself, with no additional help, so there were no hiring costs.  Additionally, since I did all the work myself, there were no delays due to misunderstanding or development bottlenecks (when one person is waiting for another person to finish work they need). 

Consider what the game you want built will cost, comparatively.  Sure, you can cut costs by hiring cheaper labor, but they will either quit when they get better pay somewhere else, or fail to deliver due to inexperience.

Time is important too

While it's true that you can stop and restart the clock on your project at any time, there are some costs involved with that as well.  The primary one is that the people you have on staff are not working.  this either means you're paying them to do nothing, or not paying them.  If the latter (and often the former) then you can expect they are looking for new jobs and will grab one the moment it becomes available.  This leaves you with having to rehire new people to continue the work, and paying for the time it takes them to become familiar with the project material.

And by the way, you DID get the source files from your previous staff, right?  No, not the models already imported into unity...  The Maya models and high-rez textures.  The originals.  

No?  That's work you paid for that's going to have to be done over.  

What's worse, is if you have too long a downtime on a project, you can be sure the art will suffer as new visual quality levels are reached by the major game studios.  You are already playing catch-up with them in terms of AAA graphics.  Now you're building a game six months behind what they're making now due to the delay...

Don't forget to tell people about the game

Another thing people forget is that games do not market themselves.  People have to know they exist in order to buy them.  Advertising costs money, takes time, and is really its own professional field.  While it's always possible your game will go viral without it, it's also possible you'll get struck by lighting a few times, or win the lottery, or both...

To Be Continued...

This has ended up being a longer post than I anticipated, so I'll stop here and continue it later.  I hope this helps in some small way, and prevents much of the regrets I see happen so often in game development.

Monday, March 31, 2014

Skype vs. Google Hangouts: Which is better for meetings?

I work from a virtual office.  My cell phone, computer, and network connection is more important to me than my car.  Due to this, Skype has been my primary method of holding meetings for nearly a decade.

And Google+ Hangouts is probably going to change that.

As both a consultant and project manager, I have had to host meetings for up to a half dozen people on my computer.  In every case, Skype was used because while it wasn't really "stable", it WAS available to almost everyone.  This made it almost mandatory to use, as trying to get individuals to load new software was troublesome at best.

And now, we have Google Hangouts.  With nearly everyone having a Google account now, it's a simple process to start a hangout, send each recipient the url for the hangout, and wait for them to connect.  At worst, I have to show them the settings button to setup their headphones, and possibly turn on their camera.

From there, everyone can share their desktops, make diagrams, and share documents in one go using google drive.  This makes it the new standard I would like to use for my meetings.


Some don't like using it, quoting they already have Skype,  that it does fine, and that they don't need the features Hangouts uses.  Not to mention that everyone else they know is on Skype.

My advice?  Your friends are probably also on hangouts and don't even know it.

Try it.  Not for any other reason but that it seems to work just as well, and has better connection features.  At least consider it for your virtual office.

Thursday, January 9, 2014

TriBloom out on iPhone

And now, the second mobile game I developed has released from Maguy Studios!


The first puzzle game I designed, this one used triangular pieces rotating around a bolt core that slides them around the board.

Overall, I'm very happy with how it turned out, and glad both of my games are currently out.

The few models were made using Blender 3d, and the game was assembled in Unity.

Tuesday, January 7, 2014

Dungeon Creep has been released!

Dungeon Creep - screenshot thumbnail
My first Android game has now been released on the play store by Somnium Entertainment!

Dungeon Creep is a puzzle game of combat and strategy. Have your Heroes slay their way through endless hordes of Creeps on their quest to gather glory and riches. Try to earn the most XP on your adventure to compete with other players.

Dungeon Creep features:
  • Tasty graphics that will leave you battling for more
  • Easy and fun to play, but a challenge to fully master
  • Score Leaderboards for you and your friends
  • Items to unlock in our in-game store
  • Treasures and Magic to help with those challenging dungeons
  • Achievements to unlock

Last, but not least, a big THANK YOU goes out to everyone who has played Dungeon Creep!
Already a fan of Dungeon Creep? Like us on Facebook or follow us on Twitter for the latest news:

Feel free to get it here.  Yup, it's free with a remove ads option!

Thursday, December 19, 2013

Review: PlayMaker and nGUI, two tools that should always be used together!

Today, I review the Unity4 tools Playmaker and nGUI.  I purchased both tools for a project I was working on, and have had no real contact with the companies making them.

I will not be covering the feature set of each tool, since this is published on their websites.  I will instead be talking about the reasons I feel these tools are useful to a consultant/designer like myself, and why you should get both for your own toolbox.

Playmaker (https://www.assetstore.unity3d.com/#/content/368) is a tool allowing you to visually design logic for use in your games.

nGUI (https://www.assetstore.unity3d.com/#/content/2413) allows you to visually build menus and work with menu based visual effects.

PlayMaker NGUI Scripts (https://www.assetstore.unity3d.com/#/content/10257) is a bridge program allowing you to use Playmaker and nGUI together.  NOTE:  While this software was not totally up-to-date when I started using it to bridge the above two tools, it has since been updated by the creator.  This by itself should be a selling point, since many stop supporting their tools in unity soon after making them.  Kudos to merlin981 (http://forum.unity3d.com/threads/192544-PlayMaker-NGUI-Scripts)

These three tools allow me to not only make my menus visually, but then to connect them to programming logic without ever having to ever write a line of code.  While I am an advanced C# programmer, I can say from experience that being able to flowchart your menus and gamestate logic is a good thing, and well worth the $200 I spent on these tools.

And before you programmers out there tune out this review, it should be noted that PlayMaker can tie into your own code with little effort.  Playmaker, at the very least, can send SendMessage signals to any script you like.  Truth is it can do a LOT more than that, but you can look up PlayMaker and read that elsewhere.

None of these tools are effortless to use.  They take a willingness to learn how they work, just as Unity does.  In exchange, they offer you a better (not necessarily quicker) way to design your project and menus.  One that allows you solid a design and debugging process that can be modded much easier than traditional coding alone.

Combine that with PlayMaker's efficiency and nGUI single drawcall for rendering, along with the fact they are fully compatible with both android and iOS, and you have a solid winner.

I've been building a toolbox for Unity for a while now, and I have to say that I can't really see myself regretting these purchases any time soon.

Tuesday, November 5, 2013

Kodos Can't Fly

Book Cover
Someone asked me for proof I can do book layout and have a sense of humor.


How about this?  Kodos Can't Fly: A World of Warcraft children's book.

This book was created as a lark while my wife and I played World of Warcraft.  While we have not played in a while, we still feel that making this was one of our favorite memories.

Good times, good times...

Wednesday, October 23, 2013

Unity and GUI scaling, the easy way...

Today's update is about GUI design in unity, and some ideas on how to make it a bit less annoying to use.

Anyone using the GUI system knows that it can be tough to make it work with multiple resolutions and aspect ratios.  In fact, this issues is the lead one clients come to me about when working with the GUI system.  Well, after "What do you mean Unity does not have a built in GUI editor?"...

Well, there is an easy method to deal with that.  Using the GUI.matrix variable.

The idea is to set a variable with the default width and height of the screen in pixels you want to design for, in this case, 1920x1080.  Once you know that, you build your interface based on the idea that EVERYONE will use that resolution.

Then at the beginning of every OnGUI() call, you just set the GUI.matrix and it will do all the hard scaling changes for you.

Example below: