Category Archives: Thoughts and Opinions

Success and Stress

Hey guys, here’s a long blog about game-dev related stress.

Since around November when Epic Battle Fantasy 5 was approaching completion, I’ve been incredibly stressed about it. It’s actually likely I was stressed long before that, but just worked through it and didn’t notice too much until then. The worst has passed, but even now, 3 months after a very successful launch, the game is still causing me a lot of anxiety. I’ve never felt this way about other games that I’ve made. It’s hard to write about because it sounds weird to say it – nothing even went wrong! – but I’ll try to organise my thoughts and figure out why I feel this way.

EBF5 was by far my largest project, taking up 3 years of full time work, without any major breaks. My previous largest project was EBF4, which maybe took around 1.5 years, but I worked on it on-and-off. It’s definitely not healthy to work on a single project for so long. I’m financially secure (largely from EBF4 doing very well for many years), so I didn’t need any funding to make EBF5, and if it flopped completely I’d still be fine financially. However, it would have still been a major bummer to spend 3 years making a game that no one was interested in playing. I was fairly confident that EBF5 would be a success – just based on the huge number of people that were following its development – but there’s always that nagging feeling that something might go completely wrong before I finish it.

EBF5 was the first game I’ve made specifically for Steam, with the browser version being more of an afterthought. That put a lot of pressure on me to make sure it’s a game worth paying for, and so that no one can say “well, the previous games were free, why do I have to pay for this one?” I know people don’t take kindly to sequels that don’t have at least as much content as the previous game, so I had to make sure the new game was bigger AND better by just about every metric possible, while also trying out some new ideas. It’s hard to please everyone, but I think it’s worth trying. Keeping old fans is way easier than finding new ones.

I like to batch my work and complete each part before moving onto the next. For example, I spent around a month just drawing trees and rocks and other background stuff. Debugging took almost 2 whole months. I did most of the art assets before any coding, so the game was half finished before I even had a playable prototype done! This approach worked efficiently in my previous games, but this time I just ended up doing the same kind of work for too long at a time, and it became really monotonous and demotivating. Maybe I should have taken turns working on different parts of the game, or maybe that would have made development take even longer. It’s definitely going to be a while before I commit to spending more than a year on a project again. A lot of people may say “just don’t work so hard!”, but I’d never get the game finished if I didn’t! Progressing slowly is even more demotivating than being overworked! 

The weeks leading up to the launch were the worst. I set myself a deadline because I didn’t want to go over 3 years of development time, wanted to launch before a bunch of major AAA games, and I was getting seriously diminishing returns from debugging and polishing by that point. I had 2 weeks to fix a few major bugs that turned out to be more complicated than I thought. Deadlines are no fun, but continuing to work on the game instead of launching may have been even more soul-crushing. Things got really emotional, and my whole life revolved around finishing the game. I just had to get it done, even if it wasn’t perfect.

My girlfriend Ronja was a lot of help around launch time. She helped me test the game, and did a lot of customer support, while I was stressing out with debugging. I’ve now hired her to keep doing that, and also to do some social media posts for me. However, it turns out it’s not so easy to hire someone! I had to waste a few days learning about all the relevant laws, and doing tax paperwork. In the long term it’ll reduce my workload and be worth it, but it was a painful transition! I can totally see why many people are opposed to government regulation, or may even illegally dodge taxes. It’s just such a thankless and tedious task to do this stuff correctly!

I always liked to think of game development as a hobby, even when I started making money from it. I’m just some guy working at a computer, from his home, whenever he feels like it. I only have to do the bare minimum paperwork to keep the tax man happy. That approach isn’t really working for me anymore – I’ve got an employee now, my tax situation is getting more complicated, and I’m generally not prepared on the business side of things. I’m starting to feel the weight of new responsibilities that I never wanted. Being your girlfriend’s boss is also a weird dynamic to explore. There will be some growing pains, but I’ll do some studying, hire an accountant, and get over it eventually. What a first-world problem – I’m too successful!

