Opinions Wanted: Monetizing Siralim 3

Before I say anything, let’s get a huge warning out of the way first…

Everything in this post is merely a collection of ideas I came up with while I was brainstorming. Nothing here is set in stone, or even planned to actually happen. I want to hear your opinions – no more, no less.

Now then, let’s get down to it. I’ve been thinking about some post-launch content updates I want to release for Siralim 3, and I’ve come up with a few ideas. Once all the bugs and issues are ironed out, I want to release a few large content patches for the game. Most of this content will be distributed free of charge, while the other part will cost a very small amount of money – $1 to $5, depending on how large the feature is. For example, maybe one patch will include 50 new creatures, 25 new spells, and a new gameplay system that is all free of charge, and then you can also pay $3 to access a brand new game mode or something like that. This is just an example, but hopefully you understand the idea behind it.

That all sounds normal and fair, doesn’t it? That’s completely reasonable for the Steam/Desktop version of the game, I think. However, this doesn’t work very well for the mobile market. People don’t want to pay a premium price (even $4.99) for a game and then also have to buy additional content after that. In fact, I don’t think the premium model works well for mobile games at all – most people just don’t want to pay ~$5 for a mobile game. I make very little money on mobile platforms compared to all the other platforms, so something is clearly not working there. That’s why I’ve come up with an alternative solution.

Imagine this: Siralim 3 is free for Android and iOS. Completely free, no bullshit, no ads. You get all the content patches I mentioned above for free as well. But there’s also a set of in-app purchases you can access called the “Cheat Shop”. This allows you to buy resources and other items with money, much like you can do with other games. Except in Siralim 3, you also have the option to make a one-time donation of $4.99, and the Cheat Shop will disappear from your game forever. In that way, you’re able to buy the game in the same way you did with Siralim and Siralim 2. That way, we can cater to both types of players: those who want to buy the game at a premium price and be done with it, and those who want to dive in for free and buy some items here and there to help them alleviate the grind. As an added bonus, this allows Steam/Desktop players to take advantage of our Cloud Storage features to play the game on their phones/tablets for free – that’s awesome! That means people won’t have to buy the game multiple times anymore.

Keep in mind that you could also just ignore the Cheat Shop entirely, and then you can just play Siralim 3 absolutely free of charge on mobile devices. That’s nice.

All multiplayer/pseudo-PvP content will be normalized (meaning any bonuses they purchase are irrelevant in multiplayer scenarios), so there’s no need to worry about anything becoming imbalanced on that end, even if players spend a lot of money on the game.

And lastly, because consoles take so much longer to develop for, I doubt Siralim 3 will be released on those platforms until the game is 100% done receiving content updates anyway. For that reason, this version of the game will probably just cost a one-time fee of $19.99 (for reference, it’s $14.99 on Steam) and you’ll get access to all the content patches for free, and there will not be a Cheat Shop.


Please think this over, then tell me how you feel about it. Again, this is not something that I’m even planning on doing yet because I want to make sure there aren’t any horrible flaws in my logic or anything like that. I also don’t want to completely offend the playerbase we’ve worked so hard to build up, so that’s why it’s so important to me that I hear your opinions first.

I’m also open to any tweaks you have to these ideas as well. Throw some ideas out to me, please!

The Evolution of a Game: How Siralim 3 Was Born

For Thylacine Studios, last year was meant to be what is called a “growth year” in the business world. My goal was to devote most of my time to The Negative while I worked on a few smaller projects on the side. One of those projects is called Learn Kana The Fun Way!

… and I probably won’t be making anything like that again. I don’t even play puzzle games. I hate them. RPGs are my niche, both from a gamer’s perspective and a developer’s perspective, so I’ll probably stick to that genre from now on.

Another smaller project I had up my sleeve was tentatively titled “Siralim 2.5” – a sequel to Siralim 2, but not. The idea behind this game was that I would take Siralim 2 and radically change some core game systems that I thought could use some work. The changes would be drastic enough that I wouldn’t be able to simply release it as a content patch for the original Siralim 2 for fear that it would upset a lot of players. For example, I wanted to streamline the chef/cooking system since it turned out to be nothing more than an annoying chore for most players. The entire concept of Power Balance also started to feel like a mistake to me, so I wanted to remove that as well. But Power Balance is a huge part of the game, so that would take some serious restructuring and re-balancing to get things right. I also thought it might be nice to change all the NPC and player sprites, since let’s face it: they’re ugly. These are merely examples of some of the things I wanted to do for this not-quite-a-sequel.

But then, I also decided that Sigils could be more interesting. What if, instead of spawning a single battle, they created an entire realm for the player with a set of random properties? This could serve as the bulk of the end-game content for players. And in order to keep things interesting and allow players to always feel like they’re progressing, I could add a new type of item called Talismans which players can upgrade forever to continue gaining new benefits.

And you know what? The user interface could use some love. The base of the code for the UI was created when I had only been using GameMaker for about a month, so I was very limited with what I could do with it. A good example of this is the sound/music volume options – you’re presented with a list of 11 options numbered from 0% to 100% in intervals of 10% in order to select your volume. That’s ugly and unintuitive. I didn’t think it would be that big of a deal back then, but looking at it in 2017/2018 makes me realize just how awful it really is. So hey, Siralim 2.5 should probably feature a revised user interface as well.

Ah, and another thing that I count as a mistake: auto-casting spell gems. Players simply stack as many “Cast On Hit” or similar properties on all their gems, then mindlessly rush into every battle without caring about the party composition of their enemies. Personally, I was so lazy that I stacked 6 Djinn Pyromancers with as many “Cast At the Start of Battle” gems as possible, allowing me to steamroll my way through all of the game’s content. Good luck removing those properties without seriously upsetting 90% of your players, though.

I spent several months continuing to tweak systems like the ones I just mentioned before I realized something: I have almost a whole new game on my hands now. Slowly but surely, I’ve tweaked or overhauled almost every single aspect of the game: artifacts, spell gems, breeding, nether creatures, avatars, realms, gods, and so much more. The only thing that’s missing is a new storyline. And you know what? That could have been better in Siralim 2, so let’s fine-tune it as well in Siralim 2.5. No, no, let’s re-write it entirely, and add all new bosses, and…

And suddenly, I realized that I had accidentally created the plans to develop a full sequel to Siralim 2. That same day, I contacted the necessary people to get a whole new soundtrack, sound effects, graphics, marketing assets, and more… and then I started grinding away at the programming end of things.

Things have snowballed quite a lot since then. For example, early on in development, I decided that I should find a writer to create lore for every single creature in the game. That’s over 700 creatures. And I didn’t want some short, generic Pokedex descriptions like “Springtime Aspects often startle people by throwing coconuts at them”. I wanted some fleshed-out and interesting lore for players to really sink their teeth into – I wanted it to be something players could sit and read for hours. In the end, it was Umaro (an active member of our community) and his friend who stepped up to the plate and wrote over 55,000 words of lore for the creatures in Siralim 3. They completely exceeded my expectations on this front, and I cannot wait for you to read what they’ve come up with.


Siralim 3 is just around the corner for Steam Early Access, and late May seems to be a very likely release date. I can’t wait to share this game with you and improve it with the help of your feedback. Thanks for your patience and continued support!

