Game Development Videos to Watch

Obsessive-Compulsive Development: Retro/Grade Postmortem

GDC Vault video link (~33 minutes).

Matt Gilgenbach discusses what went wrong with the development of Retro/Grade and (perhaps) common pitfalls between developers and their labors of love.

 

Guy Kawasaki: The Top 10 Mistakes of Entrepreneurs

YouTube talk at UC Berkeley (~84 minutes).

Guy Kawasaki is probably best known as former chief evangelist of Apple. He refers mostly to software startups/entrepreneurs in venture capital stages, but many of his points and lessons are relevant to game development, especially with the rise of crowdfunding.

 

Brenda Romero: Jiro Dreams of Game Design

GDC Vault video link (~57 minutes.)

Brenda Romero, known for her work on the Wizardry series, talks about making great games. She speaks on deliberate and comprehensive design, draws connections between the culinary arts and games, and failure.

 

Juice it or lose it – a talk by Martin Jonasson & Petri Purho

YouTube talk with demo game and code links (~15 minutes).

Martin Jonasson and Petri Purho of Jesus vs. Dinosaurs fame talk about bringing your game’s attention-holding capabilities to the next level. Filled with salient demonstration and a real-time generated audience laugh track.

Steam Marines Development Overview

Crucible

It started as a game called Quad. Slated as a one year Chess type game it became a bare bones tech demo in early 2012. From there it morphed into a fantasy RPG then a steampunk roguelike and renamed to Steam Marines.

Public builds of Quad started in April of 2012. By the time Steam Marines went on sale on Desura on 4 September 2013 the game had been in open alpha for Windows and Mac for a year and a half.

 

Greenlight

After over a year Steam Marines was Greenlit on 16 October 2013. On 4 September 2013 it launched on Steam’s Early Access.

Two of the first posts created on the Steam discussion forums were the Roadmap which laid out the long term future of Steam Marines, and the FAQ which laid out the state of the game, such as controller support and platform support.

Steam Marines was still in alpha and this was clearly communicated. The main goal at this point was to get all major features and content in.

 

Sales

Steam Marines participated in the Steam Holiday Sale 2013 which started on 19 December. On 27 December it was voted as the Community’s Choice and went on sale for eight hours at 75% off.

By 2014 Steam Marines had, just four months after it had transitioned from open alpha to paid alpha, sold over 50,000 copies across all distribution platforms.

 

Recently

Steam Marines is fully released after spending over a year on Early Access. Nearly all features initially presented in the Roadmap were implemented. Some features, such as deck destruction which I considered a major feature, were cut in part due to Early Access players offering feedback that such a system was undesirable. Some features which were not promised also came to fruition such as a native Linux build, deeper marine customization, and modding capabilities.

The vast majority of known bugs have been squashed. The game is stable. It is feature and content complete. Word of mouth continues to be a significant driver of new players.

 

Retrospective

I’m quite proud of what I’ve accomplished since early 2012. The initial one year project scoped up to a two year roguelike, then was extended for more features once it hit Early Access which was largely successful.

I’m probably most proud of my engagement with the community. There are many valid criticisms one could level at me regarding my design decisions, UI/UX implementation, choice of art aesthetic, et cetera, but I don’t believe responding and engaging with the Steam Marines’ player base is one of them.

I learned about game development and design, met a lot of interesting people in the industry, saw more sides of the game/player community, and did well enough that I can continue making games.

That’s a win.

 

Thanks for reading,
Mister Bums

You can contact me at [email protected]Twitter, or leave a comment below.

Budgeting

(Note: This is primarily aimed at indie game developers because of recent Reddit and Twitter conversations involving costs, budgeting, and valuing people’s time and efforts.)

 

Funding

I’m firmly against “flexible funding” like IndieGoGo allows. Flexible funding means the campaign receives whatever funds it has raised regardless of whether the “goal” was reached.

The two main reasons for this are:

  • Flexible funding means the creator(s) don’t have to think hard about what they actually need to accomplish the project goals.
  • Flexible funding means they’ll get an inadequate (according to them!) amount of money to try to accomplish the project goals.

Like any other commercial venture one of the biggest risks is simply that the product will not be delivered. This is why a prototype is so significant to have in a crowdfunding (CF) campaign. If you have an early, but working, product in hand that people can poke at and use it greatly mitigates this risk.

Technical and creative chops are requisites for shipping games, but something else can also derail an otherwise on track project: funding. This is why crowdfunding has exploded in recent years after all; people need money to create games.

Aside: Savvy readers will most likely notice a venture capital (VC) undertone to this blog post. While there are lessons one can take away between VC and CF, please note that they are not the same. CF, despite what many people say loudly and repeatedly, is not investing outside of an obtuse, layman definition of the term.

 

Budget

You should have a budget. There are many kinds of budgets but revenue, costs, and profits should always be a part of them. For a game development budget you should have, at the bare minimum, these items:

  • Labor and asset creation costs (e.g. cost to model, rig, and animate a character.)
  • Capital expenditures (e.g. cost of a development computer and two monitors.)
  • Marketing/PR/Advertising costs (e.g. buying Google ads.)
  • Tech support costs (e.g. paying someone to respond to irregular issues.)
  • Quality assurance costs (e.g. pay tester to regression test.)
  • Distribution costs (e.g. platform X takes Y% of gross.)
  • Unit price (e.g. $9.99 per copy of the game.)
  • Projected sales/revenue (e.g. gross $50,000 six months after the game’s release.)
  • Tax/legal/other fees.

In other words you need to create the game, market the game, sell the game, support the game, and collect your money.

If at any point you read one of the above bullet points and thought, “Well I’ll do that myself so it costs nothing” you need to pay more attention to this blog post. None of those costs are zero. They all cost something. You may not personally pay the cost. The cost may be intangible. The cost may be tangible but is not measured in dollars and cents.

But they all cost a non-zero amount.

There was a Reddit post in /r/GameDev recently that highlighted the primary problem: people do not understand what constitutes a cost. I’ve chosen some in-context quotes without attribution to demonstrate:

“Not everyone works on their game full time. If I work on a project after work in my spare time, then that is a 0 budget venture. I’m not spending any more money than I otherwise would have just sitting and watching TV.”