Another issue I’ve been having lately is that I’m spending more and more time dealing with people. There’s many volunteers helping me out, either with moderating the EBF Discord server, writing wikis, helping with translations, or sending in fanart. I’m incredibly thankful that people want to help out in all sorts of ways. However, sometimes this means that I have to sort out disputes and arguments, especially on Discord, and I often don’t know the best way to deal with them. I’m neither their boss nor their friend – I don’t really know what our relationship is – and that makes things quite awkward sometimes. I feel I’ve gotten worse at dealing with this as I’ve gotten older and more mature. In my late teens and early twenties, I wasn’t as sensitive to other people’s feelings as I am now. Especially on the internet, I would often reply bluntly to comments, or ignore many of them completely. I’ve always done my best to read all the comments I receive, but I never really thought of them as being made by real people. Everyone online was just an anonymous user. The internet is a bit more personal these days, so that’s harder to do. I’m still trying to figure out how to be nice to my fans without getting too close to them.

Finally, Adobe Flash being a sinking ship isn’t helping me. I was and still am fairly confident that Flash is viable as a game development tool for me personally – maybe not for the web anymore, but for desktop and mobile games, it still does the job. But being one of the last people defending Flash is not a good place to be in mentally. Most of the developers I know have moved on, and I feel like I’m some old guy who’s been left behind by the rest of the world. Adobe’s lack of transparency isn’t helping either – it’s not really clear how dedicated they are to keeping the technology alive, but I’m not optimistic. (Flash is not dead in 2020 – that’s only the browser plugin!)

Even now that EBF5 is launched and stable, every little update I need to do poses a risk of accidentally breaking something – maybe even deleting saved games! There’s a lot at stake, and I’m still terrified of making a major mistake, even though my fans have always been forgiving. I’ve done my best to mitigate all the risks, but there’s always a chance.

So this might have been a bit of a bummer to read. Launching EBF5 brought me more stress than joy, even though it went incredibly well. I guess next time I’ll try to do things a bit differently, and I’m already starting with the EBF5 DLC – I’m only adding content that sounds like it will be fun to develop, and I’m not going to work so hard this time.

I’m not sure what I’ll work on after that though. I don’t want to jump into another huge project, and the thought of working on another EBF sequel fills me with dread. But at the same time, my career success is solely down to this series, so obviously a lot of my self-esteem is tied to it too. I think a lot of people would be let down if this was my final masterpiece, and personally I’m not sure if I’ll be satisfied with only making small games from now on. I guess there’s no winning either way. Achieving important things is not easy.

I’m not depressed or anything – it’s specifically just EBF5 and all the baggage associated with the series that’s causing me stress. Hopefully I’ll be able to find some sort of balance between what I want to work on and what others want me to do.

New Phone

Hey guys, after using a Galaxy Note 2 for 6 whole years, I’ve just replaced the old dinosaur with a Note 8, and I’ve got mixed feelings about it. The specs are nice; internet browsing is fast, games run smoothly, and the camera looks good (see the photos below). But a lot of the hardware design decisions are really questionable! The main speaker is at the bottom of the phone, so when I’m playing games, it’s always covered by either my hand or my stomach. This wasn’t a problem with the Note 2, since the speaker was on the back of the phone. This seems like a major oversight to me!

I also feel scammed by the advertised 6.3 inch screen size. The Note 2 screen is 5.5 inches, so I’d figure it would be an upgrade, but it’s not! The Note 8 screen is just longer! Videos and games aren’t even designed for such a long screen! And some of the screen space is wasted on reflective curved edges. So if anything, the screen looks smaller than on my old phone! Questionable design indeed.

Annoying hardware aside, it’s nice to have a phone that doesn’t crash when I try to open basic apps like Google maps. I’m still happy I got a “flagship” phone, as it’s partly for market research. Speaking of which, I’m trying to play a lot of little indie games on it – the kind of stuff you’d see on Kongregate a few years ago. Looks like a lot of browser game devs have moved to mobile, and I’ve got some catching up to do. It’s a shame that the mobile market is poorly curated and saturated with garbage, so finding those gems will be tricky. Feel free to recommend some wholesome, non-exploitative games. So far I’m enjoying Super Dangerous Dungeons, Monument Valley, and Cat Bird. I was sceptical of on-screen keyboards, but they work okay if there’s only 3 buttons.

