bookmark_borderAnnouncing Indienamic & being realistic about earning money of your games

TLDR; I started a new company called Indienamic to build awareness for that brand so that I can build a community around the games I’m building. And, if you want to earn money from your games you have to cultivate that community, make high quality games, make people happy and do the number game. 15K visitors a month is not enough.

A while ago I said I decided to kickstart my dream to become an independent game developer (indie game developer).

In the incubator week I took a step back and reflected on how I wanted to achieve this seriously. I figured that in order to achieve this it would require me to build the game (of course) but also start with marketing right now.

So I introduce you Indienamic – a new identity where I’ll sell my games and blog about the journey building these games. A place where I hope to build a nice community of people who like the journey I am on and also like the games I’m selling. I strongly believe in a good and vibrant community in order to make anything you build successful.

The number game, how much do you need to earn a few bucks with selling games?

So lets get into a number game for a bit. Suppose you have a dream to build games and live from them. You’d need to earn money from your games. How much would that be? Well lets suppose you sell games from your website. A safe assumption is that 1% of your visitors will buy your product. Given that you can calculate how much traffic you would need in order to sell an amount of games. (this is excluding things like In App Purchases, this example is simply buying the game from your website)

Concretely…

Lets say, you earn 5 bucks a game and you get 15.000 visitors a month. This would result into (0.01X15.000) = 150 sold copies times 5 bucks == 750 bucks a month. 15K visitors may yield into 150 copies sold. You might want to ask more money, but I wager you equally need more visitors and even better a vibrant community.

Oh btw, 5 bucks is excluding any taxes. This alone would not cover all the bills to do full time game development.

Of course you also need good games, in fact you also need multiple games. And there might be other ways to get financially things in such a way you can make a living out of it.

Like I said before: My dream is build my own games and live from them. I want to do full time coding, making game music, graphics (learn, or buy), game design, blogging. On my own terms, creating cool games and making people happy!

And yes, this will take time, dedication, effort. The first step, Indienamic, is taken. I have a plan and I intent to stick with it. Part of that ‘plan’ is to let you know how it goes, and to be very transparent about it.

With that out of the way…

What is next?

What about the incubator week? Don’t worry, I’ll blog about that within a week – on Indienamic of course. There are still a few blog posts in the pipeline to share you the progress so far!

It would not make sense to set up a website if there was nothing to blog about right? 😉

If you are interested in my journey in game development – keep an eye out for Indienamic!

bookmark_borderHarvesting resources added to my Real-Time-Strategy Game

Note: Further development blogs are to be found at Indienamic

I am glad to say that the basic mechanics for harvesting resources, and thus a basic economy system, is finished. I have created a demo, this time with audio where I explain how it works + a bit behind the scenes! For Patrons I deliver an in-depth video about the source code for this feature in the coming weeks.

If you have any feedback about the video, ideas about game mechanics or questions about how this is coded… just get in touch!

Watch the video here:

bookmark_borderRTS Game: Building the game, plan of attack

In my previous post I announced the start of my dream: building my own game.

In this post I will elaborate further about the goal I have set and how I intent to reach that goal. Writing a game is, like any project, quite a challenge. It is a continuous process of ‘zooming in’ (doing the actual work) and ‘zooming out’ (keeping an eye on the bigger picture). Only that way you can be sure you reach the goal in the most efficient manner.

Like any project, to keep it clear what to do, there is a list of tasks. It is wise to (ball-park) estimate how much time they will consume. At the same time there is a desired ‘launch date’. This brings a certain tension as you want as much value (features/tasks) done on launch date. Usually you have a minimal amount of tasks you have to get done.

Since I am now the developer and ‘product owner‘ at the same time I experience both sides. I need to investigate what to do to reach my goals. At the same time estimate and do the actual work.

This blog post covers the questions:

  • What needs to be done?
  • When will they be done?
  • What is the ‘end-date’?

What needs to be done?

In the grand scheme of things (zoomed out), roughly:

  • make the game ‘feature complete’
  • make my own graphics, sounds, etc
  • easily distributable & installable

What is ‘feature complete’?

I am heavily inspired by the first versions of C&C (RA), and I feel that to have a minimum playable game there should be at least:

  • 1 resource to ‘mine’ to earn money with (est: 8 hours)
  • 1 ‘power’ resource (est: 4 hours)
  • 1 faction to play with as a player (est: 0 hours)
  • A simple tech-tree (structures) (est: 8 hours)
    • Central structure to produce other structures (Const yard in C&C)
    • Power plant
    • Barracks
    • Factory
    • Refinery
  • A few units which have a Rock-Paper-Scissors mechanism (est: 16 hours)
    • Infantry
      • Two types: rocket launchers and soldiers
    • Light unit (fast, trike/quad)
      • 1 or 2 types
    • Heavy unit (tank)
      • 1 or 2 types
  • A (random generated) map to play on (est: 4 hours)
  • A very simple AI to play against (est: 12 hours)
  • A clear objective (ie, destroy enemy) (est: 4 hours)
  • A beginning and ‘end’ of the game. (menu to start from, and ‘game won/lost’ screen). (est: 8 hours)