Maintaining motivation as a self-employed game developer

I’m normally not one to dive into topics like this one, but yesterday, someone who likely wishes to remain anonymous told me that they’re struggling to stay motivated as a self-employed game developer. I, like every other game developer out there, have struggled with similar issues at some point, so I offered my advice and they gladly accepted. I decided to post this information to the public in case it will help anyone else out.

I’m not claiming to be an expert on this subject by any means, but I’m now at a comfortable point in my career where my low-motivation days are few and far between, so I feel like I might have a few good tips to offer. Feel free to agree or disagree on any of these points, and if you have any advice of your own to offer, I encourage you to leave a comment at the end of this post.

I could probably write a book about this subject, but I’ll try to keep things clear and concise for this post. Again, this post is aimed at the self-employed game developer who struggles to maintain the discipline to work every day. We’ve all struggled with procrastination at some point, and others get so burned out by this that they stop development altogether. And even if you’re not a game developer, I hope you’ll find some of these tips useful. Let’s get started!

Make a checklist for absolutely everything.

And I mean everything. You should have a Notepad document open on your computer and smartphone at all times that allows you to quickly add and delete lines to keep track of your daily progress. Pick one day per week to plan out every day for the next 7 days. Add one task per line, and break up larger tasks to make them seem less intimidating. The goal is to be able to delete a line after every 15-20 minutes of work, so break your tasks up accordingly.

I add absolutely everything I need to do for the day to my checklists. Yes, that includes showering. It doesn’t matter what the task actually is, as long as it involves you doing something other than wasting your time on social media or watching Netflix.

Here’s an example of my checklist for tomorrow:

  • shower
  • brush teeth, floss
  • workout
  • walk the dog
  • write a chapter of my book
  • take vitamins
  • meditate
  • go to bank and make a deposit
  • read books [note: I read one chapter from each of these books per day. I just give each book a nickname on my checklist to make my life easier]
    • bach
    • money
    • mentors
    • meditations
    • knight
  • dishes
  • laundry
  • unity lesson [I’m a GameMaker user, but I’m learning Unity on the side for future projects]
  • implement runewords for Siralim 3 [This is a huge task, so I’ve broken it down. Runewords belong to 1 of 5 classes in the game, so I’ve decided to break this task down into 5 smaller ones]
    • chaos runes
    • sorcery runes
    • nature runes
    • death runes
    • life runes
  • design new Pandemonium Token effects for Siralim 3
  • implement new Pandemonium Token effects for Siralim 3
  • re-write looting script for Siralim 3

These tasks aren’t in any particular order. Order is irrelevant. I just want to jot down everything that I need to do; even the trivial things that I know I’ll do every day like take a shower. That way, I can pick an easy task, complete it, and delete the line. That gives my brain a tiny blast of endorphins…or dopamine, or really, who cares what it is. The fact is, completing one task drives me to complete another. And another. And yet another. And before I know it, my task list is done for the day and I can do something fun with my free time, guilt-free. And on a much larger scale, this snowball effect carries over to the next day, and I’m much more likely to complete my tasks for the following days and even expand my task list to take on more work over time.

Yes, this tactic is all about your personal psychology, but it works wonders. As an added bonus, you’ll never forget about appointments or deadlines ever again. When utilized habitually, the checklist is a life-changing tool. Give it a try for a few days and you’ll notice immediate results.

Start a morning routine.

Create a short list of things to accomplish each morning, and follow through with it every single day. These things shouldn’t have anything to do with game development – it’s all about getting yourself ready to have an excellent day. You’ll likely have a lot of overlap between this list and the checklist I mentioned above, and that’s even better – it’ll only help you to feel more accomplished early on in the day when it matters the most.

It’s important to repeat these steps every single day to turn them into habits. Here’s what mine looks like:

  • Wake up at 7:00am. [If you’re one of those people who sleeps for 12 hours until noon, stop. The earlier you can wake up without sacrificing your health, the better off you’ll be.]
  • Brush and floss teeth.
  • Drink a liter of water. [By the way, make sure you stay hydrated all day.]
  • Workout for 30-45 minutes.
  • Meditate for 10 minutes.
  • Start a pot of coffee.
  • Shower.
  • Eat breakfast and drink coffee.
  • Take vitamins.
  • Do the dishes.
  • Read for 45-60 minutes.
  • Learn Unity for 30-45 minutes.
  • Now that I’ve accomplished a lot, and my body and mind are primed and ready, it’s time to work!

Obviously, not everyone has time for all of this, and you’re probably not going to want to do the same exact things that I’m doing. Feel free to adjust your morning routine according to your own lifestyle. Just make sure you create a routine and stick with it. You’ll be much more likely to do more work if you follow organize and follow a schedule like this one.

Fight depression and stress.

Whether you’re suffering from severe depression or just a little stressed out, I believe everyone has at least a little bit of depression building up inside of them. It’s important to keep this depression away because it is what will ultimately rob you of your motivation. Here are some ways to relieve depression and get rid of stress. Ideally, combine all these steps to ensure you’re always feeling energized and upbeat.

  1. Stop ruminating. We all have a habit of thinking negative thoughts. What if my game doesn’t succeed? What if no one likes it? What if people leave bad reviews about my game? I didn’t get much done yesterday – I’m so unmotivated. Or, from a more “real world” perspective, you might be thinking about some injustice that a person did to you in the past. Stop it. Rumination is a habit, and a bad one at that. You need to break it. You’re wasting time dwelling on a past that can’t be changed. If you’re a chronic ruminator, this will be one of the leading causes of your depression and stress.
  2. Get some sun. I don’t have the time or space to give you the scientific breakdown about why sunlight is so important for your brain, but I know there’s not a single game developer out there that gets enough sunlight. This is awful for you. Try to get some exposure to the sun, and if you absolutely can’t do this for whatever reason, consider a Vitamin D supplement since I can almost guarantee you’re deficient, and that causes depression.
  3. Exercise. This is not an option; it is essential for both your physical and mental health. You don’t need to go to a gym or anything like that. Just go for a walk if that’s all you want to do. In fact, if you want to kill two birds with one stone, go for a 30-minute walk outside and you can get some good exercise while also drinking in the sunlight.
  4. Sleep. You’re probably not getting enough sleep. Shoot for at least 7 hours per day, and make sure you’re not waking up in the middle of the night. Your room shouldn’t make any sudden noises (so make sure you silence your smartphone) and there shouldn’t be any lights at all (including the LED lights on your alarm clock or cable modem). In terms of temperature, keep your room a little on the cool side – you’ll sleep better that way.
  5. Take Omega-3 fatty acid supplements. Again, there’s not enough room for me to break down the science behind this, but I’ll provide a link to deeper reading about this later on. For now, trust me that you need to find a good, Omega-3 fatty acid supplement. Some people are afraid to take these because they make you burp up strange odors, but if you shell out a couple extra dollars for a good supplement, this won’t ever happen.
  6. Social activity. I don’t care if you don’t have any friends. Go to the grocery store. Walk around the mall. Be around people and you’ll feel more energized. This will show you that there’s a much bigger world out there aside from the confinement of your little office room.

These tips were taken from a book called The Depression Cure. If you’re curious about the science behind these tips, check it out. And no, that’s not a referral link – I’m not writing this post to make 36 cents off of referral hits; I’m writing it to hopefully help others.

