Siralim 3: Runes

If I could only change one thing in Siralim 2, it would be Runes. While the core concept is interesting enough, this system has a few flaws. First, the effects of runes were poorly balanced. Many of these items were useless, while others were so powerful that they were must-haves. Runes also didn’t stack in your inventory and saw very little use in post-story content, which caused players’ inventories to constantly clog with dozens of runes that you’d clearly never use. Aside from all of that, runes simply weren’t that interesting. I hope to address these problems in Siralim 3.

Runes

Runes now stack in your inventory. This should make them much easier to manage. In addition, there are now 50 runes for you to find, and most of them have different effects than they had in Siralim 2. Here are a few examples:

Ith Rune – Your creatures’ Critical buffs now also work with spells.

Yar Rune – Your creatures’ Taunt buffs now also cause them to automatically Provoke at the end of their turns.

Zar Rune – Enemies’ Blight debuffs now also cause any buffs they gain to be converted to a random debuff instead.

If these feel too niche for you, there are a few basic ones as well, such as the Aen Rune which simply increases your creatures’ Health by 10%.

Runewords

You can equip 5 specific Runes to form a “runeword”. Runewords give a very powerful effect to you or your creatures. For example, you can equip the AenKihMulRuhZar runeword which translates to “Light”. While this runeword is active, Surathli will sometimes join you in battles to support your creatures. There will be dozens of different runewords for you to discover. Note that not all combinations of runes will form a runeword.

To prevent players from constantly swapping out their runes to form new runewords without any thought, there is a now a small chance that your runes will break when you unequip them.

Artificer

The Runemaster from Siralim 2 will return in Siralim 3, but this time he’ll be known as the “Artificer”. You can trade your unwanted runes to the Artificer in exchange for knowledge of a new runeword. The Artificer also allows you to choose from the list of runewords you’ve discovered and equip the necessary runes automatically. The Artificer also has one other function that will serve as a rune dump, but that’s related to another system that I will reveal in a later post.

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone

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.

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone

The Negative: Devlog #23: Just checking in!

While I’ve been busy working on Siralim 3, Maarten, Tim, and JC (who is also working on a lot of Siralim 3 stuff!) have continued to work on new graphics, music, and sound effects for The Negative. While I don’t have any huge news to report in this devlog, I figured everyone might appreciate a status update on how the development cycle is going for The Negative.

As of a few days ago, Maarten completed work on all the monster sprites. There’s over 140 sprites total, including summoned monsters and things like that. They’re all animated with both attack and idle animations. JC has been working hard on skill effects for these monsters – each monster can have 4 active skills, so all of those require their own particle effects and sprites. In addition, many passive skills also require animated effects, so there are around 800 total skill effects in the entire game. That’s an absolutely insane amount, and yet JC is already about 80% done with these. He also finished all the buff and debuff effects, as well as battle ground effects such as pools of lava or circles of healing.

While JC finishes up the skill effects, Maarten has started working on the in-game environments. He’s starting with the Depression environment, which has a lot of snow, ice, and forgotten ruins. Each environment is made up of several sub-environments to keep things fresh for the player – our goal is to ensure that players won’t see the same tileset more than once every 10-15 hours. And when you do start seeing repeated tilesets, my hope is that the random generation will be so good that you’ll barely recognize it anyway. I’ve discussed this goal with Maarten quite extensively and we’re confident that we can pull it off. It’s going to be awesome. Oh, and each environment also needs its own town graphics since each environment also has its own distinct culture and lore. People who live in the Depression environment will live in very different houses than those in the Anxiety environment, for example. They’ll dress and act differently too.

One slightly frustrating part about developing The Negative is that there won’t be much to show you in the way of screenshots for a pretty long time. I decided that we should focus on creating monsters and skill effects first, so while there’s a lot of smaller bits of art to pass around, it’s almost impossible to show you what the actual game looks like since there are no actual environments or tilesets yet. But don’t mistake that for a lack of progress – the game is coming along very well and I am incredibly excited to continue working on it.

There’s still a ton of work left to be done, and I honestly don’t even know when we can expect an Early Access release at this point. The goal is still late 2018, but this game is easily the largest and most ambitious project I’ve ever created and I will take as much time as needed to make sure it’s absolutely perfect. In the meantime, you’ll have Siralim 3 to enjoy very soon!

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone

Siralim 3: Breeding!

The breeding system is very different in Siralim 3 than it was in Siralim 2. While the process itself is largely consistent between the two games, the underlying mechanics are a lot different. In this post, we’ll explore how the new breeding system works, introduce a new type of item, and discuss some changes made to eggs.

The Breeding Process

Just like before, you’ll visit the breeding master and select two creatures you want to use for breeding. These creatures can either be of your own choosing or based on the breeding recipes you’ve collected during your travels.

Breeding does not cost any resources, nor does it cost Power Balance since PB does not exist in this game. This means that, other than the loss of the two creatures used, breeding is completely free of charge.

When you finish breeding, you’ll be given an egg, and the parents will disappear forever.

Goodbye, Gene Strength

Gene Strength does not exist in Siralim 3. While I like the idea of each subsequent offspring growing more powerful as you continue to breed your creatures, it was very difficult to balance this mechanic correctly. At the start of Siralim 2’s development cycle, players said that creatures did not gain Gene Strength quickly enough. After making several changes to make GS feel more satisfying, however, it’s clear that balance became an issue. It either allowed players to mow down difficult content without any regard for their party composition, or it caused them to hit a brick wall at some point and prevented them from progressing unless they took the time to breed their creatures.

But don’t worry – there’s a new way to boost your creatures’ base stats in Siralim 3. Remember the “Pill” items from Siralim 1? They’re making a return to Siralim 3, only with a new name: Tomes. These ultra-rare consumable items boost a chosen creature’s base stat by 1. For example, a Tome of Luck can be used to increase your Berserker Fiend’s base Luck by 1. Since creatures gain stats based on a percentage of their base stats when they level up, it’s easy to see that these are very powerful items.

I’m thinking about adding some way to acquire Tomes outside of finding them as rare item drops, but I haven’t figured out how I want to implement this idea yet.

Hello, Heredity

Heredity is a new property that is passed on to creatures through breeding. You see, in Siralim 3, creatures have a level cap of 50. Only by breeding, and subsequently increasing your creatures’ Heredity values, can your creatures surpass this level cap. Each Heredity point increases a creature’s level cap by 10. It’s not very difficult to gain multiple points of Heredity at a time, so you won’t be obligated to breed very often unless you really want to.

The amount of Heredity gained each time you breed is based on how close parents’ levels are to their own level caps. Therefore, it’s optimal to breed creatures together if they’re at their maximum level.

I like Heredity because it gives players an incentive to always try new creatures and party compositions while still maintaining a balanced game. It also provides a means to continue strengthening your party over time, although it does so more indirectly than Gene Strength once did.

I’m sure you have a lot of concerns about this new system. Won’t it be annoying to level up your new creatures each time you breed them? And even more annoying to manage your creatures’ artifacts and spell gems each time you hatch an egg? The next section discusses how these problems are tackled, but if you really hate this new system, there’s a New Game option to turn off Heredity entirely. Don’t do that, though. The new system is fun, I promise.

All About Eggs

First of all, since rituals are not in Siralim 3, you don’t need to worry about completing one in order to hatch your eggs. Simply pay some resources and you’ll be able to hatch an egg instantly.

Eggs now remember the artifacts and spell gems their parents had equipped. When you hatch an egg, you can choose to immediately equip the new creature with either of its parents’ items or none at all. It’s a very simple process that makes breeding a lot easier than in Siralim 2.

The offspring also inherits 50% of each parents’ experience points. This means that if you breed two level 50 creatures together, the offspring will hatch at level 50 as well.

Keep in mind that leveling up takes a lot longer in Siralim 3 than in previous games, and each level is more impactful. So don’t worry – you won’t need to come back to your castle after every realm just to breed your creatures. Each point of Heredity will last a pretty long time.

More Breeding Recipes

There were over 1000 breeding recipes in Siralim 2, but there are nearly 6000 recipes to collect in Siralim 3. The main benefit of having so many recipes is that you are more likely to create a brand new creature that you’ve never seen before when you choose the parents manually.

For Siralim 2, I created all the breeding recipes by hand. In Siralim 3, I used a different process: controlled random generation. Don’t worry – every player will have the same breeding recipes, but they were created by an algorithm this time around. The result is that each recipe actually makes a lot more sense than they did in Siralim 2. Warning: the information below is intended to explain how I programmed the breeding recipes and might be pretty dense. If you don’t understand it, don’t worry – it’s not something you need to know in order to play the game.