And I think if you really want to push it you can shave off some features. I believe the first step is to get ‘full circle’ as soon as possible. Meaning you have a concept of a game. It has a beginning and an end.

From here on I can expand scope to my ideal game. But not before I have done the two other important things.

Estimation: 64-80 hours (20% deviation)

Make my own graphics, sounds, …

The next important part is graphics, sounds, music, story, etc. As for graphics. At the moment I use Dune 2 graphics as placeholders. Once I have the game mechanics in place and I know which units/structures I need for the minimum version I can start creating/getting these. So in a way they are not required immediately, but they are required whenever I want to commercially release my own game.

Changing the graphics will have impact on some implementations for sure, although I do set up the code as flexible as possible, there are always cases that I have not thought about.

There is a caveat. Creating graphics is hard. It is not my primary skill. To tackle this I could:

  • learn to create my own (? hours)
  • find someone else who is willing to do graphics for me (0 hours, but $$$)
  • find premade graphics in a market place and use that (4 hours searching, and $$$)

The same logic can be applied to Sounds, possibly Music.

Estimation: 0 – 10.000 hours

Seriously: this is a risk and I need to decide which strategy to get a more reliable amount of hours.

Easily distributable & installable

Release early, release often. It is a phrase I use all the time when I am working at clients. The same goes for my game. There is a difference however. Usually I work on mid-large web applications. There is no need for customers to install anything to use the latest version of the website. When an organisation has implemented Continuous Deployment, it can easily deploy new versions at will. Customers automatically have the latest version upon a new visit of the website.

For applications that need to be installed there are several platforms out there. There is a reason why the concept of an ‘App store’ is famous. It delivers a web-like experience.

There is a lot to win here, the first step though is to make sure any user is able to download a distribution for their platform (Windows, Mac OS, Linux) and able to install the game. I already took the liberty of wanting to support these platforms. So yes, I target the PC platform. No mobile, game console, etc.

In that sense there are a few steps to be taken:

  1. Offer a distribution somewhere (website? distribution platform? need to figure out)
  2. Provide an easy installation procedure (how? install4j? etc)
  3. Provide an app-store like experience. (use a distribution platform like Steam?)

Estimation: 8-16 hours

Estimation is based on creating an installer.

When will it be done?

Ok great, so there is a lot to do. So when will all this be done?

Lets bring a few numbers together. The estimates and the available time.

Bringing the estimates together

I just take the hours from all 3 paragraphs above, and sum them.

Min: 64 + 0 + 8 = 72

Max: 80 + 0 + 16 = 96

(I purposely did not add the 10.000 hours from the graphics section, it seriously is way too unsure).

So basically, I am estimating that 72 to 96 hours should be enough. Meaning, given an 8 hour work day it would take 9 to 12 days to get a minimum version which is distributable in the easiest way. Without doing anything about graphics, sounds, etc. (using dune 2 graphics as ‘stub’)

Estimated time needed: 72 to 96 hours

This excludes graphics.

How much time do I have?

To calculate the amount of time I have realistically I also do a min/max calculation. The minimum amount being the amount I am 100% sure of I have. The max being added hours I probably can spend, but I should not count on it.

Minimum hours are easy. I have at least 8 hours a week (1 work day a week) to spend. And every 8 weeks I take a week off to spend even more time. This means in a period of 10 weeks I can spend 14 days.

The max would be weekly 0 to 8 hours more. I can spend a weekend sometimes, an evening, sometimes more evenings. It really depends on a lot of things.

I like to think in periods of 10 weeks, I consider a full 10 weeks as an ‘iteration’. When working on Magic Gatherers we used this mechanism and it worked out pretty well. Also, every iteration had a particular focus. The first iteration there was ‘from idea to launched product’ for instance. For this game it would be different of course.

One other aspect with time is ‘when should it be done?’. The easiest thing would be to use the iteration end-date. Considering that the first work-day is within this week, this week is counted as the first of the iteration. An iteration of 10 weeks will mean the end date is 29th of october.

Meaning:

End-date: 29th of october 2017

Time available: 14 days to 19 days (112 to 152 hours)

Looks like an easy feat!… oh wait, I have seen this before. This probably means I forgot something. Ah yes, the graphics… and so much more unknowns. Looks like it will be a close one.

So when will it be done?

Yes, good question, so in this case I choose to use the fixed-time flexible scope approach. Although I do know if the minimal scope is not met I will not launch the product. Then again, I really DO want to launch a product so I probably will be very harsh on the scope and just make it fit.

This brings me to another topic, priorities and goal. What do I try to achieve with releasing something at the end of iteration #1? I will elaborate on that in a different blog post.

Conclusion

It looks like it is feasible to get a minimalistic feature complete game done within the first iteration. That would mean at the 29th of october (latest) a downloadable and installable game should be available.