Meditate.

No, I don’t mean for you to sit on a cushion in the middle of a candle-lit room with your eyes shut and fingers pinched together. Of course, if that’s what you want to do, that’s fine, but I’m talking about something a little different.

It’s important to take a few minutes out of your day to turn off the phone, the computer, the television, and any other distractions and focus on yourself. Sit in a comfortable position, close your eyes, and slow your breathing for 10 minutes. Acknowledge whatever comes to mind. Don’t try to think about anything in particular – let the ideas come to you. I’ve found that this is not only a great way to decompress when I’m stressed, but also to come up with new ideas for my games that I would never have thought about if I hadn’t taken the time to give my brain the opportunity to think freely.

After 10 minutes are up, open your eyes. You’ll probably feel energized as if you just woke up from a nap, except you won’t feel like a zombie. You’ll feel rejuvenated and be brimming with creativity.

Cut back on drinking alcohol or consuming recreational drugs.

I get it: you’re stressed. You want to wind down at the end of the day. But in the end, alcohol and drugs are simply hurting your ability to produce. I used to drink heavily every night once I was done with my work, but then I realized how much it was hurting my business in the long run. It caused me to gain weight which sapped my motivation, health, and quality of sleep. It also gave me brain fog the next day. This caused me to feel very negative, so I’d drink some more to make myself feel better, and the cycle continued. It’s better to spend your time and money on something more worthwhile.


Hopefully you’ll walk away from this post with a few ideas about how to stay motivated while you’re working on large-scale projects such as video game development. There are countless other ways to become and stay motivated, but the ones in this post are the ones that worked best for me.

What do you think? Do you agree or disagree with any of these points? Do you have any tips of your own to share? I’d love to hear about them, so feel free to leave a comment here.

Siralim 3: Perk Design, and Death Mage Perks Revealed

In Siralim 3, perks – the bonuses that you can allocate to your character in exchange for Deity Points – will be designed in such a way to make every class feel more distinct than ever before.

First of all, there won’t be as many perks available for you to choose from in Siralim 3. Siralim 2 had too many “filler” perks that weren’t very exciting, and some were practically useless. Aside from that, since some concepts like rituals do not exist in Siralim 3, it is unnecessary to offer so many different perks. I’ll probably add additional perks over time, but I want to make sure each one feels useful rather than mindlessly adding new ones to inflate the list.

Secondly, perks no longer increase in costs as you continue to allocate points toward them. Getting a perk from rank 1 to 2 costs the same number of points as it takes to get from rank 49 to 50. A minor change.

As I said before, my ultimate goal is to make each class feel as distinct as possible. To start, I decided what core concepts each class should focus on when it comes to battles and party composition. Here’s what I came up with:

  • Death: focus on summoning temporary creatures, debuffs, and stat-decreasing effects.
  • Nature: focus on dodging and adaptability – a “jack of all trades” class.
  • Sorcery: focus on casting spells better than any other class in the game.
  • Life: focus on healing and survivability.
  • Chaos: focus on dealing critical damage, attacking, and taking control of battles.

Aside from that, I decided to take a lot of perks from Siralim 2 that every class had access to and allocated them to only one class in Siralim 3. For example, as you’ll see today, Death Mages are the only class that receives a boost to the amount of Granite they gain from winning battles. Such a subtle change will drastically affect the way you play the entire game since you will have an abundance of one type of resource and a scarcity of all the others. One class might always have access to the best artifacts and enchantments, while another class will be able to breed their creatures more efficiently. Keep in mind that the new Goblet of Giving allows you to convert your resources into different ones (for a price), so you won’t be completely out of luck when it comes to finding a different resource.

With that explanation out of the way, let’s take a look at the Death Mage class!


Below is a list of perks that Death Mages can choose from. In italics, I’ve added my own commentary as needed. Numbers surrounded in {brackets} increase as you invest additional points into its respective perk.

1) Granite – Increases Granite gained from battles by {5%}.
2) Defense – Increases your creatures’ Defense by {1%}.
3) Saia – Gives you exclusive access to Saia, the Grave Leper.

Saia cannot be given a nickname. It always has a unique artifact equipped called Death’s Edge which is more powerful than normal artifacts. It cannot be bred and therefore has no level cap. It cannot become a Nether Creature. As Saia kills enemies, it feeds on their bodies and gains additional base stats – permanently! If you change your class or reset your Deity Points, Saia will disappear, so don’t try to cheat the system.

4) Stat Decrease – Increases the potency of your creatures’ spells that reduce enemies’ stats by {2%}.
5) Living Nightmare – Your temporary summoned creatures have {2%} more Health, Mana, Attack, Intelligence, Speed, and Defense.
6) Necromancy – Your creatures have a {1%} chance to resurrect as a random Death creature with {4%} Health when they die.
7) Unholy Night – When your creatures are resurrected, they gain {1.5%} Attack, Intelligence, Defense, and Speed.
8) Horror Show – At the start of battle, your creatures cast their Summon spells. These spells are cast repeatedly until you have 6 creatures fighting for you, and they cost 0 Mana.
9) Damnation’s Edge – Saia’s artifact is upgraded to Damnation’s Edge.

This is a better version of Death’s Edge. It has more stat slots and even more powerful effects. In addition, the rate at which Saia gains base stats from killing enemies increases thanks to Damnation’s Edge.
10) Blood Spatter – When one of your temporary summoned creatures die, enemies take damage equal to 20% of its Maximum Health.
11) Nighttaker – Saia gains a new trait called Nighttaker: Your creatures’ attacks afflict their targets with a random debuff.
12) Daybreaker – Saia gains a new trait called Daybreaker: This creature has access to your temporary summoned creatures’ traits and Spell Gems.


What do you think about the Death Mage class? What class are you excited to see revealed next week?

Siralim 3: User Interface

Siralim has always been a complex game, and with these complexities comes a major hurdle for me as a game developer: designing a user interface that provides players with adequate information to play the game to its fullest potential while maintaining ease-of-use. It’s taken me some practice, but thankfully, Siralim 3 has a much more accessible user interface than its predecessors.

I’ll start by saying that no single user interface is going to make everyone happy, especially with a game like Siralim. We need to keep in mind that players of all ages and gaming experiences will try this game (you’d be surprised at how many players are over the age of 60), so while you might want the informational equivalent of a Wiki available to you at every point in the game, I don’t think that’s necessarily what Siralim needs. There must be a balance to provide players with as much information as possible, but it has to be presented in a way that isn’t overwhelming. That’s why, for example, I will never add access to the game’s library to the battle menu. There’s always going to be a more elegant solution instead of that – one of which you’ll find toward the bottom of this post.

The goal of any user interface designer is to minimize the number of “nested menus” that players need to sort through in order to get where they want to be. For example, how many buttons do you need to press to equip a creature with an artifact? How many buttons do you need to press to attack an enemy in battle? For obvious reasons, the fewer times a player needs to press a button, the better.

Aesthetically, I still want to maintain the old-school NES/SNES user interface style of a black background with white text. After all, Siralim is meant to remind you of those games. I don’t think it’s appropriate for a classic-inspired game to have a decorated interface for no apparent reason. So no, there still won’t be any scantily clad succubi peeking out from behind your creatures’ health bars like you’ll find in a game like Diablo 3. It’s just not that kind of game.