To create breeding recipes that make sense, I started by tagging every creature in the game with certain keywords based on their physical appearance, functionality, demeanor, and much more. For example, most Efreets were tagged with words like “FIRE”, “CASTER”, “RED”, “ORANGE”, “EVIL”, and “DEMON”. Yetis were tagged with “BEAST”, “MACE”, “WHITE”, “BLUE”, “ICE”, and “LARGE”. Some creatures that belong to the same race have different keywords. For example, the Frostfire Efreet also has the “ICE” keyword, while none of the other Efreets have that word.

Next, I assigned each creature an internal “tier” from 1 to 5. Tier 1 creatures have up to 15 different breeding recipes, while tier 5 creatures only have 1 or 2 breeding recipes, meaning tier 5 creatures are much more difficult to obtain than tier 1 creatures. In addition, tier 5 creatures require tier 4 creatures to breed, tier 4 creatures require tier 3 creatures, and so on. You can only extract cores from tier 1 and 2 creatures, so you’ll need to do some serious breeding if you want to acquire creatures that belong to a higher tier. The goal of this system is to give players some really rare creatures to strive to obtain. It’s also worth noting that there are far more tier 1 creatures in the game than tier 4 or 5 creatures, for example. Of course, you won’t ever see what tier each creature has since this has no relevance to players.

Finally, I created an algorithm that determines which creatures can be bred together to create new ones. For example, the algorithm will start at tier 5 and decides to create recipes for the Snowsting Yeti, a tier 5 creature. It will scan through all the tier 4 creatures in the game and determine which ones have keywords that have some matches with the Snowsting Yeti’s own keywords. The idea here is that the two parents should share common attributes with their offspring, even if they belong to an entirely different race. Once the algorithm finds suitable parents, it adds that breeding combination to the list of Snowsting Yeti recipes. Once there are enough Snowsting Yeti recipes, the algorithm will move on to the next creature until there are recipes for every single creature in the game (with the exception of a few special creatures that don’t have any recipes at all).

Some basic code output from the breeding recipe generation algorithm.

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone

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.

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone

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!

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone

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!

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone

Soft Announcement: Siralim 3!

Well, I don’t think I can go one more day without talking about it, so here it is: Siralim 3 is in active development! So active, in fact, that it’s only a few months away from being ready for Steam Early Access. Yes, our next so-called “small game” turned out to be the massive Siralim 3.

I am only posting about Siralim 3 on this blog, our forums, and on Discord for now (Edit: changed my mind!), because I don’t have a lot of screenshots or even title screen art to show off yet. I’ll probably make an official announcement on social media at the end of the year. For now, I really want to start talking about the game with our most dedicated players to get feedback on how to make it the best game it can be. I’ll be posting frequent development updates on the blog and on these forums, and creating several posts to try to gather focused feedback from you.

At the beginning of this year, I announced that there would probably not be a Siralim 3, simply because Siralim 2 was the best Siralim game I could make. I had no more ideas to make it better. I didn’t think it needed anything else to be what it was intended to be. After taking a few months off and focusing on other projects (mostly Learn Kana The Fun Way, and especially The Negative), I’ve realized how much can be improved upon. Words cannot express how excited I am about this game.

Here’s a list of just some of the things you can expect in Siralim 3 when compared to its predecessors. It’s not in a very organized order, but hopefully, you’ll enjoy reading it anyway:

– A new story with all new quests. The story is a lot more light-hearted than it was in Siralim 2, but also more well-written and detailed. It’s not intended to blow your mind as if it was Game of Thrones or something like that, but it should make you laugh quite a bit and at least keep a smile on your face. I’ll discuss the story in more depth later. There are 16 story bosses planned, and tons of secret bosses for you to find later on.

– A new user interface. The main menu is now a lot easier to navigate and has tons of new quality of life improvements. On average, it’ll take 2-3 fewer “E” presses before you get to where you want to be. There are also tons of other small improvements, such as the ability to scroll the map in all directions while you’re in a realm. Oh, and a big one… you can now view information about any creature in battle now, including their stats, artifact, and spell gems.