However, there are more things that need to be done that were not explicitly defined in overall 3 phases. You can think of, writing dev blogs, youtube video’s for demoing features, a monthly in-depth video for Patrons and so forth.

The only way to know is to just do it!

bookmark_borderDon’t tell me how – tell me your intent

Since I have founded my own company, I have worked for/with multiple companies. During those times I made a few observations I’d like to share. This is one observation.

TLDR: Give a team an intent and the team will give you the best path to that intent (goal). A much better path (how) than you could ever figure out yourself.

A lot of (it) organizations work in iterations (so called ‘Agile’). Often using a process (but not limited to) called Scrum.

Whatever you’d like to call the process, there is a need to build things. This need is often presented as a list and is (should be) ordered by priority. In Scrum this is called the Product Backlog. This list is often discussed in so called refinement sessions where the Product Backlog Items are being prepared for the next (coming) iteration.

One of the questions I’ve heard is: “how much work/effort would it cost to do [backlog item] ?”.

This is a very useful question, but also a dangerous one.

Business/Product Owner/Managers – Be careful what you ask for! – Example #1

Lets use a more concrete example:

[Backlog Item] says: “As [Organisatie X] I’d like to have a JSON implementation so that I can work with [party Y]”.

Considering the question we posed (“how much effort..” etc), the answer will be a quantity expressed in Story Points, hours or whatnot. This is valuable information, as a business owner you can make the translation (roughly) to the amount of money this feature will cost. You can then evaluate if this ‘is worth it’.

You have the answer to your question. But did you actually get that much further? What did you miss?

Business: Use your team’s brainpower! – express intent! (business value) – Example #2

Lets reformulate the Backlog item so we express intent first:

[Backlog Item] says: “to offer service X to our customer(s) we’d like to send order information to [party Y] so that we can deliver orders to our customers.”.

Ah, so the intent is to ship orders to a customer which (apparently) party Y is only able to deliver!

This is a totally different question.

So where does JSON come from? Is it really required to send orders? Could we perhaps export a CSV (which might be way easier to do?)? None of these possibilities are explored in the first example. Simply because the question was asked differently.

Business: Be careful how you ask things to be done on your product backlog.

Team: ask for the intent when you’re presented with an ‘implementation’ question

Of course, with Software Development not only ‘the business’ is playing a role. In fact, working Agile simply means that we’re working together. As long as there is an ‘it’ and ‘business’ as separate entities you will never get the full potential and effectiveness of your people. True collaboration means that all ‘entities’ (people!) within the organization are (should be) working together to make that organization as successful as possible, right?

If that’s not the case for you, just get to know each other better (grab a beer?) first. 🙂

So back to the Backlog item. Considering you get a question as in the first example. How do you get to the intent from there?

One of those ways is to ‘ask why 5 times’. If you take that to literally you might sound like a spoiled brat. (although there is some sense in asking why all the time).

A bit more practical would be to ask questions like:

  • what will [implementation] happen?
  • what do you need [implementation] for?
  • once [implementation] is finished, what will it be used for?

Usually this leads to the intent. As in: “once we have a JSON message, we can send it to [party Y] so they can process orders”. The ‘so that’ part is important. If it’s not clear, don’t be afraid to ask. You don’t ask them because you doubt the business or their competences. You want to be professional, not wasting money, and delivering the actual value.

Business value usually is represented in money. When it is not about money, it usually is tight to the company vision. If you don’t think this is the case, keep asking.

Sometimes there are exceptions. Lets say your product needs a payment provider. And the company has a certain agreement to use Buckaroo for payments. Then in that case you might get the “build buckaroo to process payments” story. Although ideally it is not the story you want. (Especially if it is critical and getting buckaroo to work takes ages, while you know some other payment provider can be implemented with a fraction of the effort).

Team: By exploring intent, you can answer the ‘true’ business need.

This eliminates ‘waste’ on several levels. Waste in time, technology and missed opportunities.

So what does this boil down to? – trust your team

So what does this all mean? That you as manager involve your developers sooner? Preferable before you need to build up services/couplings with 3rd parties? yes!

Before you get into contract negotiation with these parties? yes!

That the team tells you how to process payments? you bet!

That the team decides when to go live? Yup!

Let the team think of how to do cross selling? Or how to make your checkout flow easier? (so don’t hire an external party to deliver a ‘report’ in the team, so they can ‘fix’ it). yes!

Give the team autonomy. (= responsibility). Give the team an intent, and the team will do their best to fulfill that role.

You have to get used to it.

It is exciting.

But above all, it’s awesome in many ways!

Go forth and be great!

bookmark_borderMigrated from wordpress.com!

You might have noticed. I have migrated the website from wordpress.com onto my own domain. I have a few blogs (subjects) to come, regarding:

– Don’t tell me what you want – tell me your goal.
– I have been working in .Net Core (yes, .Net, not Java) and figured some stuff out regarding (integration) testing.
– And more…

Stay tuned!