Sunday, 26 April 2015

Why indies should care less about financial independence

Many people in the games industry think the word "indie" stands for "financially independent", and indeed this is something that a lot of indie game developers care about a lot. Although it is an important topic, I think we should care about it less: being indie should be about creative independence, not about financial independence.

You might argue that one is impossible without the other: if someone is funding your game then of course that someone is also influencing your creative decisions. However, what a lot of people don't seem to realize is that no one funding your game is also a big influence on your creative freedom. You will need some way to get food and pay the rent if you want to spend a significant amount of time making your game the best you can.

Disclaimer: this post is only targeted at those who want to make a living making games. If you are making games as a hobby in your spare time, then please ignore this post and do whatever you want! ^_^

Without enough money to make a game you will often have to cut back on the quality and size of the game. You might even have to choose a different game concept altogether. In many cases this influence might be much bigger than that of a publisher or investor. Game development is always about compromises between time and budget on one side, and the quality of the game on the other side. Having an investor might open up a lot of creative options, even if the influence of the investor also closes some.

Of course you can work around all of this by just making really small games. Nothing wrong with that, but being constrained to making small games only is just as much a creative limitation as a pushy publisher would be.

The ultimate solution is to just have a hit. Then your next game will have a big budget and you will have complete financial independence. But few people have a hit and you cannot just force yourself into one. Until you have that hit, you will have to work with your real situation.

A common solution is to do work-for-hire half the time and spend the other half of the time on your own indie games. This can of course work, but it also means spending half as much time on your own game, or taking twice as long to build it. Often this simply results in spending most of your time on work-for-hire to make ends meet while making a mediocre game of your own on the side. Doing work-for-hire is often more limiting to development than any publisher would ever be.

Another reason it might sometimes be a good idea to let go of your financial independence is that you can focus more on your actual game. The business and marketing of releasing games takes a lot of time, so working with a financial partner who takes care of these things can free up valuable time to make your game better.

Note that actually getting financing from a publisher, investor, platform holder or other kind of partner is really difficult. In that sense it is not a simple choice of yes or no. What I am saying here is that indies should consider this option more often, not that it is an automatic win.

The solution that is all the rage right now is to avoid publishers and investors and go for crowdfunding instead. Crowdfunding is often praised as the ultimate freedom for an indie developer: if you successfully get funded you won't have a pushy publisher and you can make whatever you want with the help of the crowd. If only this were true...

In reality being crowdfunded is an incredibly limiting form of funding. You will have to make a lot of promises of how awesome the game will be to entice players to fund it, especially if you look for funding early in development. But what if during development some of those planned features turn out to not actually be fun? In practice there is a good chance that your backers turn out to be extremely exacting and will demand that you deliver exactly what you promised, even if you have already figured out that what you promised was just a really bad idea. Game development is inherently iterative, so you cannot know what features work until you've built and tried them.

It gets even worse if during development you get a better idea. For example, let's say that during the crowdfunding campaign you promised that the game would feature villages that grow as you progress through the game. What if during development you get some great new ideas for wildlife hunting mechanics that would be much better for the game than those villages. You cannot do everything and during normal development you would be able to just cancel the whole concept of the villages altogether and build the hunting instead. When being crowdfunded there is a good chance that doing such a thing would raise an angry mob. The so-called "financial independence" of crowdfunding might turn out to be very limiting to your creative independence!

A good example of this was recently seen in the rage over Godus. During their Kickstarter campaign they promised all kinds of things that turned out differently or not at all during development. Basically, the game just evolved as 22 Cans worked on it, and maybe it turned out to not be as much fun as was imagined at the beginning. The community reacted so aggressively that they even started threatening Peter Molyneux's family. I happen to also be a backer of Godus and all I ever expected from 22 Cans was to make the best game they could within the spirit of their Kickstarter. But this is not what the majority of the community expects. A specific feature set was promised and that feature set needs to be delivered or Peter Molyneux's family gets it. It is a sad example of the crowd stifling development, not supporting it.

My point here is not that crowdfunding is bad. The community funded the big Starstorm expansion for our game Awesomenauts on Kickstarter. This allowed us to grow the game way bigger and better than we otherwise could have. We are extremely thankful for that and really happy with how the collaboration with the community has been going so far. ^_^ I am just saying that the creative freedom that crowdfunding would give is extremely overrated and you should realise this before starting a crowdfunding campaign. Good communication and choosing the correct wording (like avoiding "promises") might also help a lot.

Of course my point in this post is not that every indie should start looking for a publisher or investor. There are a million ways to get your gig going. For example, I kept living with my mom during the first four years of Ronimo. This way hardly any budget was needed and we could spend as much time as needed to make the best games we could. There are many other ways to make things happen. Some concepts, like my crazy live-performance-art-game Cello Fortress, are just so impossible to make money with that no business would ever want to invest in it, so a different way of 'funding' is needed. My solution there was to just make the game in my spare time and not expect to make any money at all (note that I did get some funding for it from the Gamefonds government fund once I had a basic version running).