Let’s start with the very first screen you’ll see when you start the game and get past the Thylacine Studios logo.

I know, it doesn’t take a genius to figure out such a simple control scheme, but isn’t this infinitely better-looking than the primitive white-on-black screens found in Siralim and Siralim 2? This is the first game element that any player sees, and I think the old one had an immediate, negative psychological effect on a lot of players that made them say to themselves, “Damn, this game is cheaply made”.

The biggest change to the user interface is the main in-game menu, so we’ll discuss that next. Let’s take a look at a few screenshots.

Excuse the weird look of the castle – it’s just a chopped up version of Siralim 2’s castle right now, but it’ll be entirely different soon enough. Anyway, this is the first thing you’ll see when you press Q to open the menu. Not much has changed here, but you’ll notice that the resources are now presented a bit more consistently than before. In addition, when you choose any of these menu options, instead of another menu popping out to the right of the main one, the options will simply change in the original menu instead. Here’s what happens when I choose “Character”:

Immediately, with one less press of the button than before, you have some quick access to your character’s information. You can scroll up and down using the W and S keys as before, but you don’t have to press E again – the panels on the right simply change as you “hover over” one of the menu options.

Here’s a better, animated example using the “Creatures” menu:

The Library interface is now sorted much better as well. Now, each library book has been categorized as either a “List” or a “Guide”. Lists include things like the creature bestiary, the spells you’ve discovered, and your breeding recipes. Guides are informational and serve as a reminder of how certain game mechanics work.

One of the most commonly-requested features is to allow players to view detailed information about their creatures and enemies in battle. Therefore, in Siralim 3, the “Inspect” command is now a lot more useful:

This new feature allows you to view the stats, traits (yes, even the temporary ones you can sometimes acquire mid-battle), artifacts, spell gems, and many other things about any creature in battle. You’ll also notice that when I targeted the Yeti, there’s a + next to the “Inspect” text. This means that, since the Berserker Fiend (Chaos) is inspecting the Chillbreeze Yeti (Sorcery), it’ll deal extra damage to it. There’s a + next to all the command text, including attacking and casting spells. That way, it’ll be easier for you to choose the best target based on the enemy’s class. Similarly, you’ll see a “-” sign next to the text if your creature’s attack will deal less damage due to a class weakness.

Which gaming platform makes developers the most money?

In previous posts, I discussed what it’s like to develop and port games for Windows, Mac, Linux, iOS, Android, PlayStation 4, and PlayStation Vita. Clearly, some platforms were much more difficult to develop for than others. But does the revenue earned from iOS and the PlayStation systems offset this frustration? In this post, we’ll take a look at how much money each platform makes for Thylacine Studios. Keep in mind that these values are very unlikely to be indicative of every company in the market – after all, we produce very niche games which probably appeal to a much different market than others.

These numbers are based on our most lucrative game, Siralim 2.

Windows (Steam)

Siralim 2 for Windows, distributed on Steam, accounts for the majority of our sales at 58%. This shouldn’t be at all surprising considering Windows is the most popular operating system. There’s really not much to say about Windows – it’s easy to develop for, and is the most lucrative. If I had to pick only one platform to support, it would be Windows.

Most revenue comes from sales – most notably the Steam Winter Sale as well as those that I run on my own. Most other Steam-driven sales aren’t very useful – for example, I’ve only sold a couple hundred copies of Siralim 2 during the Steam Autumn Sale. Not only is there a lot of competition with so many games on Steam now, but most people are definitely holding out for the Winter Sale which will inevitably have lower prices for all games across the board.

It’s also interesting to note that none of my games have ever been featured on Steam. Despite having higher sales and more positive reviews than other games (Siralim 2 has 94% positive reviews), we can’t seem to find our way to the front page during flash sales or other sales. I’d imagine Steam would account for much more of our revenue if this were to ever happen.

Mac (Steam)

The Mac version of Siralim 2 accounts for less than 1% of our annual sales. While that’s obviously quite low, it’s also very easy to port a game to Mac. In most cases, it’s as easy as clicking the “Compile for Mac” button rather than “Compile for Windows”. There’s a little more to it than that because Apple is a horrible company, but it normally only takes one day to test, debug, and prepare a game to run on Mac. I’d say it’s definitely worth supporting this operating system as long as you’re using an engine that makes it easy for you, such as GameMaker or Unity.

Linux (Steam)

Much like Mac, Linux accounts for less than 1% of our annual sales as well. Linux is a bit more difficult to support since it’s a lot more likely that users might be missing some required runtimes and other software, but it’s really not a big deal either way. It’s just as easy to port a game from Windows to Mac as it is to port from Windows to Linux, so I think this platform is worth supporting as well. It also generates some decent press from Linux-based gaming websites, and as you know, any press is good press.

Android (Google Play)

Google Play accounts for a little over 6% of our annual sales. While that might not seem like a lot, keep in mind that Android also helps to sell the game on other platforms because our games all support cross-platform cloud saving. Many of our players purchase our games on multiple platforms so they can play them both at their desk and in the bathroom. And regardless of that, 6% is nothing to scoff at – this amount of revenue is almost enough to cover development costs of the game itself!

Android (Amazon)

Stay away. Stay far, far away. I’ve attempted to distribute our game on two different Amazon platforms so far: the Amazon App Store and Amazon Underground.

The Amazon App Store works like any other Android store. Users simply purchase the game and then they have access to it forever. The problem is that, despite being the second largest Android store, Amazon doesn’t have enough market share to garner a decent profit. Aside from that, they have some pretty annoying technical requirements that make development a nuisance. The Amazon App Store earns less money for us than any other platform or store.

Amazon Underground is interesting. It allows people to play your game for free and access all DLC and in-app purchases at no cost. Developers are paid for each minute users play your game. The problem is that Amazon Underground only pays out $0.002 per minute. Yes, that’s 1/5 of one cent. That means a player needs to play your game for over 8 hours to earn developers $1. Most games don’t even last that long, but luckily Siralim will last most players far longer than that.

Unfortunately, that also means that I need thousands of players who are willing to play the game on Amazon Underground in order to make any decent amount of money, and that’s simply not practical for a niche RPG. In fact, I’m guessing that’s the case for most games. Aside from that, Amazon Underground has some pretty ridiculous technical requirements that make it an absolute chore to develop for. Right now, the Amazon Underground versions of Siralim and Siralim 2 don’t run very well on some phones, and crash for no apparent reason. Unfortunately, I also can’t remove these games from the Amazon Underground program – Amazon simply doesn’t allow me to do so. Right now, Siralim has a 3.5 star rating on Amazon, while Siralim 2 has a 1.5 star rating. Cool.

As you might imagine, Amazon Underground earns so little money for me that it’s not even worth providing you with a number.

iOS (App Store)

I’ve done enough complaining about Apple lately, so I’ll spare you from me repeating it again here. iOS earns about 1% of my annual sales. Not bad, but definitely not good, and it’s absolutely not worth the time it takes for me to port the game to phones. I think a lot of it has to do with the game itself, though – a lot of people don’t like on-screen virtual controls. Still, it’s strange that Android earns so much more money for me than iOS despite having a lot more apps and games that people need to sort through in order to find my own. Siralim 3 and The Negative will have much more intuitive touch controls, and I’ve also learned a lot more about creating higher-quality storefronts since I released my last few games, so we’ll have to wait and see how things turn out for iOS in 2018.