“If I worked on a project for a year in my spare time, it would be exactly the same financially as if I just played video games instead. Therefore, its not cost me anything.”

“Doing game devNas a hobby, you can’t count something thayt would be there regardless as an expense. Ill have a job and pay living expenses whether I work on a game or not.”

“I have a full time job and just work on games in my spare time. As for whether I value my spare time, what does it matter? If I’m not coding, I’ll be playing video games, or watching TV, or playing a game with my wife. I’m not spending any money doing game dev that I wouldn’t be otherwise.”

“It’s called ‘free time’ – you do whatever you want with it and don’t generally put a price on it.”

“For people who are developing games on their own, and have no outside funding, adding their own time to the budget is useless. They are not spending any money on themselves to make the game. Obviously, things would be different if I had a crowd funding source like KickStarter I would probably start budgeting my own time.”

“The purpose of a budget for independent devs is to figure out if you have enough money to complete your project, and if not how much you have to raise or how much scope to cut.
A high school kid working evenings on his game reasonably could have a budget of zero.”

I think you get the idea. You should have winced very hard at every single quote above. They all demonstrate a lack of understanding of opportunity cost and the far less complicated idea that time and effort are not free.

The last is true on its face, but if you need further convincing a simple counter-example is that if your boss asked you to work overtime for extra pay, and you agreed, you surely would not consider the overtime pay as free money. Despite the fact that you worked in your “free time”. Despite the fact that you didn’t need to work overtime. Despite the fact that you did not out of pocket spend more than sitting down watching television.

You certainly would not appreciate your boss forcing you to work overtime for no extra pay because of those facts.

So you should have a budget. A budget with even rough estimates will give you an idea of whether you can afford to complete a project (assuming nothing goes wrong!) A budget lets you know the lay of your costs so you can better determine what can be cut or extended. A budget is what a professional makes because whether it’s your own money on the line, or someone else’s, you can be confident that you can deliver within the constraints and specifications of the project.

Aside: There are serious ethical considerations involved with failing to understand opportunity cost and cost in general. This kind of financial incompetence manifests in vaporware, ridiculous CF campaigns, and, perhaps most insidiously, the poor treatment of freelancers.

It is no secret that there are many clients (game developers) that undervalue the time and efforts of artists, musicians, sound engineers, writers, et cetera. Grab a hold of any freelancer and she’ll be able to tell you horror stories; she’ll also be able to point at all her freelancer friends with similar stories to share.

Financial competency is not just a project management necessity, it’s also required to not swindle yourself and others. The stakes are raised in CF campaigns when other people’s money is involved.

 

Real World Costs

Hopefully by this point I have convinced you that time and effort are not free and a budget is useful, if not completely necessary. The same Reddit thread I pulled the quotes from also had some developers who kindly posted general overviews of their own costs:

“We’re a team of 4. We spent roughly $100k developing Shattered Planet for Android, iOS, PC, and Mac, paying ourselves $2k a month for 9 months, from an incubator/accelerator. We’re officially incorporated, but currently we’re hosted by a university as “visiting researchers” because we get free rent and computers/software for doing so.

It was our first game together, and I anticipate we’ll be more efficient for our next one, Moon Hunters, which has a budget of $150k (mostly from an investor, but partially from Shattered Planet sales). One of us has gotten a raise, but it’s not due to skill/value, it’s due to being deeper in debt than the rest of us and being unable to continue any quality of life at $2k a month. This will be coming out of his bonus from Moon Hunters sales.”

Tanya X. Short

 

“$17,475 after spending 1,382 hours over the past 385 days, with at least another 6 months to go before 1.0 (though it will be released before that).

I don’t have a budget, but that doesn’t mean I don’t have expenses, because I certainly value my time which could have been spent doing something else like watching TV. (Not sure why, but that example seems to be brought up every time one of these threads gets discussed. That I haven’t owned a TV for more than 15 years is beside the point 😉

I value my time based on the hourly wage I’d need to get by assuming full time work (i.e. 40 hrs/wk). That comes down to $12.50/hr. Sure I could (and do) make more doing other work, but I’m willing to drop my rate as low as possible since I get to follow my passion.”

Josh Ge

You can also refer to an older blog post, Commercial Indie Games & Risk, where I discuss the development costs of my game Steam Marines as well as Braid, N+, and Dustforce.

 

Valuation

There can be a gray area over what constitutes fair remuneration for their time and efforts depending on skills, experience, and geographical location, but the overarching principle is the same – it’s not free.

I’d like to draw attention to 1) Tanya’s comment about rent, computers, and software since her team was categorized as “visiting researchers”, and 2) Josh’s comment about his $12.50 hourly wage.

While Tanya describes the goods and services as “free” they’re not literally free. I’m not 100% familiar with her team’s academic arrangement but generally speaking visiting researchers are required to lecture/research while they are visiting; the academic institution is simply spreading the cost across its faculty/staff/services/capital structure. This is a value proposition exchanging salary for amenities that have an economy of scale.

I suspect I would consider the budget valuation on the low end with regards to Shattered Planet, and that seems in line with one team member’s raise in Moon Hunters development.

Aside: If you work from home (in the US) you can claim home office deductions. Further if you are a student who is dependent on your parents, there are still tax incentives to file rent/food/et cetera as business expenses if the student is actually running a business from the home, even if the business has a net operating loss.

In Josh’s case he lives in Taipei, a fairly inexpensive location as far as international cities go. Moving to, or already being in, an area with a low cost of living can be an effective cost cutting measure.

 

Opportunity Cost (again)

Opportunity cost is, generally speaking, not intuitive to most people. Even people who should understand opportunity cost may not. Please understand that “I would have done <insert zero financial value activity> instead” does not imply zero opportunity cost. In fact it is very, very difficult to incur zero opportunity cost – some might say that for all intents and purposes it is impossible to do so.

Aside: Away with your PPF graphs, economics students!

As mentioned earlier cost, not just opportunity cost, does not have to be measured in dollars and cents. Cost can be intangible.

 

Closing Thoughts

Opportunity cost is real. Time and effort have value, although not necessarily positive value. These are true for everyone – yourself, yourself when you’re hired to perform a job, and others whom you might hire. Do not deceive yourself into thinking your time and effort cost nothing. More importantly do not deceive yourself into thinking other people’s time and effort cost nothing.