Also I’m really liking the EBF5 Foe Competition entries so far. I thought maybe the rules were too specific this time, but it looks like most people understand what I’m looking for.
garden legoAbove is me and Ronja doing a bit of gardening. We don’t actually have a dog, but I do indeed use a pickaxe to till the earth. Below is us crunching before the launch of EBF5. We forgot to change out of our outdoor clothes, apparently.
office lego

Epic Battle Fantasy 4, Postmortem 2

Hey, since my new turn-based RPG, Epic Battle Fantasy 5, is 99% finished, I think this is a good time to write about the previous game in the series. I wrote a postmortem of Epic Battle Fantasy 4 back in 2013, and things were not looking so optimistic at the time. Here’s a continuation of that story.

—The Story so Far—

EBF4 was well-recieved by players and got very high scores on Flash game sites, and the premium content for the game sold quite well on Kongregate. However, even with millions of plays, the game didn’t have the same viral appeal that EBF3 had – and the biggest part of that was that the Flash game industry was rapidly shrinking. EBF4 paid off it’s development costs, but only due to lucky timing – if it had been released just a bit later, it would have had trouble getting sponsored, and may have flopped completely. I worked on EBF4 on and off for a few years, but the final development time was probably around a year of full-time work, and in the end it made $60K, which is decent for a software developer in a cheap city. Making another big game for Flash sites was no longer an option though.
golems

While EBF4 was nearing the end of development, I started thinking about Steam. Games like Binding of Isaac and VVVVVV made me realise that good Flash games might be allowed on the platform. Luckily, Greenlight was announced around the same time, and it seemed like Steam was the way forward for the types of games I was making. But getting through Greenlight was incredibly hard at the time – initially your game would need over 50K votes or so, and only a handful of games were selected each month. EBF4 sat on Greenlight for a few months, and seeing that it was never going to get that many votes, I wrote the 1st postmortem, and decided I may be doomed to make lame mobile games, or some other career path. And now, some 5 or so years later, it’s time to continue the story…

—Preparing for Steam—

After 5 or 6 months, Valve started Greenlighting many more games than before, and EBF4 had a chance again! I immediately started working on new content for the Steam version of the game (which I also added to the paid Kongregate version), and EBF4 finally got through Greenlight, with around 15K votes. (For comparison, in the final days of Greenlight, all you needed was somewhere between 500 and 1K votes) Kongregate was a great sponsor, and they allowed me to link to Steam Greenlight in the web version of EBF4. I kept their logo on the Steam version, but they were not involved in it – I had no sponsor or publisher this time.

Steam was terrifying at first, since it was the first time I was publishing on a platform that wasn’t specifically designed for Flash games. It’s also very lonely, as you can go through the whole process of launching a game on Steam without ever talking to a human from Valve! I was worried I would not be able to implement all of the steam features – achievements, cloud saving, overlay, fullscreen modes, and trading cards. My time at University prepared me for situations like this – when you’re stuck on an assignment, you’re forced to talk to other students and to find out who’s better at it than you are, so you can get some help. I hunted down the developers of all the Flash games on Steam, and most of them were very happy to share their solutions with me. A huge thanks goes out to Alexey Abramenko, developer of Intrusion 2, who suggested I use MDM Zinc (basically a Flash projector) to package EBF4, and let me use his code for Steam achievements.
preview

While I’m at it, I’d also like to thank Amanita Design, developers of Machinarium, for sharing their FRESteamworks ANE, which allows Adobe AIR to interface with Steam features. I later used Adobe AIR for other games I released on Steam, but it was no good for EBF4, since for some bizarre reason, Adobe decided to remove the LOW and MEDIUM stage quality options, which would have drastically damaged the game’s performance. (I eventually found a workaround for this, and will be using Adobe AIR for EBF5)  Anyway, MDM Zinc worked very well for a couple of years – it got my little Flash game running on and interfacing with Steam. But in the end the company closed down and stopped all support for it, and I’m no longer able to update EBF4 on Steam unless I update it to use Adobe AIR instead, and I don’t have a huge desire to revisit old work.