PlayStation 4 and PlayStation Vita

The PlayStation platforms account for the remaining ~31% of our annual sales. These are huge, largely-unexplored platforms for independent developers. I don’t think it’s necessarily worth the time it takes to learn all the intricacies of developing for PlayStation just yet since in the time it took me to launch my games on these platforms, I could have made a whole new game. But now that I know how to do it, it’s a lot easier and I’ll continue to support PlayStation 4 and all future Sony platforms for as long as I can.

However, I’ve been in talks with a company called Limit Run Games this year, and it sounds like we’ll be releasing a limited supply of physical copies of Siralim and Siralim 2 for PS4 and Vita in early 2018. Sales are projected to be so high that it’ll nearly double my total revenue across all platforms. In that case, PlayStation is by leaps and bounds the most lucrative platform.

Siralim 3: Story, NPCs, and a discussion about general gameplay!

As you might expect before we dive into the details about Siralim 3’s gameplay systems, we should talk about the story and the game’s characters first. At the end of this post, I’ll also talk about a pretty big change coming to the way the game “feels” when you play it. Let’s get started!

The Story

Although the game is called Siralim 3, you won’t be ruling over Siralim this time around. Instead, you’ll take charge of the kingdom of Nex, one of Siralim’s closest allies. You see, as you might have noticed in Siralim 2, the king was kind of an asshole. Those bosses he mercilessly slaughtered were simply trying to protect the world from his mad ideals. His people, including his most trusted friends, were loyal to him only out of fear. But after a while, bullying his own kingdom wasn’t satisfying anymore. He decided to attack and invade other kingdoms, not caring whether they were friend or foe. Countless kingdoms succumbed to the king of Siralim’s wrath, and as it turns out, Nex is the only remaining kingdom in Rodia that hasn’t been completely annihilated. But the hour of war is now upon us in Nex, and we must rally our people to try to fend off the attack.

You’ll start the game in Nex, which is under attack by a preliminary force of Siralim’s army. While the people of Nex are quite familiar with summoning and using creatures in small-scale battles, a century of relative peace has left your kingdom with its guard down. Very few of your people will survive the attack, and even if you manage to fend off the invaders, re-building your castle requires time that you don’t have to spare. If you manage to repel the attack, waiting around for recovery is not an option. You need to take the battle to Siralim and destroy the king and his army once and for all.

Even the gods no longer believe in the king of Siralim, and they regret placing trust in him to use the Nether Orbs for good rather than evil. As you might have expected, they’ve come to you to help Nex overcome this war. They will serve a much larger role in this game than they did in Siralim 2, and their personalities are now a lot more fleshed-out and interesting.

 

Sidenote: if you choose to be a queen in Siralim 3, the antagonist will be the queen of Siralim instead of the king.

NPCs and Castle Upgrades

Well, spoiler alert: most of the people of Nex will die within the first 10 minutes of the game. You had a blacksmith, but he was beheaded. The tavernkeeper was eaten alive by horrible Nether Creatures. And the enchanter? Well, you don’t want to know what happened to her.

In previous Siralim games, you could unlock these NPCs and other features by completing castle upgrades. However, that isn’t how it works in Siralim 3. Instead, you’ll meet and recruit these people during your travels as you seek out a way to destroy Siralim. Some of these people simply might be looking for a kingdom to join, while others might be under attack or give you a task to complete in exchange for their undying loyalty. Others might even be defectors from Siralim.

From a gameplay perspective, I think this will make the game flow a lot more smoothly. The castle upgrade system in previous Siralim games presented an illusion of choice; after all, when would you not want an enchanter in your kingdom? Aside from that, rituals made this system feel even more cumbersome, so those are not in Siralim 3 at all. Now, you’ll simply unlock these NPCs as you progress through the game’s storyline. After moving in to Nex, many of these NPCs will have side quests for you which will unlock even more of their potential. For example, the blacksmith will give you quests that, upon completion, unlock new artifacts for him to craft.

A Classic Game

In some ways, Siralim and Siralim 2’s progression feels kind of cheap. For the most part, you and your creatures leveled up every battle or two, and while resources may have been scarce early on in the game, you probably had so many later on that you didn’t know what to do with all of them. Aside from that, the levels of your creatures didn’t seem to matter that much – a level 300 creature could fare pretty well against a level 350 creature.

In Siralim 3, leveling up will take a bit longer than before. Don’t worry, the pacing of the game will remain the same – I’m not going to make it more of a grind or anything, but I want each experience level to have more of an impact on your successes and failures than in previous games. Aside from that, creatures will gain stats exponentially when they level up. For example, in Siralim 2, each level simply granted a creature +20% to all of its base stats. In Siralim 3, each level grants a creature +20% to all its base stats as it did before, plus an additional amount equal to a function of its level. With the help of these changes, leveling up should feel a lot more rewarding and impactful.

You’ll also find that the resource system is more balanced than before. Power Balance has been removed from the game, so there’s no need to worry about that anymore. In addition, Power is now considered a normal resource just like Brimstone, Crystal, Essence, and Granite. Each resource will still be used for different things, and I am trying to make sure that players value all resources equally.

Another major change is how the death penalty is handled. In Siralim 1, you lost a percentage of your total resources when your party was wiped out. I don’t really like that since it had a tendency to increase the game’s difficulty simply because you died. That feels really inconsistent to me. That’s why in Siralim 2, the penalty for dying was a loss of Power Balance. But not only is Power Balance not in Siralim 3, it also caused players a lot of frustration because Power Balance was so tedious to maintain. The worst part about both of these death penalties is that because of the way the math works out, these penalties either annoyed players or players simply didn’t care about them at all, so they were happy to recklessly charge into a realm without considering the consequences of death.

Instead, here’s how the death penalty works in Siralim 3: every item you acquire in a realm (aside from resources) will be added to a “Pending” category in your inventory because they’re all tainted by Siralim’s corruption. These items cannot be used while they’re “pending”. After you find the Teleportation Shrine and teleport to a new realm or back to Nex, the Teleportation Shrine will dispel the corruption from these items so you can add them to your inventory. If you die in battle, the items will be lost forever. This death penalty will add a bit of tension to the game because if you find an extremely rare item a realm, there’s no guarantee you’ll be able to keep it if you die in battle. And since enemies now continuously spawn in realms, you can’t try to cheat the system by clearing out all the enemies and then opening up the treasure chests. This death penalty only applies to realms past a depth of 10. Huge thanks to Umaro on our forums for this idea!


What do you think of Siralim 3 so far? Are you excited? As always, if you have any suggestions for the game or want to talk about this post, please leave a comment here or check out our forums!

Supporting Games On Multiple Platforms (Part 3)

Now that I’ve discussed what it’s like to develop a game for Windows, Mac, and Linux, as well as mobile platforms, it’s time to finish off this series with PlayStation 4 and PlayStation Vita!

Unfortunately, this post won’t have any screenshots. I’d love to show off the development kits and some of the tools that Sony provides us, but all of it is protected by a non-disclosure agreement that I don’t have any interest in violating.