There are zero reasonable circumstances under which time and effort are free. It doesn’t matter if you’re a student, if you’re already financially secure, or your primary useful skill is licking stamps.

Aside: I pointedly observe that even your corpse has value, which is why people can be body donors.

So spend some of your valuable time and effort and determine how to use the rest of it efficiently and effectively.

 

Thanks for reading,
Mister Bums

You can contact me at [email protected]Twitter, or leave a comment below.

It’s (Not?) About the Money

Bias

I’m biased. I like to eat. I like being kept around the normal range of human livable temperatures in all seasons. I like to save money so that one day I’ll be able to retire. Sometimes I like to buy games so I can play them.

This blog post is mostly a response to this article and the conversations that ensued around my Twitter. There is also a TL;DR at the end of the post, but I hope you resist the urge.

 

Anger

Irritation is the most accurate description for how I felt after reading that article. But that irritation fully blossomed into anger when I started seeing financially successful indie game developers siding with the author of that article.

 

Money, the making of

I would like to start with the article’s premise: that indie gaming has an obsession with making money. Source, please. Anyone? I didn’t think so*. (Note: see bottom of blog post.)

Between the massive amounts of game jams, experimental games, clones, quasi-clones, et cetera made for fun by students, hobbyists, and even professional game developers, it’s not a stretch to say that there are a lot of games made without even an attempt at financial remuneration. I personally participated in 7drl 2014.

But I’ll give you the premise. I will give you the premise just so we can move on.

 

Bankrupt: Creatively, but not monetarily!

Holy shit.

App Promo - Wake Up Call
App Promo – Wake Up Call

You’re telling me that indie developers are so focused on making money, too focused on making money, that 59% of app developers don’t break even on development costs? I know a little bit about development costs. More importantly, I know many developers don’t even know how to calculate development costs. I know this because I get into arguments with them about valuing their own time and efforts and about opportunity cost. If anything the real figure is higher because they are chronically under-reporting their development costs.

Another survey paints a very bleak financial picture of indie game developers:

“Half of indie developers made less than $500 from the sale of their games (which includes in-app purchases and DLC); 13% made between $500 and $3,000, 15% made between $5,000 and $30,000, and 5% made over $200,000. Alternate sources of income (advertising, awards/grants, sponsorship opportunities) remain hard to obtain; 79% of indie devs didn’t make any money from these methods at all. Of the devs that did, 25% made less than $100, 28% made between $100 and $2,000, 22% made between $2,000 and $10,000, 5% made between $10,000 and $20,000, and 20% made over $20,000.”
– Game Developer Salary Survey of 2013 

I know what you’re thinking. Well, they’re not making money because they were making their games with the goal of making money, not making great games! Bullshit for three reasons:

1) Neither you, nor anyone else, is an authority on great™ games. There are simply games that have varying numbers of players and customers. I think 868-HACK is amazing. Other people do not. Most other people have never heard of it. This is unique to zero games.

2) Minecraft vs. Infiniminer. Spelunky pre and post XBLA.

3) There is literally no hard evidence that making a game for money, even primarily for money, results in a terrible™ game. At best you can offer examples of games that were made for money that turned out terrible. You can also find examples of games clearly made for money that turned out well in both Indie and AAA spheres.

Aside: #3 is also a crazy claim because you are currently using about five bajillion (rough estimate) pieces of interactive software, most of them created with commercial profit as a primary motivation, in your daily life that you generally do not consider terrible. They are creative, functional, have cultural impact, and are generally good™ products.

But games are special. Special little snowflakes.

 

Status Quo

I mentioned earlier that the article only irritated me, that the anger came after financially successful indie game developers hopped on board the “money is evil and corrupts all!” choo-choo train. I iterate this because I really want to hammer this home:

Any time someone who has profited from a system tells you that you are focusing too much on the profit, tell them to piss off. Or at least quietly view their opinions with internal skepticism. How convenient that they’ve gotten theirs and:

  • They’ve got the money and tell you not to chase the money!
  • Overcrowded (Steam/Greenlight/cough)! Too much competition for established developers!
  • Starving? Doesn’t matter – focus on the intangibles!
  • Lazy comparison to creative conservatism between Indies versus AAA. How convenient that they leave out every other relevant bit of information and just equate money and creative stagnation. You notice how these same people don’t go crowing about how chasing money is bad when they, or people they know, need to run crowdfunding campaigns? The story changes so fast it’ll make your head spin.

Aside: The Money = No Creativity argument is particularly galling because it promotes the idea that you have to be a starving artist to be a real artist. Or a real indie.

It also promotes the idea that indie developers should be allowed to get away with paying their employees and freelancers less than non-indie developers.

 

One kernel

There is one kernel of truth in that article. It comes in late, near the end:

“… the games that are most widely written about, from Flappy Bird to Grand Theft Auto to Minecraft, are the financial juggernauts. But these are not the only success stories.”

Well shit. That’s sort of the domain of the writers writing about games, isn’t it? It seems like many of those writers have an obsession with using financial success as the only metric to write about games.

Aside 1: You want your game to be culturally relevant? Get people to play and tell other people about it. That’s the only way. You may think FarmVille and Angry Birds are crap, but you didn’t have to Google either of those two games, did you?

Aside 2: This doesn’t just apply to (indie) game developers. Are you a writer? Musician? Sculptor? Get people to read, listen, and look at your stuff. That’s the only way.

 

TL;DR

  • Indie game devs are poorly paid. Shut up about too much focus on money.
  • If you’re okay with maintaining a status quo that supports you at the expense of others in your industry, I don’t wanna be friends with you.
  • If anyone is overly focused on indie games and money, it’s apparently people writing about games (me?)
  • To indie game developers who are new and/or struggling: chin up, make games others can’t even dream of, and never be afraid to ask for payment.

  [email protected]Twitter, or leave a comment below.

Talking About Talking

(A terrible event happened last night in Santa Barbara, California. There are a great many issues that stem for this single incident. This post is not a direct response, but more a collection of thoughts.

I would very much appreciate you reading it in its entirety. I promise it will not be long.)

 

Words Have Power

The saying “all talk and no action” is inaccurately disparaging if taken literally. Words can transform ideas into reality, mobilize populations, and are responsible for progressing entire bodies of human learning and knowledge.