In the end the only Steam feature I couldn’t get working was the Steam overlay! It turns out this is because regular Flash content isn’t hardware accelerated, and the overlay cannot appear if the GPU is not active. The FRESteamworks ANE has a handy workaround for this problem – it creates a single off-screen hardware-accelerated sprite, which allows the overlay to be updated. Oh well, I found out about that a bit late.

—Time to Launch—

Anyway, onto the Steam release! I expected a lot of pushback from Steam users that are angry about Flash games showing up on Steam, but there was only a few of those, and the game was incredibly well recieved, with a review score of 98% positive for almost its entire lifetime.

There’s definitely a lot to criticise about EBF4 – it runs traditional Flash content with vector graphics, which even if programmed perfectly, would take up a lot of CPU resources. But there’s also a major memory leak in the game on top of that! I limited the game’s resolution to a max of only 720p, because I know most users would go as high as possible and then be surprised at how badly the game runs. The game was never designed to be played in widescreen, so the aspect ratio is an awkward 4:3. (apparently I was one of the last people with 4:3 monitors, and thought this was still normal)

cutscene

I’m going to speculate here about why I think EBF4 got past these issues. First of all, I think I was very honest on the store page about what the game was offering. The trailer is just standard-definition footage from the game. Anyone who is expecting technical brilliance or mature-looking graphics, would instantly back away from the game. But more than that, I think the vast majority of people who bought the game were fans of the series from the good old Flash days – my art style hasn’t changed in 10 years, and anyone who’s played my games or seen my animations on Newgrounds or Armor Games will recognise them instantly. With EBF3 alone having over 20 million plays across the web, there was bound to be a lot of Steam users who had played the earlier games on Flash sites before finding EBF4 on Steam. Maybe nostalgia for Flash games is a real thing now.

But Flash does have some unique advantages. For one, it’s incredibly compatible – no matter what your hardware is, it will most likely run on it, even if it doesn’t run well. Only a small handful of players had trouble running the game at all. It’s also very easy to decompile Flash games, which most would consider a weakness, but this turned into a very helpful tool for hobbyists who create wiki pages, and some players would even find bugs in my code for me! Unofficial Chinese and Russian translations were even made! (EBF4 was actually the first game I localised into different languages, and here’s a blog I wrote about that.)

Maybe the game would have been more successful if it was made in a modern engine, but in my opinion, the risks and costs of learning a new engine and rebuilding the game would have outweighed any potential benefits. Working with Flash allows me to limit scope-creep, because I can’t get carried away with fancy graphics or new features, and I am able to guarantee that I will finish my games, no matter what. (unless I’m killed) I prefer to jump straight into prototypes and development, rather than thoroughly learning new tech, so I’m still not in a hurry to ditch Flash, even in 2019. I might be the last guy still using it for Steam games.

—Big Sales—

The opening day was strong – EBF4 got into the top 20 bestselling Steam games for a few hours! But after a few days, things began to settle down, and I thought that was it. I was used to the Flash game lifespan, where games only get major attention for a week or two, and then fade away after that. I was not expecting the long sales tail that would follow. But even so, the sales so far were just barely enough to make the extra content and Steam launch worthwhile.

I got a lot of emails from game bundles, asking me to take part in them. I was an inexperienced Steam dev, but even at the time I knew it was not a good sign to send your game into the bargain bin a few months after launch. (though the game was over a year old in my view, if you include the web version, so maybe…?) I picked carefully and chose a very small and obscure bundle group, called Blink Bundle, (I don’t think they exist anymore) and EBF4 sold 5K copies there. It was a nice little introduction to bundles – it didn’t result in any user engagement, and didn’t change anything in the long term, as far as I could tell. But I did panic a bit, and swore not to bundle the game again unless sales had completely dried up, or I was approached by Humble Bundle.