Step Five: Porting to PlayStation 4.

Luckily, the PS4 comes equipped with some pretty powerful hardware, so it doesn’t require anywhere near as much optimization as the game’s mobile version. However, much like the other platforms, the PS4 comes with its own set of issues that can sometimes make development quite a headache.

First, I applied for a developer account with Sony. This takes some time, because I needed to include a pitch for my game and explain how I planned to bring it to their consoles. After a few weeks, I received an e-mail from them saying that my application had been accepted and to wait for my login details. A few days later, I received an e-mail from several employees at Sony. One of them gave me my login credentials and introduced the employees that I was assigned to work with. Each person is responsible for something different: one is your account manager, one is in charge of marketing, one works as the leader of a quality assurance team, and much more. All of these employees are extremely pleasant to work with and reply to e-mails very quickly. I also requested access to development kit rentals for PlayStation 4 and PlayStation Vita development kits, and those arrived in the mail about a week later. These development kits are pretty much the same as the consoles you can buy in stores, except they look a little different and have some debug tools integrated into their operating systems.

First, not a lot of people use GameMaker to create console games. In fact, when I was porting Siralim and Siralim 2 to PS4 and Vita, I’m pretty sure I was one of the only people using it at all. The vast majority of my time was spent finding and reporting bugs related to the GameMaker export module for PS4 and Vita rather than working on the game itself. Many of these bugs were show-stoppers, and it was virtually impossible to submit a PlayStation game to Sony because the game simply wouldn’t compile. One of the employees who develop GameMaker started working with me directly to fix all the bugs I could find. I am very impressed with the level of customer support they provided. After several weeks of frustration, everything finally came together, and I could compile my game.

Next, I had to work out some more details with Sony. There’s a lot of codes and serial numbers to work with, and it takes a very long time to figure out how everything works. It also takes a while for Sony to create your codes, so I found myself working with a very volatile schedule: one day, I wouldn’t have anything to do, and the next day I’d be swamped with trying to figure out how to make the codes work that they sent me. There’s plenty of documentation to read and it’s all very informative, but there’s so much information to take in that it quickly becomes very overwhelming. After a lot of trial and error, I finally figured everything out. Fortunately, it’s one of those things you never forget how to do, so I can hopefully assume the worst of my career is behind me now.

Finally, it’s time to submit my game to Sony’s quality assurance team for review. I don’t know how much these guys are paid exactly, but regardless, it’s not enough. My heart bleeds for the poor souls who were forced to play Siralim for dozens of hours, trying everything in their power to break the game and submit bug reports to me. They found all kinds of things that players on other platforms would never even think about. For example, since “W” is the largest character in the font Siralim uses, they discovered that if you name your character “WWWWWWWWWWWWWWWW”, the name will bleed outside of the bounds of the screen on the loading menu.

After the QA team finished testing the game, they sent me a list of all the bugs they found and identified the ones that I needed to fix before the game could be released. I fixed what I could find, and re-submitted the game for QA testing once again. They had to go through the entire game and test it just like they did the first time. Unfortunately, they found a few new crashes and bugs, many of which were due to even more bugs with GameMaker. That means that I had to get back in contact with the GameMaker developers, have them fix the software on their end, then test the game, then re-submit it and hope for the best. Embarrassingly, I lost count of the number of times I had to re-submit the game to Sony. I suspect that several of their QA testers have played Siralim more than most players. I’m also very confident that they hate the game at this point. They probably wanted to throw up when they saw that there was a sequel.

Ultimately, everything worked out and the game was accepted. Sony asked for a trailer for the game along with a bunch of other marketing materials such as screenshots and logos. I was also asked to write a short blog post for the official PlayStation blog to introduce the game and interact with the community. They edited the hell out of it and even threw a couple grammar errors in there which makes me look kind of stupid, but that’s life.

After the trailer was uploaded to the PlayStation YouTube account, I was met with an onslaught of hatred as over half the people watching it gave it a giant “thumbs down”. I didn’t bother to read more of the comments after I saw someone mention that “this game gives [him] eye cancer”. Luckily, for every asswipe out there, there’s someone who is welcoming and respectful. Some of those people are probably reading this right now, so thank you for not being an asswipe.

So now it’s all sunshine and rainbows, right? Time to launch the game!

Oh, wait. There’s still PlayStation Vita to contend with.

Step Six: Porting to PlayStation Vita.

Alright, so take all the problems I mentioned in the PS4 section and multiply by 100. Not only were there far more GameMaker bugs with the Vita module, the Vita’s hardware is also far weaker than the PS4. In fact, it’s weaker than most smartphones. Again, before you say “but Zack, the graphics are so basic! How can hardware be too weak?”, keep in mind that there are probably more calculations going on in the background than pretty much any game out there except maybe for Dwarf Fortress. But if you’ve played the game, I probably don’t need to tell you that. Anyway, the bottleneck on the Vita is its low RAM. It has only 512MB RAM, a lot of which is consumed by the operating system anyway. If you don’t develop your game from the ground up with the Vita in mind, you’re going to have to do a lot of optimization.

When I first ran the game on Vita, my character took about 10 seconds to move one square in any direction. If I entered a battle, the game would crash. I’ll spare you the details because I’ve already discussed optimization in my previous posts, but let’s just say it took a lot of Band-Aids to get things running smoothly on this device.

One little note: don’t mistake my snark for me hating the Vita. I have one of my own, and I love it. It offers some excellent games and I’m sad to see that they stopped production on it.

Anyway, I had to submit the Vita version of the game in the same manner that I did with the PS4 version. The poor souls working in QA had to play the same exact game that they did for PS4, except this time they could take it to the bathroom with them. I like to think that Siralim is an excellent bathroom game, so maybe they were happy about it. I don’t know.

Several QA failures and re-submissions later, the game was accepted for Vita as well.

Eventually, both the PS4 and Vita versions were released simultaneously. People were very happy with it. I received a lot of positive comments from the players, and I kept an eye on the reviews on the PlayStation Store and both platforms held a 4.5 star rating which is outstanding. It’s time to finally enjoy a nice, tall gallon of bourbon!

But wait… I just received an e-mail. And another. And now a Tweet. Now there’s a bunch of new posts showing up in our support forum. It’s time for a cold shower and some emergency coffee, because things are about to get rough.

Step Seven: EMERGENCY PATCHING

I don’t know how I didn’t catch this, and I really don’t know how Sony’s QA team didn’t catch this either considering how thorough they are, but it turns out the PS4 version of the game launched with a bug that caused your save file to randomly delete itself. It’s one of those things where you need to play the game a very specific way to trigger the bug, but with so many people playing it, they managed to make it happen. The strange part is that this bug only occurred in the PS4 version – nowhere else.

Words cannot explain what a horrible feeling it is to know that someone spent their hard-earned money on a game that will inevitably disappoint them as their save file is ripped out from underneath them like a rug. Somehow, everyone remained calm and the general player base was very understanding and patient when I told them I would look into the problem immediately. But now what? How do I patch a game? I know GameMaker doesn’t even support patching for consoles. And even if they did, what are the technicalities behind it? How do I submit it to Sony when it’s ready? Can they hurry it along so that people don’t get upset?