But the best thing about words is that there are so many, in so many combinations, that it’s hard to wrap your head around how much you will never know. It’s a good form of humility to learn to enable you to say “I don’t know” when you don’t know something.

But this post isn’t about what you don’t know. It’s about what you already know.

 

Meanings

Some words I don’t like. They can be loaded with meanings that are outdated or skewed or wrong.

One of those words is gender. I use it because it has meaning, but don’t like it because its meaning can imply something where I intended nothing. When something is called a “gender issue” what pops into most people’s heads is not what gender issues actually are. Most people think of gender as binary and when gender issue is mentioned the meaning that is delivered is “women’s issue.”

The same can be said for ethnicity, sexuality, et cetera. When we say “racial issues” what people think is “ethnic minority issues.”

The first lesson is that words have power, and you should learn to harness words lest they harness you.

Aside: There’s a point about power (and privilege) structures in there, but that isn’t within the scope of this post. It’s difficult to have the strength of introspection to see when you have it good. It’s much easier to identify when life throws you a curve ball.

 

Intentions

Many of the problems women suffer from involve men in a central way. Men are perpetrators, victims, and bystanders and it affects everyone.

Aside: The point is not that any group suffers less, equally, or more than any other. The argument is that we live together and it affects us all.

The second lesson is that you shouldn’t be a bystander. I don’t mean you need to write blog posts, start campaigning, start organizing, or anything on that scale. All these issues, all these -isms, are pervasive. All you have to do is this: don’t let these wrongs slide.

When they happen you might be terrified. You got up, had a good breakfast, and life’s been relatively nice. Then something happens. Maybe it happened to you personally. Maybe a co-worker, a relative, or a friend says something. It’s bad and you know it’s bad.

If and when that happens, say something against it.

They say bravery is being scared of doing something but doing it anyway. It is easier to crusade on the internet surrounded by like-minded individuals. When you’re physically in a group of a dozen people and one person says something, and ten other people laugh, that’s when it gets hard.

Aside: It’s easy for me to say this. I’m a large man and I’ve made people step backward just by frowning at them. I also have a natural tendency toward argumentation.

I’m not saying anyone is a coward for not speaking out. There are also situations when it simply may not be safe to, and discretion can be the better part of valor. But I am saying this is how it has to happen for the situation to improve, and I mean this on a global scale.

If pressed I could give concrete examples of people admitting that, when confronted with these sorts of comments in real life they don’t speak up for themselves. Please speak up for others even if you won’t speak up for yourself. It can help to have someone to be brave for. Leverage that.

Aside: I’m saying “real life” as if the internet isn’t real life. It’s definitely real, but the internet also acts as a barrier to insulate us from recognizing human beings as actual human beings. Facebook has mostly put to bed the notion that it is anonymity that makes people more confrontational. It is the insulation, the physical separation, the internet provides that promotes such confrontation. Car doors and a few feet of space between highway lanes operate in the same fashion.

The converse, of course, is that in “real life” we are less likely to be confrontational – say, in the defense of another human being in an uncomfortable situation.

 

Mirages

Diffusion of responsibility is a real issue. The Bystander effect is a real issue. They’re why people can be left dead near a highway without report for hours despite hundreds of cars whizzing by in full view. They’re why, outside my apartment building a few weeks ago only two people, myself and a woman, investigated a young boy screaming for his mother at night.

It’s why in an emergency situation with many people you should point and call by name or otherwise indicate specifically an individual from whom you require assistance, e.g. “You, the man in the red jacket – call 911!”

It’s a complicated social issue. Not all incidents of non-help can be attributed (only) to those two factors. There are many, many others.

The long and the short of it is this: words aren’t just thoughts in your head or scribbles on a piece of paper or pixels on a monitor. Words also come from your lips and they can help people.

 

Thanks for reading,
Mister Bums

You can contact me at [email protected]Twitter, or leave a comment below.

The Indie Game Market (2014)

This post was primarily motivated by tweets swirling around my feed and, if I’m honest, because of Jeff Vogel’s blog post about the Indie Bubble which I neither completely agree nor disagree with in this instance.

Aside: Jeff, if you’re reading this – I love you. The Exile series is a significant reason I do what I do now. I promise to buy the original Exile some day and stop talking to the Shareware Demon.

 

There is no Indie Bubble

I mean this literally and precisely. There is no evidence to suggest that there will be a sudden crash in the valuation of indie games (if you believe I am straw manning the definition of “bubble” please skip to section Put it Together.)

Indie games are already both plentiful and inexpensive. There are two main forces at play here:

  1. Maturation of the market.
  2. Crowding of the market.

They are happening in tandem, but that’s a bit disingenuous as maturation is typically always happening. The main thrust is that the market is getting crowded with more products.

 

Maturation

Development and distribution of (indie) games right now is easier than it has ever been in the past. It is cheaper, more efficient, and the quality of games is rising. I know many don’t believe that because of the sea of junk that has appeared on Greenlight and Steam, but I don’t mean the average quality has risen – I mean the cream at the top has. If you’re reading this post you don’t need me to point out high quality examples of indie games.

 

Crowding

Because the markets and distribution chains have become more efficient more products are making it to market. At an abstract level every game is competing with every other game. At a lower, more concrete level this is not as strongly the case. If you’re looking for a turn based strategy game you’re probably not going to accidentally end up buying a third person cover shooter as a good substitute. You might, however, if cost or lack of good substitutes compels you.

 

The Combination

There has been steady pressure on the price of indie games for years now, primarily driven by bundles. The average cost of games has gone down. Apparently 37% of purchased Steam games have never been loaded. This is generally not what you see prior to a bubble. Prices need to actually be relatively high otherwise they can’t drop relatively low.

If you’re already getting most of your income from selling your game for less than two dollars a pop, there’s not much more down to go.

 

So What?

So competition will be stiffer. There will be less chances for exposure. As the industry matures more successful indies will have more resources and push the bar of quality even higher.

Do not fear the graphical arms race of AAA studios. You’ll have to contend with “AAA Indies” first. Indie games are still a hit based industry similar to the AAA games industry. Statistically speaking if there are more competitors there will be more hits.

 

Put it Together

Indie game developers are already poor. The vast majority at any rate:

“Indies still struggling. Despite the fact that indie devs are receiving more attention than ever before, the average indie still isn’t very well-compensated; individual indie developers averaged $23,130 (down $420 from 2011), and members of indie teams averaged $19,487.” – Gamasutra, 2013

So if you think I’m straw manning the definition of “bubble”, please note that lack of sustainability for small indies has already been upon us. If you thought it was a (financial) golden age you were probably already near the top.

The issues with Greenlight and the increasingly large Steam library parallel a lot of the issues in the indie game scene. Lots of products, but no good ways of sorting and finding relevant products. The problem is primarily one of query, not over abundance of product. Google isn’t bad because it has indexed thousands upon thousands of crappy, irrelevant sites. It’s good because you can type in a terse phrase and generally find relevant results.

In other words, focus on query and not curation. Curation is a very small part of the problem.

Steam’s game categorization is really bad; Indie is considered a genre. I think even the most definition liberal individual would agree that is not helpful. Contrast that with Shiny Loot’s genre and trait system. It has issues as well, such as the Casual genre, but look at Empire Building and Hack-n-Slash – why aren’t these on all distribution sites?

Steam has a user-led tagging system which is still immature. For example Transistor has tags for Art, Action, and Indie. You can find more examples – I’m not cherry picking.

 

What Do?

The first Do is to make your game available. Make it findable, make it searchable, make every encounter a potential customer has with it a pleasant one. This isn’t any different from now or ten years ago, it’s just more necessary than ever.

Aside: If you thought getting onto Steam was a one-way ticket to fame and fortune you were wrong. You’re more wrong now and will be even more wrong in the future.

Your long term goal should be to make a living without Steam.

Tag your images especially on social media sites. Learn about SEO. Learn about marketing. Learn about direct marketing. Pick an underserved market. Make your product stand out in some way.

Make your site mobile enabled. Make sure it loads quickly. Have a gameplay trailer. Have concise descriptions. Have embedded widgets people can use to purchase your game. Use Presskit. Go read everything at Pixel Prospector. Hit up TigSource. Hit up Reddit.

Make friends with journalists, Twitchers, YouTubers, and other people in the industry. Network. I know a lot of you aren’t people persons but make an effort. If you can’t convince a YouTuber with 100 followers to make a video of your game, good luck convincing someone to pay money for your game.

If you pick a generic product, put minimal time and effort, and don’t push hard at every opportunity you don’t get to complain that other people are breaking the curve. You would have failed anyway.

 

What Else?

Journalists need to cover more games. In the short term it doesn’t help them. It just doesn’t – reviewing popular games gets the views which generates their income. And they have limited time and resources like we do.

But in the longer term this helps everyone. This is an ecosystem and everyone involved has a vested interest in keeping everyone else healthy. The flip side is devs need to make games people want and are worth covering. This community has a two-way street.

Some devs participate in the community through jams, organizing events, et cetera. Some devs take the route of reviewing games, even games that perhaps compete with their own. Craig Stern does this in spades with IndieRPGs.com.

So after I spent the last section telling you how to overcome your competition, the second Do is to help your competition. Understand that the competition is primarily in exposure. If you’ve clawed your way to the top and have visibility look kindly on those who started after you, perhaps didn’t have quite enough time or energy to compete, or were just plain unlucky. Or maybe they just need it more than you do.

I have a website I recently created that showcases games by other indie devs. Honestly I don’t have the web traffic to have a significant effect for any of those devs, but the point is that many of them are turn based strategy games – same as the one I’m currently selling.

You could argue that they are the competition, and you’d be correct, but I seriously doubt anyone is going to look at two games on that page and think, ‘I love both of these, but I’ll only ever buy one.” They are not $60 AAA games.

That’s not intended to convince any holdouts. I just want to say I’ve put my money where my mouth is; that site is linked directly on my game’s website.

 

Thanks for reading, Mister Bums

You can contact me at [email protected]Twitter, or leave a comment below!

Costs of Unreal 4 versus Unity

This is intended to give a general idea of the monetary cost of using Unreal Engine 4 and Unity. It does not have a cost-benefit analysis of the technology involved although it touches on the platforms each engine can deploy on and associated costs where relevant.

I am endorsing neither engine. I refer to Unity 4 as Unity (as opposed to the yet unreleased Unity 5) to avoid confusion with UE4 (Unreal Engine 4).

Unless otherwise stated all dollar amounts are in USD.

 

Unreal Engine 4

Unreal Engine 4 costs $19 per month as well as 5% royalty of your games’ gross sales. The $19 allows you to access a snapshot of the current source code and you are allowed to keep it despite further updates. Simply pay $19 again (even months later) if you wish for an updated snapshot of the engine source.

UE4 allows you to deploy on Windows, Mac, iOS, and Android. If you are a subscriber and a registered Xbox or PlayStation developer you may also deploy on those platforms. (Thanks to Ryan Evans for pointing this out.)

In case you’re not familiar with gross and net terminology, gross means total sales – not just the money that arrives in your hands.

Example 1

If your game sold 10,000 units at $5 each it has grossed $50,000. If the platform you sold the games through takes 30%, you net

$50,000 * (1 – 0.3) = $35,000.

If your game was made in UE4 you would owe them 5% of gross which comes out to

$50,000 * 0.05 = $2,500.

However, UE4 also allows a quarterly exemption of $3,000 per product. If a game made in UE4 grosses $3,000 or less in a given quarter you owe nothing in royalties.

Example 2

If, in a specific quarter, your game sold 400 units at $2 each it has grossed $800. This is less than $3,000 and you owe $0 in royalties.

Example 3

If, in a specific quarter, your game sold 1000 copies at $7 each it has grossed $7,000. However the first $3,000 is exempt from gross royalties, so you pay 5% for

($7,000 – $3,000) * 0.05 = $200

Royalty payments are due 45 days after the close of each calender year quarter. This may influence when you choose to launch your games.

 

Unity Pro

Unity Pro costs a one-time fee of $1,500 or $75 per month. The subscription has a 12 month contract and upgrades are 50% of retail price (Thanks to Ryan Evans for pointing this out.) The one-time versus monthly cost breaks even at the 20 month mark.