Some time in its first year on Steam, EBF4 was featured in a flash sale (anyone still remember those?) and this was possibly the most exciting day of my game dev career. I got news in the morning that it was featured, and went out hiking for the day. When I got back and checked the sales stats, I thought they were broken, because the graph was just a backwards “L” shape. I can’t be too specific about the numbers, but the sale had quadrupled the number of Steam owners so far, and that allowed EBF4 to get enough traction to start getting picked up by Steam’s recommendation algorithms. (getting over 500 reviews is a major milestone for the algorithms) That’s also when I decided I could actually make EBF5 someday!

In 2016, sales of EBF4 were starting to wind down. But then Steam introduced the discovery update, which introduced smarter game recommendations, and made it easier for players to find niche products. Top selling games were featured less prominently than before, and much more indie games were promoted throughout the store – if that’s what a user was interested in. Since then, EBF4’s day-to-day sales have remained strong and fairly constant, only decreasing slightly over time. There have been a few occasions when Steam’s algorithms decided to stop promoting the game, and sales would drop by up to half, but luckily these have all been temporary – so far. Most indie games really are at the mercy of Steam’s algorithms and policies, which are changing often.

At the start of 2017, Humble Bundle approached me to include EBF4 in their Overwhelmingly Positive Bundle, along with some very well known games like Shantae and N++. The results were as good as I could have hoped for – huge sales and very low customer engagement. Around 135K people bought EBF4, only 90K bothered to activate it, only a fraction of those played it, and just a handful actually left reviews. Those new reviews averaged to around 75% positive, so it’s good that there wasn’t enough of those to damage my overall score very much. It goes to show you the dangers of showing your game to a much less invested audience.
Clipboard011

Thanks to the bundle, and to Brexit for plummeting the value of British currency, that turned into my best financial year ever. I hadn’t even published any games that year, so it’s funny how things sometimes turn out. Game dev sometimes feels more like a lottery than a job.

EBF4 still has no critic reviews on Metacritic, and has never been covered by a major YouTuber or gaming news site. I’ve never paid for any advertisements. I had no marketting plan, I just made free web games for 5 years, (they were still very profitable) and it looks like many of the kids who played them are now adults who want to support me.

—Conclusion—

As of now, EBF4 has sold around 255K copies across all platforms, with around 140K of those being from bundles. It ended up earning many times more than the initial web version! It’s also worth noting that 75% of the game is still available for free online – I do wonder how a free Steam version would have affected the numbers?

To this day EBF4 is still selling around 7 or 8 copies on an average day, and a lot more during seasonal Steam sales. 5 years after it launched on Steam, it’s still covering my living expenses. Thanks to this I was able to work full time on EBF5 for 3 whole years! (but not without stress of course, as income like that could stop without warning if Steam decides to change something. I’ve recently started a Patreon as an emergency source of income) (I’d also like to mention that my living expenses are only £15K per year – with an unstable income like game dev, you gotta save a lot)

I think it would be a miracle if EBF5 saw the same success as EBF4 did. (even though development time was more than double…) With some luck, maybe it will come close. I’m definitely more prepared this time, as this will be my 4th game on Steam, and based on various social media stats, there’s around 10K people following EBF5’s development. I’ll also be sending out discount coupons to everyone who owns EBF4 on Steam, which should make for some good marketting, and I’m planning to release a free web version of EBF5 on the usual Flash sites, some time after the Steam release.

We’ll see how it goes.

slimes

Translating Games

Hey, this is a big blog about my experience translating Epic Battle Fantasy 4 and Bullet Heaven 2, and how I’m trying to do things better in Epic Battle Fantasy 5.

Translating EBF4 was a last minute decision – it didn’t even cross my mind until the game was almost finished. But I knew I had a lot of fans that didn’t speak English, based on my Facebook page and Kongregate data, and the fact that my Flash games were quite popular on Spanish, Chinese, etc, Flash game sites. The languages I chose to translate to were Spanish, Portuguese, German and French. The first two because I had a lot of fans in those regions, and the second two because they just seemed like the most popular European languages to translate to (ie. they buy a lot of games). I didn’t consider Chinese because they already had made unofficial translations, and I figured they just pirate everything anyway. (I don’t know how much that’s changed in the last 5 years, but China seems to be really big on Steam now)