I started by contacting the GameMaker developers again, and they explained that while GameMaker can’t create a patch, I can make one myself with some clever workarounds. Easy enough. But what caused the bug to happen in the first place? I don’t know how to fix something when I don’t know what caused it to happen. As it turns out, it was another GameMaker bug. Luckily, they fixed it very quickly and sent me a private update for the software immediately so I could patch the game as fast as possible.

Next, I had to submit the patch to Sony for… you guessed it, quality assurance testing. I’m sure the entire QA team was sitting around a table having a pizza party in celebration of not ever having to look at Siralim ever again, and I mercilessly culled their happiness with one click of the mouse. Fortunately, Sony has an option to classify a patch as a “hotfix”, meaning it’s an emergency and the QA team will prioritize it over other patches and games. Long story short, the patch was accepted and applied to the game.

“Just got the patch and it works! Thanks for the fast support!”, said one person on Twitter.

“Best customer support ever. Awesome game, keep up the good work.”, said another.

“Congrats on the release! When will it be released in Europe?” asked a polite gentleman from the Netherlands.

Crap.

Step Eight: Oh wait, all that work was just for North America.

Yep, in order to sell your game in Europe, you have to go through the entire process all over again, except this time it’s with a whole new team of Sony employees. They also have slightly different requirements for what your game can have in it, and you also need to get your game description translated into about 20 different languages.

The worst part, however, is PEGI. For those who don’t know, PEGI is the European equivalent of ESRB. They charge $1500 (or maybe it’s $2000; I don’t remember anymore) per game, per platform, so I had to pay $3000-4000 for a rating that no one actually cares about, yet it’s required by law or I can’t sell the game in Europe.

It took a bit longer than expected to get everything passed through PEGI, though. Here’s an e-mail I received from them that explains the cause of the holdup:

Aside from this little hiccup, it didn’t take too long to release the game in Europe. Good times!


If you’ve made it this far, thanks for reading! I hope you won’t mistake my snark for dissatisfaction toward my job, because at the end of the day, I love what I do and wouldn’t trade it for anything. It’s been a long-winded learning experience, but I think the hard part is behind me now and I look forward to developing higher quality games at a much faster rate than ever before.

Until next time!

Supporting Games On Multiple Platforms (Part 2)

In my last post, I introduced and discussed the way we handle supporting our games on multiple platforms. While the last post’s focus was on the desktop (Windows, Mac, and Linux) version of our games, today we’ll discuss the mobile/tablet porting process.

Step Three: Porting to Android.

Our games are typically available for both Android and iOS, but Android is a lot easier to develop for, and it’s infinitely easier to publish games on the Google Play Store. Therefore, I usually start working on the Android port before the iOS version.

Obviously, phones and tablets have weaker hardware than desktop devices, so this is where it becomes very difficult to optimize our games. Android runs on thousands of different devices with various screen resolutions and hardware specs, and some people are still using phones from 5 years ago. With so little RAM to work with, I need to work hard to ensure the game is as optimized as possible. GMS2’s debugger isn’t quite as good at profiling mobile devices, so there’s a lot more guesswork involved with optimizing for mobile platforms as well.

Aside from that, I also need to add touch controls to our games. This is a lot more difficult than it sounds. While Siralim and Siralim 2 use on-screen touch controls (a directional pad and circular buttons, similar to a physical gamepad), they need to work for thousands of different devices and configurations. Some versions of Android (especially custom builds of Android – a trend that is becoming uncomfortably popular) randomly force our buttons to weird locations, so I need to hard-code fixes for certain popular devices. I currently own 11 Android phones and tablets with varying hardware specifications, screen resolutions, and Android builds in order to test our games as thoroughly as possible.

Once everything is ready, I can compile the game for Android and quickly publish it on the Google Play Store. The Google Play Store is by far the easiest storefront to work with, and it’s always a breath of fresh air to work with Google compared to Valve, Sony, and especially Apple. Contrary to popular belief, Google is also pretty good at filtering out the garbage apps/games and ensuring your game doesn’t get lost in a sea of junk software. For that reason, Android is one of our most profitable platforms to work on. Google charges a one-time fee to be able to distribute apps on the Google Play Store. I’m not sure how much it costs now, but it was $25 when I started my development account.

Yes, I know what you’re thinking: “RPG Game!? What an idiot!”. Yes yes, such nomenclature makes me uncomfortable as well. But it’s great for SEO (search engine optimization) and I’ve found that it improves our position in the search results rather than simply referring to the game as just an RPG.

Next, it’s time to work on the iOS port. I’ll need a drink or nine for this one. The good news is that the game itself is 90% ready for iOS since the Android version already allowed us to optimize the game and add touch controls. The bad news is…well, there’s a lot of it.

Step Four: Attempting to port to iOS.

I’m not going to sugar-coat it: I hate iOS, and I hate Apple. This company hates their developers even more than their customers, and I honestly cannot figure out why they’re so successful. This section is going to sound a little bitter, and for good reason: iOS accounts for the vast majority of my development/porting time (and headaches, and alcohol consumption, and…) while accounting for less than 1% of my annual sales. The only reason I still choose to port games to iOS is that I know a lot of people would be disappointed if Siralim was only available on Android. Plus, as an iPhone user myself, it’s nice to be able to play my own games when I’m not on the computer.

Let’s start by creating a development account. First, I have to pay around $100 per year just to be able to develop apps for the App Store. While that’s not necessarily a lot of money, it is by far the most expensive fee charged by any of the other platforms. I know that it’s meant to deter people from uploading garbage apps to the App Store, but let’s face it: 1) that doesn’t actually work at all, as you can see by browsing the App Store for a few minutes, and 2) $100 is not a lot of money for people who are making hundreds of dollars per day with their spam apps.

Next, we need to fill out some paperwork. A lot of paperwork. And you’d better make sure you get everything right the first time because they don’t allow you to change minor details such as your home address very easily. As of the time I’m writing this, I haven’t been paid by Apple in 8 months because I’m still trying to sort out a change of address from when I moved to a new house last year.

Aside from the typical paperwork, for whatever reason, we also need to sign a bunch of certificates and profiles and load them onto our computer. I won’t lie – I don’t know why we need these or what they even do. My guess is that they work as an encryption key to sign the final app. This process is very time-consuming, but it gets worse: these certificates expire after 1 year. That means that after one year goes by, I need to try to remember how to complete this process all over again. Tax season has nothing on this.

Now for the truly brutal part. You see, Apple decided that we’re not allowed to develop iOS software on Windows or Linux, so developers are forced to buy a computer that runs Macintosh first. Right now, I’m sitting next to a $1300 MacBook that I was forced to purchase just so I can compile my games. Apple forces its users to use a program called Xcode, which is all-inclusive software that allows you to import and compile code into an executable app file.