Unity Pro allows you to deploy on Windows, Mac, Linux, Windows Phone 8, Windows Store Apps, and Blackberry. You must pay the same again for iOS and also for Android for Pro features (Thanks to Alex2539 for pointing this out.) That is, if you wish to deploy on Windows and Android (with Pro features) you must pay a one-time fee of $3,000 or pay $150 per month of development, or a combination of the $1,500 and $75 per month payment schedules.

There are no royalties for creating games in Unity Pro. You may use the free version of Unity for commercial products but only if in the last fiscal year your commercial entity (e.g. your LLC) grossed $100,000 or less.

A Unity Pro license allow for a two machine install. You can deactivate a machine to install/activate Unity Pro on another, but it is something you must manually do. (Thanks afroklump for pointing this out.)

 

Cost Comparisons

Aside from Example 1 which notes platform cuts to explain gross vs. net, this does not include those calculations.

If you’re not overly worried about cash flow or making rent then a strict overview of gross payments may be the best cost analysis.

If you were to build the same game in UE4 versus Unity for Windows and Mac, the game would earn you, the developer, more money up until it grossed over approximately:

Gross * 0.05 = $1,500

Gross = $30,000

This does not take into account UE4’s quarterly exemption whose money saved will depend on the timing distribution of your game’s sales and receipt of payment(s).

Example 4

If over the course of a calendar year your game sells 10,000 units at $9 each you gross $90,000. If during each quarter you grossed over $3,000 you will have needed to pay UE4

($90,000 – 4 * $3,000) * 0.05 = $3,900

in royalties for that year.

If you had been paying $19 per month that would come out to an additional cost of $228 for a total of $4,128.

So the raw break even point will depend on several factors.

 

What does all that mean?

It means that as your game grosses more paying royalties for UE4 will eventually surpass the cost of purchasing a (single) Unity Pro license. If you believe your game will gross ~$30,000 USD in sales then UE4 will end up costing you more in royalties.

However that does not necessarily mean that the value you got was less. In general when we spend money we expect something in return. In the case of a game engine we might expect a toolset more suited to our uses, perhaps a more convenient work flow, or something else that a competing service or product does not provide.

Remember that a core assumption of this cost analysis is based on creating essentially the same game in either UE4 or Unity. In practice this might not be a reasonable assumption.

As always perform your own due diligence.

 

Closing Thoughts

There are other issues to consider – licensing for multiple team members, collaborative workflow, technology familiarity, et cetera. This post was meant to be concise.

If I’ve made a mistake, missed something, or misrepresented something please inform me and I will make all due corrections with appropriate credit. As mentioned above it is not my intention to lead readers in any particular direction regarding which engine to choose.

Thanks for reading,
Mister Bums

You can contact me at [email protected]Twitter, or leave a comment below!

7 Day Roguelike (2014)

Jam, Jam, Jam

7drl is my first game jam, possibly being paired with Procedural Death Jam. I had an itchy feeling to make a Judge Dredd type of game (in terms of mechanics, probably not atmosphere or environment.) It will probably be called Crime Central (I can change it later if I want to!)

Due to some real life time restrictions I won’t get the full 7 days worth, but that’s okay; I can always think about it when doing some other, non-game related stuff. My main objective is actually to sit down and railroad a full game so I can get the full taste of Unity 3D for future projects. To that end this is a rough schedule I’ve got for myself:

 

Day #1 – Plan and design (~9 hours)

Determine main mechanics and aesthetic. Create some music so I can loop it over the next week and determine whether it’s annoying or not!

Get going on the core gameplay. Generate levels, spawn the player and enemies and obstacles, and get some basic interaction going. Write this blog post.

 

Day 2 # – Flesh out (~6 hours)

I probably made a bunch of mistakes in Day One. I will wake up feeling irritated and make a lot of coffee. Make a main menu. Make a death screen. Make a victory screen. Maybe make a boss. Save state?

Game options or alternate control schemes? This is supposed to be a full game, not just a tech demo!

 

Day #3 – Tweak and polish (~6 hours)

The game balance is probably non-extant at this point. Start to fiddle with resources, turn management, enemy spawn count and positions, et cetera. Is the game fun? Is it challenging? Is anyone going to play this pile of crap?

Think about open sourcing the code while eating candy.

 

Day #4 – Oh crap! (~3 hours)

This is the authorized time to panic. Last day to work on this so squash any remaining showstoppers, run through the game a few more times to make sure nothing obvious was missed, and build for Win/Mac/Lin.

Let the roguelike community eat my face. Maybe I’ll get lucky and find myself with more days/time toward the end. But 24 hours should be enough to slap something playable together, for sure!

Aside: Those are some famous-ass last words.

I’ll be updating this blog post as I progress. Interestingly if I succeed then Crime Central will be the first roguelike I finish, not Steam Marines.

 

Thanks for reading,
Mister Bums

You can contact me at [email protected]Twitter, or leave a comment below!

 

——————————————————————————————————————–

Updates

8 March 2014, 12:41 a.m. EST
Finished the main music loop for actual gameplay. Still need main menu music. May wait to do that later.

8 March 2014, 1:10 a.m. EST
Finished a basic level generator with placeholder graphics. Pretty easy to knock out if you’ve made more complicated level generators before. The real meat is ahead!

7drl 2014 - Day 1, Level Generator
7drl 2014 – Day 1, Level Generator

8 March 2014, 1:55 a.m. EST
HUD elements! I hate (G)UI so I figure throw some elements and slave everything to them rather than the other way around. Keeps feature creep in check, too.

Added basic enemies. Don’t let them catch you, or they’ll.. keep catching you? Added an event log (only one line – the last action taken.)

7drl 2014 - Day 1, Basic HUD
7drl 2014 – Day 1, Basic HUD
7drl 2014 - Day 1, Enemies
7drl 2014 – Day 1, Enemies

8 March 2014, 2:12 a.m. EST
Surprisingly easy to setup a basic minimap in Unity. Less than 100 lines of code, and only that many because of the weird nature of the player/enemy art. On the other hand it seems non-rectangular minimaps are a bit of a pita.

I felt a minimap in this kind of turn-based, first-person game is fairly necessary. As a lesson from Steam Marines players really want to know what’s around them. I actually had facing/turning cost an action point and people really didn’t like that. I eventually caved and added an option to make it cost 0 AP. This is my attempt to head off that issue.