I asked for volunteers from my fans to translate and proofread, and a lot of people stepped forward. I couldn’t judge their skill at their first language, but I made sure they were at least fluent in English. My translation strategy was to turn all of the text strings in EBF4 into arrays of text strings, and dump them on Google Docs so that all the translators could work on them at the same time. “Word” would turn into [“Word”,””,””,””,””] and the translators would fill in the gaps. I also provided a lot of notes and instructions for the translators, and hung around in case they needed me. Once translated, the script was also shared publicly, so that anyone could provide feedback if they wanted to.

This wasn’t very efficient, but it worked. The worst part was going through all of the game’s code, trying to find every tiny bit of text, copying it to a Google Docs file, and then later doing that whole process in reverse. It also means that adding a new language now would involve all of that work again. With EBF5, I’ve put all of the text in seperate files right from the beginning, and each file contains one language. The game’s code just loads the relevant text file depending on the options. This means that adding a new language requires almost no extra coding work: I can just give out the English files, they can be translated, and the game can load them as a new language. So that should save me a lot of work in the long term!

But there were some other problems when translating EBF4:
 It turns out that most translated text ends up being a bit longer than the original, so I had to significantly increase the size of many text boxes. Lesson quickly learned.
 Translating parts of sentences separately is a very bad idea, for example: “A ” + “fire/water/ice” + ” elemental attack!” This works well in English and a few other languages, but you never know when weird grammar rules might pop up. From now on I’m sticking to full sentences, even if it leads to a lot of redundancy, like typing out the full line for 10 different elements.
 Dialects! I didn’t realise how different these could be. With French and German we managed to settle on neutral dialects, but with Spanish and Portuguese we went with south American ones, since that’s where almost all of the volunteers were from. Some Europeans were not very happy with these translations. I’m not sure if this problem is totally avoidable, but it’s worth talking to your translators about it before you start. (and then marketting your translation accordingly – luckily Steam let’s me specify that it’s Brazilian-Portuguese)

One thing that went very well was, uh, Flash! Flash handles special characters and text related stuff very well. So I never had any problems putting weird non-English characters in my games. The default fonts seem to handle everything.

So, in the end, was translating worth it? Well… kind of? It took me about a month to organise and implement EBF4’s translations, which also includes countless hours of work by the translators and proofreaders. The Steam sales for German (8%) and French (4%) are reasonably high, so from a financial perspective, those languages were worth doing, maybe even if I had to pay professionals instead of volunteers. But even though tons of Spanish and Portuguese speaking people played the free versions of EBF4, very few of them bought the game on Steam (less than 1% of Steam sales each), so if I was translating just for money, I wouldn’t have done those languages.

EBF4 was overall very successful on Steam, with around 100K sales in total – so 8% more sales is a lot in the end (well, I’m sure a lot of Germans speak English, and may have bought the game without a translation, but whatever). My other game, Bullet Heaven 2, on the other hand, was not so successful. The game wasn’t a flop – but it’s not far from it. Even though it had much less text to translate, I think translating that game was a waste of time – it just wasn’t worth the extra work. And if I had paid professional translators, I would have lost a LOT of money on it.

So I think that’s what it all comes down to for me. If I have a lot of fans in some region, and they want to volunteer to translate EBF5, I’m perfectly happy to work with them and make it happen so that more people can enjoy the game. But I wouldn’t bet on the translations to be worth it financially if I had to pay professionals. I guess I just don’t like taking too many risks. It’s also not particularly fun to program my games to support multiple languages.

Anyway, I’m almost ready to start translating. I’ll start doing research and asking for volunteers soon-ish. German, French, Spanish, and Portuguese are coming back, and the new languages I’m strongly considering are Chinese, Russian, Polish and Vietnamese. Feel free to suggest others, but I think those are the most likely. Of course, I can always add more languages after the game is released, as the new infrastructure makes that much easier than in previous games.

I’m interested to hear what you all think.

tl;dr: I translate for the fans, as it’s probably not worth translating a text-heavy indie RPG for financial gain, except maybe to German.