Unfortunately, I don’t use a Mac system to develop my games (I use Windows), so in order to get the code from my Windows system to my MacBook, I need to do some networking. And we all know that never works out as easily as it sounds. Here’s how the process works:

  1. Compile the game using GameMaker on Windows.
  2. GameMaker sends some raw code over the network to the MacBook.
  3. GameMaker tells the MacBook to launch Xcode, and tells it about the code we just sent over. Hey, this isn’t too bad so far! Wait…
  4. Xcode freaks out, tries to figure out what’s going on, but ultimately fails. It throws up a bunch of error messages, none of which are accurate or remotely helpful.
  5. I Google the error messages and find hundreds of forums filled with other confused developers. Eventually, one hero figures out the problem, and I hope it works for me as well. If not, repeat step 5 until the problems are resolved.
  6. Beg Xcode to upload the app file to Apple’s servers.
  7. “No”, says Xcode. “Your certificate is invalid. But I won’t tell you which one. It’s a game, you see.”
  8. I open up my Keychain, cringing as I try to imagine what the person looks like who decided to call it that. The Keychain contains a list of all my development profiles and certificates. “Ah, not bad” I squeak with a tear in my eye. “Only 27 certificates to go through.”
  9. After a few hours of fiddling with the dozens of options on each certificate file, I try to upload the game again and it randomly works. I have no idea what I did to solve the problem, but hey, at least it works now.
  10. I fill out some information on the Apple Developer website about the game, such as the name of the game, description, keywords, age rating information, etc. I also need to upload screenshots with oddly-specific specifications. For example, they need to be in a resolution that literally no other device in existence uses, and they need to be 72 dpi, RGB, flattened, and contain no transparency. Easier said than done, but let’s move on.
  11. The game is now submitted and waiting for approval. I am now at the mercy of some intern who will review my game and graciously grant me the opportunity to sell my game.
  12. The intern wasn’t trained properly, so he or she rejects the game because Siralim asks you to give your character a gender, and I’m obviously collecting that information so I can use it against you later on. I’m going to sell the gender of your character to a marketing firm and make millions of dollars. That’s it exactly.
  13. Loop back to step 1, and hope I get lucky with a more intelligent intern next time around.

I wish I was exaggerating some part of this process, but I’m honestly not. I have now released 3 games on the App Store and they’ve all been this obnoxiously difficult to create for iOS. And let’s not forget that whenever Apple releases a new iPhone (which always has some weird, new resolution that no other device has) or a new iOS update, it’s probably going to break most apps on the App Store and I’ll need to repeat this process all over again.


Next time, we’ll wrap up this three-part series with a look at what it’s like to develop a game for PlayStation 4 and PlayStation Vita. See you soon!

Supporting Games On Multiple Platforms (Part 1)

A lot of people ask how I (and many other developers) manage to support so many platforms at a time. After all, Siralim and Siralim 2 are available on Windows, Mac, Linux, Android, iOS, PlayStation 4, and PlayStation Vita – and that’s understandably a lot of work for one developer to handle. I’ve decided to write a blog post about this topic, as well as a brief overview of what it’s like to launch a game on each platform. I’ll break this topic down into 3 parts – the first will discuss the Steam release (Windows, Mac, and Linux), the second will discuss the mobile release (Android and iOS), and the third and final part will discuss the console release (PlayStation 4 and PlayStation Vita).

What engine do you use to create your games?

I use GameMaker Studio 2 to create all our games. GMS2 is, in my opinion, the best engine in existence for creating any 2D game. It comes with a lot of built-in functionality to handle what would otherwise be a major pain in the ass to accomplish with a homemade engine. For most independent developers, I find it hard to justify creating your own engine. It’s 2017, and engines like GameMaker and Unity have come a long way toward making game development more accessible for everyone.

Step One: Build the game for Windows.

I start by creating all my games only for Windows. That’s because I run Windows on my main development laptop, so it’s really easy to make a change to the game and quickly run a test version of it on that same computer.

After the Windows version of the game is relatively stable and complete, it’s time to enter Early Access on Steam. This gives players the opportunity to contribute feedback and report any bugs and crashes they find. The first week or two of Early Access is pretty rough – I normally work about 14-18 hours per day, doing nothing but combing through our forums, fixing game bugs, and releasing game patches to make sure everything is nice and stable. Particularly in the first week, I’ll release up to 10 updates per day to address bugs and crashes. This week is the only time my job becomes truly stressful – it’s a little disheartening for me to think that someone paid money for a product that doesn’t meet their expectations, Early Access or not. When I released Siralim 2 on Early Access, I remember finding a few solutions to major crashes and bugs while I was sleeping – that’s how entrenched in the code I was during that time. And yes, I still make time to shower every day.

Steam is sometimes a bit annoying to work with due to a very “user-unfriendly” backend. It’s very time-consuming to create achievements, especially since our games tend to offer hundreds of them. It also takes a lot of effort to create Steam backgrounds, badges, emoticons, and cards, because these assets have very rigid technical requirements from Valve. I’ve also found that Steam’s approval process is a little cumbersome – each game is reviewed by a human, which is great, but it means that you have to wait a few days for them to check everything over. If there are any issues, you need to correct them, re-submit the game, and wait for someone to review the game all over again.

Step Two: Porting to Mac and Linux.

After the Windows version of the game is relatively stable and I notice that the number of bug/crash reports have dwindled, and I’ve ensured there are no major flaws in the game mechanics that people dislike, it’s time to move on to porting the game to Mac and Linux. This is actually a lot easier than it sounds – GMS2 allows you to compile the exact same game for Windows as all the other platforms, so it’s pretty much just a few clicks of the mouse and I can create a version of the game for Mac and Linux.

One frustrating part of developing games for Mac, however, is that despite their high prices, Mac systems tend to be pretty weak from a hardware perspective. I’ve also found that people like to hang on to their same MacBook from 10 years ago and expect games to run perfectly well on it, so this is a good time for me to start optimizing the game to make it run more smoothly on lower-end hardware.

Many people think that, because Siralim has such primitive graphics, it should be able to run on any system, but that’s simply not true. Siralim has a lot going on behind the scenes: the game needs to manage thousands of objects at a time, generate random dungeons quickly, and process tens of thousands of lines of code during battles thanks to the hundreds of spells and traits available to players at all times. This means that the player’s CPU and RAM are the most significant bottlenecks. GMS2 has a nice debugger that allows me to profile the game and determine which functions take up the most RAM and tax the CPU the hardest. I can quickly find which functions need to be re-written to run faster. Sometimes, this means that I need to re-code entire game systems, but that’s usually not the case.

Linux tends to be a lot easier to work with. For obvious reasons, Linux users tend to be some of the most tech-savvy of all our players, so they’re really good at reporting bugs and crashes with a lot of detail. Linux users also tend to run this OS on higher-end systems, so optimization is typically not as big of an issue as it is with Mac devices.

Once the Mac and Linux versions of the game are ready, I upload them to Steam so Early Access users can play the game on these platforms as well. While I wait for users to report issues with the game on these platforms, I continue to fix any outstanding bugs and crashes, and implement changes based on feedback from our players.

Once I’m confident the game is relatively free of bugs and crashes, and the game is content-complete and the player base tends to be generally happy with what the game offers, it’s time to leave Early Access and officially launch the game on desktop devices. That’s as easy as pressing a “Launch” button in the Steam back-end. Then, it’s time to drink a bottle of bourbon (Woodford Reserve, if you must ask) and watch YouTube for a few days. This is also a great time for me to apologize to friends and family for falling off the face of the earth for a few weeks.


In part 2, we’ll explore the process of porting our games to Android and iOS. If you found this post helpful or interesting, feel free to let me know in the comments, or ask any questions you have!

See you next time!