Aside: I believe Eben, in Roguelike Radio Episode #68, referred to spinning in a circle to see around you as “lighthousing.” I think it’s a fairly accurate term.

Unhappy with the message log on the lower left. Not sure what to do about it, though. Not even sure what exactly I don’t like!

7drl 2014 - Day 1, Minimap
7drl 2014 – Day 1, Minimap

8 March 2014, 2:23 a.m. EST
Added a RogueTemple post to be updated with progress and build links once available!

8 March 2014, 2:31 a.m. EST
Enemies can now melee the player. Built an action point system for each enemy and the player. Current action point pools act as speed, meaning more AP = act before lower AP units.

Added death screen with fading to black, music fade out, and screen shake. Everyone loves screen shake. Screen shake was probably the hardest part. It’s also not very good xD

7drl 2014 - Day 1, Death Screen
7drl 2014 – Day 1, Death Screen

8 March 2014, 2:38 a.m. EST
Cross-posted to Reddit’s Screenshot Saturday!

8 March 2014, 3:24 a.m. EST
I’ve been practicing pixel art for about an hour a week for the last few weeks. It doesn’t show xD Still, this is the Enforcer. He’ll punch you in the face when he looks like the left side. He’s ready to be arrested when he looks like the right side. He is NOT crying. Really.

I will do better on my next enemy…

7drl 2014 - Day 1, Enforcer
7drl 2014 – Day 1, Enforcer

8 March 2014, 3:58 a.m. EST
No sexy screens this time. Fleshed out basic movements, attacks, and resource mechanics. Looking into combinations and chaining.

Put together a main menu. It’s two text buttons – not sexy.

8 March 2014, 6:53 a.m. EST
Implemented those resource use combinations I mentioned earlier along with some action chaining. Gameplay actually requires some thought now – huzzah!

Gang Member. Rude. Violent. Stabby stabby.

7drl 2014 - Day 1, Gang Member
7drl 2014 – Day 1, Gang Member

8 March 2014, 8:32 a.m. EST
Almost winding down Day 1 and Crime Central is almost playable. Well, you can play it, but it has no ending and no goal aside from “don’t die.” Three resources tied into combinations to use/regain each other, action chains for special abilities, three enemy types in increasing difficulty, and some placeholder tiles shamelessly ripped from Steam Marines. Will work on changing those tomorrow xD

Enemies are 2D and rotate to face the player and flip around when killed. Current status:

7drl 2014 - Day 1, Mostly Playable
7drl 2014 – Day 1, Mostly Playable
7drl 2014 - Day 1, Current State
7drl 2014 – Day 1, Current State

9 March 2014, 1:27 a.m. EST
After struggling with this for about an hour I don’t know wtf I wanted xD Was supposed to be a Techno Witch end game boss. Will probably make the surrender/arrest version later and stick it in after fiddling with it more.

But for now I’m going to cut my losses and go back to code!

7drl 2014 - Day 2, Techno  Witch
7drl 2014 – Day 2, Techno Witch

9 March 2014, 3:42 a.m. EST
Squashed a bunch of bugs. Tightened up the joystick axis controls; itfelt very sloppy when trying to execute commands quickly. In terms of making it a “completed” game I pretty much just need to implement the end goal and have a victory screen – huzzah!

I also have a design problem where it’s best just to dash for the elevator on each level. Need a sub-goal so the player may wish to explore/clear each level. Score is a possibility, but I’d like to avoid that if possible. It can be a lazy solution.

9 March 2014, 5:51 a.m. EST
Got quagmired in making the main menu fancy. I am an idiot.

9 March 2014, 6:48 a.m. EST
Some Win/Mac/Lin/Web builds!

Win x86 build.

Mac x86 build.

Lin x86 build.

Webplayer build (Note: This version is awful xD)

11 March 2014, 12:11 a.m. EST
More time to work on this! Going to finish that Techno Witch and add her as a boss – maybe with ranged attack or aoe?!? Implement an ending – and a secret ending? Also I want to add another chain combo.

11 March 2014, 2:20 a.m. EST
Implemented the Techno Witch as the end boss. Opted to keep her melee but give her power up abilities. The level generation also changes on the last level where she spawns.

11 March 2014, 3:28 a.m. EST
Added end game status and victory counter to the main menu. Added shotgun upgrade option after the player dies ten or more times. Game is essentially a complete (beginning/middle/end) product! Huzzah!

11 March 2014, 6:48 a.m. EST
I think I’m done? Polished some assets and UI. Added some sound effects for interaction confirmation. Pushing final builds soon.

11 March 2014, 7:30 a.m. EST
Some (final) Win/Mac/Lin/Web builds!

Win x86 build.

Mac x86 build.

Lin x86 build.

Webplayer build.

Unity 4.3.4 project with license file (Fairly certain I used no Pro-only features.)

 

That’s all for now! ^_^

 

 

*Lick*

(Note: I understand that communities are not singular. They are composed of multiple individuals. It can still be instructive to observe general sentiments and responses because they all blend into a singular sense, a vibe, a taste.

This is what I taste after licking the indie game developer community for the last few years.)

 

Sweet – Willingness to help other people

I don’t mean just other indie developers. As a group there seems to be a large portion of people willing to dedicate time, effort, and other resources to help others. Whether it’s raising money for specific needs, promoting other people, lending an ear or some motivational words, you can find it all within the community. While this isn’t unique to the indie dev community, I’ve found that it’s pervasive and that’s great.

The obvious examples are from crowdfunding campaigns via Kickstarter, IndieGoGo, GoFundMe, Patreon, et cetera. The less obvious examples are the micro-communities that develop around engines and other resources (e.g. Unity 3D’s user community is very friendly and helpful.)

 

Bitter – Willingness to destroy others

This manifested most recently regarding Flappy Bird, an app that grew extremely popular and apparently made the creator a lot of money – who then turned off that tap because of all the hate and threats he received. In some cases there was also a racial component.

This can also manifest in the Indie vs. AAA mentality. I’ve never seen an AAA dev shit on an indie dev for being indie, but I see the reverse on a daily basis. More to the point very few indie devs will even attempt to defend AAA. A lot of this is passive, tacit agreement.

 

Salty – Friendly rivalry

