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 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

The Negative: Devlog #22: Monster Spotlight – Wickerman

Moving forward, the devlog schedule for The Negative will change to every 4 weeks, rather than once per week. In turn, the devlogs will be a lot more detailed and will contain more pertinent information about the game outside of simple monster spotlights. Additionally, I’ll be announcing a new game soon which will have its own set of devlogs to fill in the gaps between the ones for The Negative.

The Wickerman is part of the Balance class and is one of the most useful disruptors in the game. This monster’s skills focus on turning your enemies’ positive effects into negative ones, and can even turn into quite a powerhouse thanks to its “Draw Power” skill.

 

Active Skills

Effigy: Deals a small amount of damage, and deals a small amount of damage to a random enemy.

Coalescence: Your monsters’ HP is redistributed so that each one has the same percentage of HP.

Draw Power: This monster’s stats are set to the highest of each of your other monsters’ stats.

Convergence: Enemies’ HP is redistributed so that each one has the same percentage of HP.

Passive Skills

Trickery: When an enemy damages one of your monsters with an attack, it has a 7% chance to heal them instead.

Despoil: When an enemy gains stats, it has a 15% chance to lose them instead.

Deface: When an enemy gains a buff, it has a 15% chance to gain a random debuff instead.

Misfortune: When an enemy is healed, it has a 15% chance to take damage instead.

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

The Negative: Devlog #21: Monster Spotlight – Coercer

The Coercer belongs to the Mind class, and I’m sure you can take a guess as to what its skills revolve around – convincing enemies to do your work for you! This monster doesn’t have a single skill that damages, heals, or buffs your monsters directly – instead, it forces its enemies to it for you.

Keep in mind that its skills also work on allies – for example, it can coerce an ally into healing your own party as well!

Active Skills

Telekinesis: Target deals a small amount of damage to a random enemy.

Kismet: Target increases your monsters’ Luck by a moderate amount.

Hidden Power: Target heals your monsters for a moderate amount.

Mind Rattle: Target deals a moderate amount of damage to all enemies.

Passive Skills

Mana Burn: When this monster uses a skill that targets an enemy, the enemy incurs 20% of the skill’s MP cost.

Clumsiness: When an enemy uses a Healing or Mana Draught, it has a 20% chance to use it on one of your monsters instead.

Self-Loathing: At the start of each enemy’s turn, they have a 10% chance to attack themselves.

Coerced Coexistence: Enemies’ healing effects are split between all enemies.

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

The Negative: Devlog #20: Monster Spotlight – Tokoloshe

The Tokoloshe is a Balance monster that harnesses evil voodoo magic to manipulate its foes in strange ways. This monster can force other monsters to attack themselves, shuffle their stats, and move them all around the battlefield at will. This monster also has a few reactive passive skills that cause it to deal damage when enemies perform certain actions, such as attacking or moving.

 

Active Skills

Evil Eye: Deals a small amount of damage, or a large amount of damage if the target is in the center position.

Discombobulation: Target’s stat values are shuffled.

Jinx: Target attacks itself.

Black Wind: Deals a moderate amount of damage to all enemies and moves them to random locations.

Passive Skills

Crossfade: This monster deals 15% more damage to enemies in the middle of their column or row.

Hex: At the start of battle, afflict a random enemy with Silence, and another random enemy with Scorn.

Voodoo: When an enemy attacks, they take a very small amount of damage.

Pressure: When an enemy is forced to move against its will, it takes a small amount of damage.

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

The Negative: Devlog #19: Monster Spotlight – Nix

This monster is definitely one of my favorites. The Nix is a psychic ninja that belongs to the Mind class. Its skills are all about dealing quick and clever damage or surviving incoming attacks in unconventional ways. This monster’s sole drawback is that its skills are “selfish” by nature – it doesn’t do much to help your other monsters in battle.

Active Skills

Backstab: Deals a small amount of damage, or a moderate amount of damage if the enemy isn’t in the front column.

Psychic Shurikens: 6 random enemies take a small amount of damage.

Preparation: This monster gains a moderate amount of Speed, then becomes Invisible.

Smoke Bomb: Enemies take a moderate amount of damage, and the weather is changed to fog. (Note: the “fog” weather effect causes all monsters to have a chance to miss attacks)

Passive Skills

Ambush: At the start of battle, this monster becomes Invisible.

Cloak of Shadows: Your monsters are immune to the adverse effects of fog and wind.

Shadow Focus: When an ally takes damage, this monster gains a small amount of Power. This skill can only activate once per turn.

Shadow Clone: When an enemy attacks, this monster has a 15% chance to summon a shadow clone of itself. The clone swaps positions with the enemy’s target before it attacks.

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

The Negative: Devlog #18: Monster Spotlight – Soulcaster

Today’s monster spotlight is all about the Soulcaster, a Life-class monster that interacts with its enemies’ stats for its own benefit. This monster is extremely useful when dealing with enemies who heavily rely on buffing their stats. In the hands of a skilled player, this monster is capable of dishing out some massive damage as well.

 

Active Skills

Soul Arrow: Deals a small amount of damage. An additional 20% of the target’s Power is used to determine the amount of damage dealt.

Manipulate Fear: Target loses a moderate amount of Luck, and takes damage equal to 50% of the amount of Luck lost.

Legendary Pain: Enemies take a massive amount of damage, plus damage equal to 7% of their Maximum HP.

Dark Metamorphosis: Swap location, stats, HP, and MP with the target ally.

Passive Skills

Rend Spirit: At the start of battle, this monster steals a very small amount of MP from each enemy.

Soul Shield: When this monster takes damage from an enemy, the damage is mitigated by 15% of the enemy’s Defense in addition to this monster’s own Defense.

Soul Mirror: When this monster takes damage from an enemy, and the enemy has a higher Resistance than this monster, the damage is mitigated by the enemy’s Resistance instead.

Muted Life: When an enemy is healed, this monster steals 15% of the amount healed.

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