An obvious reaction to this post would be that I am "telling indies to be less indie". If your definition of "indie" is "financially independent" then yes, that is exactly what I am saying. And honestly, if that is your definition of indie, then I don't care about indie anyway. The only thing that really matters to me is the creative freedom to make the games I want to make, and that is what I consider "indie". I don't care what financial constructions are needed for that and I definitely don't care whether anyone else wants to call that "indie" or not. The only thing that really matters is to make awesome games.

Sunday, 19 April 2015

The level art tools for Swords & Soldiers II

For our new game Swords & Soldiers II (coming to Wii U on May 21st!) we wanted to create detailed and varied levels. Because of the number of maps and their large size we needed art tools that provide a lot of automation to be able to populate them quickly. At the same time we wanted to allow customisation and control over the details to create unique, designed places. Today I would like to show the tools that Ronimo programmer Machiel van Hooren developed for our artists. Check especially the awesome demo video at the end!

Our starting point was the level editing tools we made for Awesomenauts. Those are very flexible and not tied to a single game, so we could pretty much use all of them directly in Swords & Soldiers II. However, the shape of the levels in Swords & Soldiers II is very different: the Awesomenauts tools are built around rectangular boxes, not curving landscapes. Nevertheless they provided a really strong beginning. I made a short video montage about the Awesomenauts tools for a blogpost a couple of years ago, here it is again for those who hadn't seen it before:

The first thing we needed to add for Swords & soldiers II was curving terrain. The core gameplay takes place on a single line with little slopes and hills. So we made a new feature with which our artists place TerrainNodes in the level, and then the engine automatically generates a smooth terrain that goes through those TerrainNodes.

To calculate a smooth line through those points we use standard bezier splines. We also tried using slightly simpler Hermite splines, but we didn't like the look of those. Bezier splines usually come with additional control points for more control over the curvature. To simplify things we calculate the control points automatically based on the previous and next TerrainNode. This gives slightly less control, but that turned out to be fine for our artists and it makes the tools simpler and faster to use.

The next step is terrain layers. We wanted to add as much depth to our 2D art as possible. Having more terrain layers in the foreground and background is a good way to accomplish this.

The most obvious method is to just allow our artists to create more terrain layers by hand at different parallax depths. However, efficiency was also a goal, so we wanted to avoid creating all those layers by hand. Therefore we made it so that the parallax layers are copies of the main terrain. To be able to create some diversity we added settings for things like random noise, different textures and colour modifications. Not only is it faster to create levels with these copied terrain layers, it also means that if the main terrain is edited (and it often is), then the background and foreground layers automatically change with it. This makes iteration and modification much quicker.

The big limitation this creates is that the hills in the background are the same as those on the playground. Sometimes our artists wanted to break free from this pattern. We could have tried making the terrain tools more flexible to accommodate for this, but often the big background objects aren't hills, but an inn, or a wall, or something else. The solution was simple: the artists just placed a big texture of a hill in the background and that's it.

Plants, small vegetation and other props are all tied to the landscape. To help place those quickly we created ObjectDroppers. An ObjectDropper attaches one or more objects to a terrain layer, allowing an artist to drop a bunch of bushes or flowers on the landscape quickly. Props are dropped using a random seed and the artist can try different seeds to look for one that he likes. With a bunch of prop types a level can have its basic setting in place really quickly, after which the artist can focus on adding the unique flavours. Since the dropped props are tied to the landscape, modifying the terrain also automatically modifies the props, making tweaking the terrain that much faster.

Our level artist Ralph Rademakers even used ObjectDroppers to place bigger objects like trees. By working efficiently with these tools Ralph was able to dress up the simpler levels in just a few days per level, using the textures drawn bij Adam Daroszewski and Gijs Hermans.

The other main tools used for the level art are things we inherited from Awesomenauts: placing textures and animations in levels and recolouring them. You can find some good examples of the power of in-engine recolouring in this blogpost: Using 2D daylight assets to create a night level.

Now that I have discussed the tools, let's have a look at them in action in this little video:

I think the main lesson that can be learned from the Swords & Soldiers II level art tools, is that it's sometimes a good idea to limit control to make the workflow faster. The ObjectDroppers create a lot of objects at once, giving much less control than placing them by hand, but also being much, much faster. Similarly, the background and foreground terrain layers being copies of the main layer is limiting, but also very efficient. Where required our artists had enough other tools to break through the limitations by hand, resulting in a good balance between automation and old fashioned handwork.