This may be my own bias at work regarding turn-based strategy games in particular, but I’ve also seen it in platformer devs, space sim/stragey devs, FPS devs, and others. The concept that we can all go far together is stronger than in many other entrepreneurial communities.

There are certainly people who still sabotage for eyeballs. I’m most familiar with Reddit’s Screenshot Saturday posts which recently underwent changes to combat this behavior.

 

Sour – I’m right, you’re wrong

The unwillingness to accept that people doing different stuff, or doing stuff differently, can be okay. This manifests in the more traditional language, engine, tool chain arguments, but also the types of games, production values, aesthetic choices, and design choices. The worst of this seems to come from developers who want challenging and compactly designed games hating on casual or simulation type games.

I am forced to admit I’ve fallen into this category on occasion although I try to rein it in. Being critical of games is good. Saying there is only one supreme type of game (that happens to be the kind you’re making) is just an act of masturbation.

 

Umami – The IDGAF attitude

Despite all the hate, despite all the naysayers, all kinds of stuff still gets made. Why? Presumably because people want it. They clamor for it, and sometimes they end up making it themselves. So no matter if people snort at Skyrim’s combat mechanics, or applaud Super Meat Boy’s controls, or cheer for more voxels or less.

Whether it’s meat and potatoes you’re looking for, or a nice garden salad, you can find it here.

 

Thanks for reading,
Mister Bums

You can contact me at [email protected]Twitter, or leave a comment below!

Thinking About Code

(Note: This blog post is mostly for fun. I don’t really intend on drawing any grand, sweeping insight into good or bad code. This is just me tired of squashing bugs and wanting to dig around in what I’ve created. I also promise not to talk about Big O.)

 

By the numbers

Let’s start with some Steam Marines v0.8.6a script source numbers!

162 script files
1747 script functions
43532 lines of game logic code (non-GUI, non-engine)
8415 lines of comments
4385 blank lines
3488 if statements
638 else statements
456 else if statements
305 switch statements
28 while statements
15 do-while statements

This turns out to be 9860 lines of code with only a single bracket, either { or }, on them. This means that the number of non-GUI game logic not including comments, blank lines, or trivial single bracket lines, is 20,872 lines of physical code. Of those nearly 21k lines 4,930 are control statements, or about 23.6%.

I don’t really know what these numbers imply, nor am I aware of anyone who has done analysis of “good” and “poor” code and gathered relevant statistics (although there probably have been.) But it’s interesting to note that almost a quarter of the relevant lines of code are about flow control. We are here and we want to go there.

This suggests a few more metrics to look into, namely how many functions need to be called and how many source files need to be touched to perform actions or respond to user input.

 

Complexity

I was taught to write re-usable code. Make it abstract, make that list of things be able to hold all the things! I’ve mostly abdicated this approach for coding games, at least from an object oriented perspective. But I do love functional programming, and that intrinsically allows for more re-usability. So maybe I haven’t abdicated so much as melded the concept in my brain.

It’d be pretty cool if every action was a single function that contained some straight-line code; no branching, no other function calls, just bam bam bam and we’re done. It’d be pretty easy to debug, too. But probably a nightmare to write with lots of duplicate code.

If we think of the number of functions touched to complete a task being a metric of complexity, functional code is a big help. Sure even functional code adds complexity, but it doesn’t change state which is the biggest help. We know that by themselves functional code didn’t screw something up, although some other code might have taken what they returns and mucked about with it.

Steam Marines is written with Torque 2D, but for the purposes of this post let’s ignore the engine guts and talk about script code execution only. What happens when the player presses the key to move in the left direction? Well, it enters a function conveniently called left in the input.cs file.

It essentially looks like this (minor details left out, but all files touched are included):

left – input.cs
—> globalInputLocked – input.cs
—> clearFireControl – fireControls.cs
—> —> clearTargetIndicators – fireControls.cs
—> engageCharacterActionLock – characterMovement.cs
—> canMoveToMapPosition – characterMovement.cs
—> getTilePositionFromIndices – dungeonGenerator.cs
—> moveUnit – unitMovementHandler.cs
—> —> growAndShrinkUnit – unitMovementHandler.cs
—> setSquadMemberFacing – facingHandler.cs
—> mountSightToUnit – weaponModHandler.cs
—> initializeReadout – readoutHandler.cs

Yowza! That’s a dozen (12) function calls to move a unit in one direction! It also touched eight (8) physical files. Like I said above I don’t know if there’s a good way to measure this stuff, but to me that feels like a lot of files to jump through just to see if basic unit movement is working.

To me the code structure works well this way, though.Code is split into small functions, each with a very specific job, and they are categorized into physical files based on functionality.

 

Doom 3 GPL Source

Counting just .cpp files in Doom 3‘s GPL’d source code shows that it has:

531 cpp (C++) files
377566 lines of code
115818 lines of comments
89582 blank lines
38829 if statements
5517 else statements
5767 else if statements
693 switch statements
1161 while statements
123 do-while statements

That’s 172,166 lines of physical code with 52,090 control statements, or about 30.3%.

I want to point out that I am in no way suggesting this is an accurate comparison, or that the code quality between Doom 3 and Steam Marines is similar. It’s not a full source comparison; I rather arbitrarily chose to ignore my GUI code, the Torque 2D engine code, and that Doom 3 and Steam Marines are remarkably different games. I also stripped single bracket lines out of my own numbers. Really the only thing going for this comparison is that it was only between .cpp and .cs files since I excluded .c and .h files from Doom 3. It speaks to code structure more than anything else.

But it’s still interesting to look at, eh? Maybe it suggests Steam Marines is way too complicated for it’s own good! To be completely honest I assumed Doom 3‘s OOP structure would have indicated relatively less flow control statements. So maybe this is a metric of nothing!

 

Now what?

I dunno. Wanna tell me your source stats?

Aside: I’ve churned out approximately 31 lines of physical code a day (that remains in the current dev build) for Steam Marines since starting on it – not including GUI or engine code.

I didn’t include GUI code because there’s not a lot of explicit flow control in that kind of code. Full script (not engine) numbers if you’re curious:

Steam Marines cloc
Steam Marines cloc

 

Thanks for reading,
Mister Bums

You can contact me at [email protected]Twitter, or leave a comment below!