– All new NPC and player graphics. 24 new songs to replace the old ones. Over 80 new sound effects for the user interface. Revamped graphics for some of the uglier creatures in the game (I’m looking at you, Mr. Vortex). The music and sound effects are composed by Josh instead of Tim this time.

– A lot of the bloat was cut from the game. Rituals are gone. They weren’t fun and didn’t add anything to the game. Power Balance is gone. What was I thinking when I designed that, anyway? Castle upgrades are now handled differently. They were merely an illusion of choice before. The Altar of Blood is gone. The most interesting punishments are now part of the base game (such as Strife and Gloom), while most others are no longer necessary because other aspects of the game take care of these features already. The Chef is now found in realms, so you don’t have to worry about going back to your castle every time you want a buff.

– Breeding has been revamped, and Gene Strength is gone.

– Post-story content is absolutely insane. There’s so much to do and so many things to unlock, and the content is both rich and diverse. I’m particularly excited about the new Sigils system – it’s definitely the best thing that has ever happened to this game series. Nether Creatures and especially Avatars now work a lot differently than in Siralim 2.

– Artifacts are revamped. They don’t have levels anymore and have fewer property slots, but each property is now more powerful. You can also unlock powerful new enchantments for them by participating in post-game content.

– Auto-cast properties on Spell Gems are gone. In their place, I’ve added 11 new Spell Gem properties.

– Runes have been overhauled. There are more of them to collect, and they stack. If you equip the correct runes, you can form a “runeword” which unlocks powerful new effects. The Runemaster will help you figure out which runes create certain runewords, and allows you to quickly swap out your runes with others in your inventory to create the runeword you want.

– There aren’t any new creatures. The skins that were added to Siralim 2 are now obtainable creatures called “Itherian Creatures”, and are extremely rare. Think of them as “shiny Pokemon”, except they have unique traits which makes them a lot more valuable and interesting. This decision wasn’t made out of laziness; I just think that 700 creatures are already too many so I’d rather focus on making each one more viable and interesting instead.

– New perks for each class. Each class will feel much more distinguished from each other in Siralim 3.

– Lots of battle changes. Traits and spells that modify stats now do so based on the creature’s original stats at the start of battle, so your creatures won’t gain stats exponentially anymore. I’ve also tried to reduce the number of times your creatures can attack or cast spells in one turn by rebalancing spells and traits accordingly.

– Tons of polish and quality of life improvements. Faster movement speed is now unlocked before you even leave your castle for the first time. The mobile version has new touch controls that allow you to tap and swipe instead of using the on-screen controls (but you can always go back to using the classic controls if you want). There are now some new visual effects when you do things like summon a creature or when a god speaks to you. The gambling dwarves now have custom-drawn interfaces for their games. There are now tutorial windows that appear to explain new features as you unlock them. I’m also adding over 80 new sound effects to the user interface to make the game feel more satisfying. For example, forging an artifact now has a custom sound effect. It’s little things like that which will make the game feel much better. I’m also optimizing the game quite a lot – I expect Siralim 3 to run very well on mobile devices compared to Siralim 2.

Excited? Let’s talk about it! I’m open to any suggestions or feedback. Take a look at our forums and let’s make Siralim 3 the best game it can be!

FAQ

Q: When will Siralim 3 be released?
A: I’m targeting late March for a Steam Early Access release on Windows.

Q: What platforms will the game be released on?
A: Windows, Mac, Linux, Android, iOS, and PlayStation 4. I really want to try getting it on Xbox One, but it all depends on how much time I have because I’m also working on The Negative.

Q: FAJSFAOWEIRW WHY NOT VITA, I HATE YOU
A: Siralim 3 is made in GameMaker Studio 2, which does not support PlayStation Vita.

Q: How about Nintendo Switch?
A: Siralim 3 is made in GameMaker Studio 2, which does not support Switch either. That’s Nintendo’s fault, though. Maybe someday!

Q: How much will it cost?
A: Same as Siralim 2. $4.99 for mobile devices, and $14.99 everywhere else. There will be no paid DLC this time aside from the soundtrack.

Q: Is The Negative still in development?
A: Of course! However, it looks like it won’t reach Early Access until the end of 2018 at this point.

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone

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!

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone

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!

Share this post!Share on FacebookShare on Google+Tweet about this on TwitterShare on RedditShare on TumblrEmail this to someone