Fordesoft - An indie game developer

The Kickstarter for Eternal Exodus is now complete @ 115% funding!

The Kickstarter for Eternal Exodus ended tonight, reaching 115% of its funding goal, $5,763 of the targeted $5,000.

If you contributed, thank you so much. Your support means the world.

Going forward, I'll be posting updates regularly on the Kickstarter page, as well as Twitter and Facebook.

The next steps:

It takes about two weeks from today for Kickstarter to to process collecting the pledges. So in September sometime, after that's all finalized, I'll be sending out backer surveys to get details for delivering rewards (which platform you want, how to get in touch for things like the "Be an NPC" and "Design a sidequest" rewards so we can work together on those, etc.). Keep an eye out for an an email from Kickstarter or PledgeBox. I'll post an update on Kickstarter itself as well when that happens.

Rest assured that I'm going to do everything I can to make Eternal Exodus a game that greatly exceeds your expectations. Thank you for being part of this journey.

Eternal Exodus is fully funded on Kickstarter!

Eternal Exodus is now fully funded on Kickstarter!

We hit the goal today, just under four days after launching. Thank you all for your support!

New Kickstarter for Eternal Exodus is live and already 70% funded so far

If you've been following Eternal Exodus for a while, you might remember that last fall, I launched a Kickstarter that didn't quite reach its goal, hitting about $9,600 of its $15,000 goal.

Since then, I've had a lot of people ask me about launching a new Kickstarter. I thought about it for months, researched things I could do differently with the page and with the rewards themselves to make it all more appealing, and last night, a new Kickstarter was launched.

This one's going a lot better than the last one, as we're sitting at just a little over 70% less than 24 hours in. Thank you, from the bottom of my heart, to everyone who's contributed so far. And thank you as well to everyone who's been following the game, leaving feedback, spreading the word, etc. Your support means a ton.

Here's a link to the new Kickstarter:

And to go along with this launch, I spent hours and hours creating a new trailer unlike any of the previous trailers. Hope you enjoy:

Emerald Shores soundtrack now on YouTube

To celebrate the third anniversary of Emerald Shores a few days ago, the entire 25-song soundtrack for Emerald Shores is now available on YouTube:

In other news, Eternal Exodus development continues along. I've been working on some snowy effects, new music for the game, UI improvements, and other things in the past couple of weeks.

The Eternal Exodus Kickstarter didn't quite reach its goal (about $10k funded of a $15k goal), but I want to extend massive thanks to the 133 backers who pledged money toward it. It means a lot to know so many people want to see the game succeed this much.

I'll be slowing down on marketing efforts for a bit now to focus on the game's development. Marketing is a massive timesink. Don't be worried if my posts become more infrequent for a little while. It means more is happening with the game, not less...

Eternal Exodus devlog for October 12, 2021

It's been a wild week with the Kickstarter midflight, but between many hours spent promoting that, finding new backer rewards to add, and revamping pretty much the entire page to polish it up, I've made progress on a few different areas of the game itself:

  • Started mapping out the Resistance's island headquarters and creating nice water effects for it (shown above). If the Kickstarter goal is met for it, I'm going to turn the inside of the headquarters into a town-building sim (like Dark Cloud or Azure Dreams), where you can construct various buildings that will aid you in your adventure.
  • Started on a late-game cutscene, drawing art and mapping the scene out.
  • Fixed a major bug that was causing certain UI elements to disappear in the Mugen Underpass dungeon. Turned out that the water shader in that dungeon was conflicting with the UI shaders in a strange way.
  • Finished most of the ending cutscene's music. I had to rework it a bit and throw out the entire second verse, because it was giving a different vibe than I wanted the scene to portray. I might add one more verse still, and then it's time to go into producer mode and monkey with the sound of the instruments.
  • Wrote the "pre-boss battle" music. And then re-wrote it entirely, because I wasn't really digging the first attempt. Now it's all good to go. This is the crunchy guitar music that plays in cutscenes right before any boss battle begins.
  • Sketched out a plan for the dialogue of a big scene that happens in a temple midway through the game.

Kickstarter is live now for Eternal Exodus

The Kickstarter for Eternal Exodus is now live:

The Kickstarter is there for fund some nice-to-have features, like additional languages and a trading card game. If it succeeds, the game will launch with those features. If the Kickstarter doesn't succeed, don't worry - the game will still be released next year.

Eternal Exodus: new trailer, and Kickstarter goes live this month

I keep forgetting to post on this blog, but if you've been keeping up on twitter, you know that a ton of progress has been made on Eternal Exodus this year.

Recently, the game's artists finished wrapping up virtually all of the currently-planned art for the game. The programming is 90% done as well: the only major things left are the Necronomicon feature and whichever minigames still get added.

Beyond that, the vast majority of the work involved in the game now is content-related: designing maps, scripting cutscenes, and balancing stats. And then finishing the soundtrack (around 20 fully-original tracks are complete right now).

So there's still a lot of work left, but if you count up how many hours of work have been put into the game and how many remain, that would put the game around 75% complete. That doesn't mean it's 75% playable yet: about the first 20% of the story is playable (roughly 3 hours, and I'm targeting at least 15 hours of gameplay on a typical first-playthrough). The remaining 80% consists of content where virtually all of the art is done, some of the maps are done, some of the music is done, etc. - but as we all know, a piece of content doesn't become playable until 100% of its components are done.

New trailer

It's been a long time coming - over two years since the last trailer. The game underwent some major changes in direction since then, and with so much in flux (art redesigns, maps being entirely redone, as well as all the new content and features that were being done simultaneously), I wanted to wait until the dust settled before rerecording the trailer.

Kickstarter launching September 28

The Kickstarter for Eternal Exodus will launch later this month.

Kickstarter goes live on September 28, 2021

The natural question is this: why do a Kickstarter this late in development? It looks like the game will be finished with or without Kickstarter, so what's the point?

The main reason boils down to this: I'm hoping to translate the game into more languages, and translations are very expensive for a game with as much text as this one has.

While I'm funding the Japanese translation out-of-pocket (as well as all of the art, devkits, development tools, etc.- costs are adding up quite a bit), adding more languages is something I can't afford on my own. Each translation costs thousands of dollars.

Beyond the obvious of allowing more people to play the game, there's another useful benefit to having more languages in the game as well. As you can see at 1:09 in the trailer, the game has some unique multi-language features that come in handy if you're studying a new language. You can play the game in that language (while keeping your native language in subtitles at the bottom of the screen in case you need help understanding a sentence). This is a feature important to me as someone who loves learning new languages, and I wish more games did it. Of course, the feature becomes useful to more people as more languages get added to the game.

But I realize most people aren't going to care about more translations/localizations, so I'm adding more perks to the Kickstarter as well, so players have a reason to participate in the Kickstarter instead of just buying the game on release since they know it'll be released with or without Kickstarter anyway.

While most of the Kickstarter funds will go toward the new translations, I'll dedicate part of the Kickstarter funds to new features that weren't yet planned but that I've always wanted to add to the game, starting with a built-in trading card game a bit like what you find in Final Fantasy VIII and IX.

The Kickstarter will also get you a copy of the game at a reduced price. The planned retail price is $19.99, but you'll be able to get a digital key in the $15 tier. Higher tiers will include limited edition items, like a soundtrack CD.

Here's the link to the Kickstarter, which goes live September 28:

Xbox One confirmed

Last but not least, the game has just recently been confirmed with Microsoft for an Xbox One release. So it's official now: Eternal Exodus will be released on PC and all three consoles: PlayStation 4, Nintendo Switch, and Xbox One. I haven't been able to pick up an Xbox One devkit just yet (financial reasons), but that will be happening in the coming weeks. Getting the game running on PS4 and Switch was pretty easy, so hopefully Xbox development will be similar.

Eternal Exodus development update: new content, revamped Dead Plains

It's been a while since I've posted an update here about Eternal Exodus. Most of the updates have been posted on the game's Facebook and Twitter pages, as well as the game's subreddit /r/eternalexodus. If you're curious to hear news about the game more frequently, I post regular updates on all of those.

Alas, here's what's new recently:

New content

Since the last time I posted, two new dungeons have been designed, bringing the total up to four. All of the content for one (including its cutscenes and boss battle) is done, while the other needs to be programmed still. I've decided to focus on designing map layouts for a while before returning to wrap that up; it seems like things will go faster that way by minimizing the context-switching that's involved when jumping from one type of workflow to another.

Revamp of the Dead Plains

Much of the game's art has been redrawn in the past year, by an amazing artist who goes by the name Makorie.

Among this new art is the art for the Dead Plains dungeon, the second dungeon of the game.

PIctured below, you can see some of the new art, as well as a preview of some new bridge puzzle mechanics being added to make the dungeon a little more interesting. Since it's only the game's second dungeon, the puzzle will be kept intentionally simple, but it will add some variety to the experience.

Bridge puzzle preview in Dead Plains dungeon of Eternal Exodus

April 17 patch notes for Creature Card Idle

A new patch is live for Creature Card Idle on Steam,, Kartridge, and Kongregate.

Previously, when you booted up the game, you'd be greeted with a black screen for a few seconds as the game calculated your offline rewards.

Now, the game will show a % indicating how far along the processing is.

This should hopefully improve stability on the desktop versions of the game (Steam,, Kartridge) as well, as the game application itself is no longer unresponsive (from the operating system's perspective) during that calculation time. I suspect that this is what was causing many of the crashes that some players were experiencing when the game was starting up.

The change also affects the importer, so your game shouldn't soft-freeze while importing save exports anymore, either.

Patch notes for Creature Card Idle

A new patch is live for Creature Card Idle on Steam, Kongregate,, and Kartridge.

Patch notes:

- Added some optimizations to the game.

- The card-buying animation should be instant now.

- Realms in general should run a little faster, especially the ones that were getting laggy (especially Plains of War).

Battle Rockets, a game I helped port, is out on PS Vita today

A few months ago, developer Gumbo Machine contacted me and asked if I would be interested in helping port his game Battle Rockets to the PlayStation Vita. I was happy to help a fellow dev, and today the game is officially out on PSN.

It's a fun 2D action game with a variety of gameplay modes and missions. It also has a unique multiplayer feature, where two players can play at once on one PS Vita: one player takes the D-pad and left analog stick, while the other player takes the face buttons and right analog stick.

You can check it out on PSN here:

North America:


P.S. If any other developers want help porting their games to the PS Vita, get in touch! I can port games built in GameMaker: Studio 1.4 and some versions of Unity.

Creature Card Idle is out today on Steam!

This is similar to the Kongregate version, but offers a few nice features:
  • No ads
  • No microtransactions
  • Cloud saves
  • Steam achievements
Check it out here:

New game released: Creature Card Idle

I posted a few weeks ago about a little idler game I was working on called Creature Card Idle. The game is now released, woo! I'll keep updating it with new content, but this release serves as the first "official" release after a few weeks of testing and tweaking the preview build.

Version 1.0 of the game just went live on Kongregate here:

There's a Steam version planned for next month as well, which will be here:

New game in progress: Creature Card Idle

I spent a few nights last week working on a little side project: one of those "idler" games that are popular on Kongregate.

The idea is to mix trading card game (TCG) elements into the idler game formula. Play cards that generate gold/second, spend that gold on new packs of cards, and strategize by finding the optimal way to place your cards on the grid.

The idea started out as a little side project for fun. But it's surprisingly been getting a lot of plays: about 5,000 per day, even though it's just a preview build with maybe an hour of content! So I'm going to keep expanding on the game, and aim for a full "1.0" release within the next few weeks.

You can try out the preview build here:

(Note: that link will stop working at some point in time, when the "1.0" release is out. That link leads to a temporary preview build.)

Creature Card Idle screenshot

First development trailer for Eternal Exodus is up

I uploaded a trailer for Eternal Exodus earlier this week. While this is still an early look at the game, it gives a good idea of what the game will end up being like.

Reception to the trailer has been really positive in the six days that it's been up. Over 1,300 views, lots of encouraging comments online in the communities where I posted it, and the number of beta testers on Discord jumped from about 30 to over 50.

There's still a lot to do, so... back to work!

Hot reloading/hot deployment in Unity when using Rewired

This will be a quick blog post for fellow game developers.

So, if you're just here to read about game news, skip ahead.

A cool feature in Unity is that you can update your C# scripts while your game is already running. Unity will reload the scripts, and you can test them out on the spot, make some more changes, test again, etc., all without ever stopping and restarting your game. People call this sort of thing "hot reloading" or "hot deployment."

It makes for a great, productive, efficient workflow.

Unfortunately, if you're using the otherwise-amazing Rewired asset to manage your game's input, that feature becomes broken. At least by default.

Through some trial and error, I found a way to make it work. Here's how. This is partially documented in Rewired's own documentation, but that solution is incomplete (as was everything else I found online about it), hence my posting here.

1. Update your polling code to check ReInput.isReady before you check any input. Respawn the Rewired Input Manager if a recompile recently took place

Rewired's documentation describes part of this process. They mention that you should call ReInput.isReady (note: ReInput, not Rewired) to check whether Rewired is ready for use, and that you shouldn't make any calls to any of the button/axis polling methods if isReady is false.

But I found that isReady was always false after a C# script was changed. Calling ReInput.Reset() didn't help, either. So I created a prefab of the Rewired Input Manager and instantiated a new one after a check to make sure Unity has finished recompiling.

Here's the code I placed in my own InputManager's Update() method, before all of my calls to player0.GetButton() and player0.GetAxis():
        if (UnityEditor.EditorApplication.isCompiling)

        if (!ReInput.isReady)
            Debug.LogWarning("ReInput isn't ready");
            if (!reinitializing)
                reinitializing = true;

        reinitializing = false;

        var player0 = ReInput.players.GetPlayer(0);

        // make all of your calls to player0.GetButton(), etc., here

2. Reinitialize any static variables in your game - at least, the important ones

All static variables' values get reset after a recompile. That kinda sucks. But, depending on how your existing code is written, you should be able to work around it in most cases.

This part will depend a bit on how your own code is set up.

For me, most of my static variables aren't terribly crucial. If they get reset, they get reset. They might result in a few weird symptoms during a hot deployment -- symptoms that will go away if I restart my game and which, of course, won't affect any gameplay in a real build where hot deployment is impossible-- but, for the most part, it's nothing major.

But there's one area that does get affected in a major way for me, and I suspect it'll be a major issue for most developers as well: singletons. For example, I have a Game.cs class that acts as a singleton class, containing a bunch of information about the current general state of the game. It has a static variable that points to itself, so other classes in my game can access it, like so:
static Game instance = null;
    public void Start()
        Game.instance = this;
This gets set back to null whenever a hot redeployment happens, and everything that needs access to the Game instance breaks.

But there's an easy fix. I just check, in Game.Update(), whether the reference has somehow reset back to null, like so:
    public void Update()
        if (Game.instance == null)
            Game.instance = this;
There are a couple of other ways to go about this part, but that works well and is quick and easy to explain.

That's about it. With all of this in mind, you should now be able to use hot deployment in Unity even when you're using Rewired.

Eternal Exodus beta testing has started / Art+Cade reflection

Check out the beta test details here for information on how to join:

Also, last Saturday, I demoed Eternal Exodus at Art+Cade. I want to give a huge thanks to everyone involved in making it happen, and another huge thanks to everyone who showed up and tried out Eternal Exodus. It was great meeting you all.

The response was great: people seemed to really love the concept and seemed to have a lot of fun with the demo of the game. I received a lot of great suggestions regarding things to add and things to improve. Your feedback is tremendous in helping me make this game the best it can be, and I truly appreciate it.

Demoing Eternal Exodus at Art+Cade this Saturday

At this point, almost all of the core functionality of Eternal Exodus has been programmed. The crafting system is the notable exception there, as I still have to finish that, but the rest is at a playable state.

My focus now is shifting toward creating the content. Today, I'm wrapping up the first dungeon of the game.

There's a local indie game expo called Art+Cade this upcoming Saturday, and I'll be demoing the game there. Open beta testing on Steam should follow in a couple of weeks.

Emerald Shores is out now in Europe on PS4 and PS Vita!

Emerald Shores just landed on the shores of Europe! £8.99 will get you both the PS4 and PS Vita versions. I believe it's available on all different European storefronts (not just UK). Hope you enjoy!

Eternal Exodus page is live on Steam

My next game, Eternal Exodus, is a 2D monster-catching RPG set in the afterlife, launching later this year on PS4 and Steam.

The release is still a long way out, but you can check out the Steam page for a small preview here:

At some point this spring, I'm planning on hosting some open beta testing, so if you want to play the game early in development and offer feedback, please head on over to the Steam page and click Follow.

Or if you just want a heads-up when the game releases toward the end of this year, you can also add to your wishlist to get an e-mail reminder when that happens.

New RPG in development: Eternal Exodus

With Emerald Shores complete, I'm working on a new game now: a monster-catching RPG called Eternal Exodus, with an estimated release date of late 2019.

Not much information to share yet, as it's still early in development, but follow along on Twitter if you want to see more.

Optimizing Emerald Shores for the PS Vita

Emerald Shores just launched on PS Vita this week, and with that, I thought I'd write up a quick devblog of what went into making the game playable in terms of optimization.


Everything described is very specific to my own experiences with my development environment, particularly the engine the final game ended up being built in (GameMaker: Studio 1.4). If I say "X was slow on the Vita", that doesn't mean the Vita itself is at fault for the slowness at all - many [obviously much more demanding] games run perfectly fine on the Vita. Rather, these are areas that needed optimization when using this specific engine in the ways that I was specifically using it.

The need for optimization

Although the game ran fine on PlayStation 4 and modern PCs -- with a smooth 60 FPS framerate throughout and virtually instant loading times-- the PS Vita version needed a lot of love in both of those areas.

It was a surprise to me that this was an issue, because the game is a fairly simple 2D game on a technical level, and because the previous engines the game was being built in ran it fine: C#/PlayStation Mobile initially, and then the C++-based PhyreEngine.

In the end, optimizing the game for the Vita alone ended up taking a fair chunk of the game's overall development time. While the game in its final state still has a few hiccups, it's at least very playable, when initially the load times and framerate would have been unbearable.

Loading time optimization

Prior to optimization, levels took a long time to load. Larger levels took 20+ seconds to load, and each time your character died, you'd have to wait the entire time again.

Partial reloads

My first solution to this was to implement a "partial reload" system.

The way this works is that when a level is restarted, only the game objects are reloaded. The level's geometry, i.e., all of the tileset tiles, are kept from the last time the level loaded. This was a somewhat simple solution that easily cut the restart time in over half.

But there was still the initial load time issue. Nobody wants to wait 20 seconds for a level to load, even if the restart takes less than half that.

After a few experiments to find out what was causing levels to load so slowly, I discovered that a major bottleneck was just the amount of time it took the system to read the text files that the levels were stored in.

Removing unused junk from object data

These levels were created with a map editor called Tiled, and stored in the game as JSON files. By default, Tiled exports a lot of data about the objects and tiles in each level -- most of which Emerald Shores doesn't use. For example, the "rotation" property is completely unused, because none of the enemies/coins/items in Emerald Shores have a default rotation that can vary between instances. A quick experiment in manually removing all of those unused properties from a level concluded that it would decrease loading times by a noticeable amount.

My initial attempt to add this into my workflow was to write a custom exporter for Tiled, similar to the JSON exporter, but which would neglect to export the unused data. I ran into a few technical hurdles there when attempting to do this while keeping Tiled itself updated to its latest version, so I came up with another solution instead.

I used my experience in web development to write a command-line program in JavaScript, with Node.js. The program loads all of the level files, reads them, and then re-exports them as JSON again. Simple enough.

Optimizing the level format
A program I wrote to "compress" level files by removing unused data

However, there was still room for even more improvement.

Removing empty tiles: the first attempt

Tiled exports data for every tile in the level -- even when a tile was empty. In other words, if a level was 30 tiles wide and 40 tiles high, there were 1,200 entries for tile data in the level file, even if the top half of the level is blank and only ground tiles exist. That made the level file significantly bigger, and, in turn, made it take longer for the game to load the level data from the file.

Every tile exists in the file in order, so the game knows that the first tile will be the top-left-most corner, and then the next tile will be immediately to the right of that, etc.

My first experiment here was to remove all empty tiles from the level data, and then add "x" and "y" coordinates for the tiles that did exist. This actually ended up making most level files larger, so I scrapped the idea. Oh well, it was worth a try. But the problem still needed a solution.

Removing empty tiles: the second attempt

It occurred to me that, in most levels, most of the empty tiles were in the top-left corner of level. What if I could get rid of those, and tell the level-loader that the first tile it sees in the level file isn't actually at position 0,0 (the top-left corner), but at something like 300,20 -- or whatever the first non-empty tile in that particular level ends up being.

So, that was what I did. I added onto my level-compression program a feature to remove all of the first tiles it comes across, until it finds one that's not empty. And then it would make a note of the coordinates of the non-empty tile, so that the level loader knew the coordinates of that first tile, since it could no longer assume that the first tile would be at position 0,0.

After I finished updating the level-loading code to be able to handle this newly-modified level format, loading times were reduced even further. At this point, most levels took fewer than 5 seconds to initially load, with the longest I timed being about 8 seconds. Much better than the 20-30 seconds. And with the "partial reload" system still in place on top of that, it only takes a couple of seconds to restart a level once you're already in it. Phew. Countless hours paid off.

Optimizing the framerate

There were two areas that seemed to cause the framerate to take a dive: particle effects and large backgrounds. Everything else seemed to have little to no impact on the framerate. So, naturally, these are the two areas where I took it upon myself to put in a bunch of Vita-specific checks in determining what the game should render versus what it should skip in order to make the game run faster.

Reducing particle effects

It was mostly the bomb particle effect that caused issues.

The solution here was pretty simple: I removed the explosion particle effect, and replaced it with a "Bomb!" action-comic-like image reminiscent of the bombs in Super Mario Bros. 2. If you're playing the game on PS Vita or PlayStation TV, you'll see that image when a bomb explodes; otherwise, you'll see the nicer-looking explosion particle effects.

Simplifying backgrounds

Large backgrounds seemed to take a toll on the framerate for whatever reason. I speculated that it was due to the game swapping textures in and out of memory, but GameMaker's debugging tools didn't help me much to confirm or deny that, and experimenting with the texture swap settings didn't help, either.

So I was going to need to just simplify the background images. Through trial-and-error, I discovered that if background images took up more than about half the screen space, the framerate would usually drop. In the first level of the game, this meant having clouds and mountains would cause a framerate drop, so I disabled the mountains. It's probably not something you'd notice unless you're actively looking for it, so it wasn't a huge deal; the mountains just add a little more immersion to the scene, but they aren't critical.

In some cases, such as level 1-2: Forest of Secrets, I was able to keep the backgrounds by simplifying them.

On the PS4 and PC versions of the game, the forest background is made up of three parallax images. In the PS Vita version, I've combined these into one smaller image that takes up half of the screen instead of the full screen. The parallax effect is gone, but otherwise the scene doesn't look terribly different.

Forest of Secrets on the PS4
1-2: Forest of Secrets on PS4

Forest of Secrets on the PS Vita
1-2: Forest of Secrets on PS Vita


Optimizing a game for older platforms is tough work, even for games that don't appear to be technically demanding. All of the optimization efforts I put into the game were for the Vita specifically; the game always ran smoothly on other platforms. But the Vita launch was always a priority, having started as a PlayStation Mobile project years ago, so I was determined to make sure it was playable.

Super Blackout is coming to Steam!

Super Blackout is coming to Steam next week! You can check it out here:

Emerald Shores available on PS Vita in North America

The PS Vita version of Emerald Shores went live yesterday on the North American PSN! You can check it out here:

It's cross-buy, so the PS4 version comes free with its purchase, and vice versa.

Europe is next! Planned for this month or next.

Super Blackout announced for Steam; Emerald Shores hits PS Vita on Tuesday

Hi everyone,

I have a couple of pieces of news today:

The first is that Emerald Shores is finally going to be releasing on PS Vita and PlayStation TV on Tuesday. This is only in North America so far, but the European release is on its way sometime in the coming weeks as well. Note that the game supports cross-buy, so if you previously purchased the PlayStation 4 version, the Vita version should show up as free for you on the PSN store.

The other piece of news is that Super Blackout is getting a PC release next week.

I released Super Blackout on PS Vita back in late 2015. Despite it being a fairly casual puzzle game with a simple concept, the reception was warm, with thousands of people enjoying it over the past few years.

Super Blackout launches on Steam on Friday, December 14th for $4.99, with a launch discount of 40% (down to $2.99) for the first week. If you add it to your wishlist, you can get a reminder when it launches.

Steam store link:

Emerald Shores is out today on PS4

It's finally out! You can check it out here:

The PS Vita version will follow in a couple of weeks, and the European version shortly after that. The Steam version launches on November 21 for both Windows and Linux.

Emerald Shores is complete; release dates announced

Emerald Shores is finally complete (phew!), and in it's in the publishing pipeline to be released on PlayStation Network on November 13, 2018, and then Steam on November 21, 2018.

You can check out the Steam store page here:

Keeping the gameplay interesting by switching up the mechanics

My current project, Emerald Shores, was heavily inspired by platformers from the Super Nintendo and Sega Genesis era.

And something that I’ve always enjoyed about those platformers is the incredible breadth of variety many of them implemented, frequently changing up the gameplay mechanics throughout the course of a game.

While running-and-jumping has always been the cornerstone of a classic platformer, most of the memorable ones from that era had a tendency to take an occasional detour from the regular mechanics and present the player with a level that could very well have been its own simple game.

Disney’s platformers are some of the best examples of this. Take Aladdin - as soon as you start getting bored of jumping around and throwing apples, the game presents you with a magic carpet-flying level.

Aladdin gameplay GIF
Aladdin, SNES

The Lion King is great as well. Not only does your character transform halfway through, changing the core gameplay mechanics for the rest of the game’s duration, but it also has various minigames, like Timon and Pumba collecting bugs, and another one of these “detour” levels where the core mechanics are abandoned for a few minutes.

The Lion King gameplay GIF
The Lion King, SNES

Toy Story did the same, replacing one of its traditional platforming levels with a racecar-driving level.

Toy Story gameplay GIF
Toy Story, SNES

Keeping the gameplay interesting by switching up the mechanics here and there provides a breath of fresh air that’s needed sometimes.

Most AAA games today seem to apply this strategy as well - not just platformers. Open-world games like Grand Theft Auto have always capitalized on having a wide variety of side content to explore when the “main” content starts to get repetitive, but even action games like Spider-Man now offer players a wide variety of side missions and minigames to take on whenever the main story starts to feel repetitive.

Spider-Man gameplay GIF
Spider-Man, PlayStation 4

That’s something I’ve tried to achieve with Emerald Shores: keeping things interesting by mixing things up after every few “regular” levels, and providing a variety of side content for players to tackle whenever they need a break.

The game has a couple of minigames thrown in as mandatory levels, it has a couple of optional, hidden minigames that offer valuable rewards, it has a huge, optional, ultra-powerful boss, and there’s even a key-collecting sidequest that unlocks a large castle with its own valuable reward hidden inside.

Emerald Shores - Bootworm Racing minigame gameplay GIF
Emerald Shores, Bootworm Racing minigame (PlayStation 4)

Emerald Shores announcement trailer

Emerald Shores has gone through some huge changes over the past of 17 months since I first announced it.

I hired a talented artist named Raou to revamp the art, added a bunch of features and minigames, polished things up, added trophies, and finished just about all of the remaining content.

With all of those changes, it seemed like a new announcement trailer was in order. :)

There are still a few things to do, but the game's almost ready to go. The plan right now is to launch it in either October or November. The initial launch will be on PS Vita and PlayStation 4, with other platforms coming next year.

Here are a few stats:
  • Release: October or November 2018
  • Planned price: $9.99 (cross-buy PS4 + Vita)
  • Trophies: 30 total (29 regular + 1 platinum)

Website updated

I just launched a new version of the website.

The design is pretty much the same, but the underlying technology is extremely different.

This should result in much faster page loads, while also paving the way for some future updates: I'm planning to write official strategy guides for some of my games, which will be hosted here.

Bootworm Racing minigame development

Wow, I've been neglecting this blog more than I thought. Things are still progressing; I've just taken to posting most updates on Twitter lately. But anyway:

I'm currently working on a sidequest/minigame for Emerald Shores called "Bootworm Racing." Here's how it works.

If you find the secret exit in level 2-3: Ice Castle, you open up a path to this island that looks like a Bootworm. This island, Bootworm Island, is home to a farm and a series of race tracks.

When you get here, you'll have a sassy pet Bootworm. You can bring him items that you find in the regular levels, which grant him new powers and teach him new spells.

And then you can take him to race in the Bootworm Races!

If you place first in all five races, you'll unlock something useful for your house.

This is just an in-development preview, and there are a few things I need to add to the UI in the racing minigame, but that's the gist of how it all works.

Art update, new RPG in pre-production

Quick update on Emerald Shores:

I posted last month that I was contracting an artist to replace the art. It was a quick search, and I found a really talented applicant to fulfill that role. The game is going to have a very "Super Nintendo" feel to it.

No screenshots to show yet, but I'll post as soon as the art replacement process is far enough along.

New game in pre-production:

I have some downtime from Emerald Shores while that's going, so I've started pre-production on my next game.

This one's going to be a 2D monster-catching RPG. I'm taking some inspiration from the Shin Megami Tensei series, so if you're a fan of games like SMT III: Nocturne, I think you'll like it. Planned platforms so far are PlayStation 4 and PS Vita.

It's still early in the planning stages, so right now I'm getting the story, characters, etc. out on paper, mapping out the world, deciding which technology to use, figuring out the art direction, and planning the battle system.

I'm pretty excited for this game, as I've been wanting to do a game like this for years but never had the time due to college and life. A couple of years ago, I finally decided I was going to build a small game (Super Blackout), then a medium-sized game (Emerald Shores), and then this one, which will be the largest game I've ever developed in the nearly 17 years I've been developing games in my free time. Even bigger in scope than Seeds of Time Online. :)

Emerald Shores is getting a new look

After the announcement post, there was a lot of feedback regarding the art style. Based on that, I decided to hire an artist for the game, rather than continuing to draw it all myself.

As a result, Emerald Shores will soon look totally different and much, much better.

Expect a bigger announcement in the next month or two, ripe with screenshots and eventually an updated trailer.

Announcing Emerald Shores for PS4, PS Vita, and PSTV

I'm happy to finally announce Emerald Shores, a challenging 2D platformer with light RPG elements.

It's entirely a one-man effort (programming, design, music, "art"), so it's been a long journey, but it's close enough to being finished that I can say it'll be out by the end of summer 2017.

A few details:
  • The concept is something like "take Super Mario World and add a level-up system that determines your HP and how much damage your jumps deal to enemies"
  • The main storyline will have at least 20 main levels, 5 boss battles, really short cutscenes, a few secret unlockable levels (find those hidden exits), and then something for those who manage to complete all of the secret levels
  • There's a Remix Mode which plays just like the original story mode, but all levels are rearranged to be more difficult
  • There are two world maps: the one you see in the trailer, and then a floating island called Emerald Shores
  • Levels have powerups hidden in them, which grant abilities like double-jumping and throwing fireballs
  • Not confirmed yet, but the plan is $9.99 and cross-buy between the platforms

I'll be posting news and in-development screenshots regularly on Twitter now, so if you want to hear more about the game, please give a Follow:

Game announcement next month (finally)

This platformer is finally almost ready to be unveiled.

I'm planning on writing up a full announcement post, complete with screenshots, sometime in the coming weeks. There are just a few more things I want to finish up first.

I'll also be showing the game at the Midwest Gaming Classic in Milwaukee this April. If you're in town, come check it out!

Delays and progress

Some major delays have occurred, but things are back on track with my current [not-yet-announced[ project.

Over the summer, I ended up porting the game to a different engine, which solved the technical difficulties that had been plaguing development for a while.

I also purchased a PlayStation 4 development kit over the summer, so I'm happy to announce that the PS4 build of this game is fully functional. I'm now testing regularly on both PS4 and PS Vita as the project goes along.

Not much more to say yet about the game. I'm still planning to keep details under wraps until the game is virtually finished, which will be a couple of months before it's released. At this point, I'm hoping to have it released sometime next spring.

Still progressing...

Just posting a quick update so that this blog doesn't look abandoned.

The game is still underway and not ready for announcement yet. I want to have the game mostly finished before announcing it, so that the trailer can resemble a final product, and it's taking longer to get to that point than I expected. Still planning for a PS Vita release sometime this summer, though, and a PS4 release soon after.

In the past few months, I've mostly been composing music for the game, and the soundtrack is now mostly finished. I also built a little scripting engine to use for cutscenes, so I'm looking forward to putting that to use soon; it was fun to write a compiler for the first time since college.

For now, it's time to try and digitally paint some more of the game's non-pixel art: character portraits, backgrounds, etc.

Vita/PS4 platformer is still progressing; announcement fairly soon

Just a quick update, since it's been three months since my last post:

The platformer is still progressing really well, but it's not quite ready for an announcement yet. I'm still working to have a really significant portion of the game complete before the announcement even takes place.

I recently decided to go all-in this time and do everything in the game myself, including music (something I hadn't created for a game since 2008 or 2009). Between the programming, art, music, design, and sound effects, there's quite a bit to do in a single project, but it's a fun challenge.

Super Blackout is now out on PS Vita!

Super Blackout was just released today on PSN for only $4.99. You can find it here:!/en-us/games/super-blackout/cid=UP0770-PCSE00784_00-SUPERBLACKOUT001

If you purchased Super Blackout on PS Mobile, I want to give you a free upgrade to the new PS Vita version when it launches on Tuesday

Did you buy Super Blackout on PS Mobile? You have my sincere gratitude, and I want to give you a free upgrade as a token of my appreciation (and because I believe you shouldn't have to buy a game twice on the same console).

The outpouring of support I received when Super Blackout launched on PSM is a huge part of what led me to launch Fordesoft two months later, jumping feet first into PlayStation game development, with a special focus on the PS Vita. This was always a goal of mine, but the feedback I received from Super Blackout gave me an extra push to do so now rather than later.

By the way, if you haven't heard about the new version, here's what the new game looks like. It launches on Tuesday for $4.99. While it's the same game at its core, this new version adds new graphics, new music, trophies, controller support (in addition to the touchscreen), and PlayStation TV support.

Note that the game is currently only being released in North America, unlike the PS Mobile version, which was available in both NA and EU regions. If you purchased an EU version of the PS Mobile game, you're still eligible for the free upgrade, but note that I can only send you a code for the NA region, because that's all that exists right now. A EU release is possible but uncertain at this point.

How to claim your free upgrade

To verify your PSM purchase, I need you to look up your e-mail receipt from when you purchased the game, and send me some details from it, following the instructions below.

And I really have to stress that I need to be able to verify your purchase. If the information you send doesn't match the sales records I have, I won't be able to send you a free code. Please make sure to double-check the information before you send it.

1. Track down your e-mail receipt from PlayStation Network, which should have the subject "Thank You For Your Purchase". If you're using Gmail, try searching All Mail for "super blackout thank you for your purchase" (without quotes).

2. Send me an e-mail via the Contact page before November 30, 2015 with the subject "Super Blackout free upgrade", with the values of these two fields copied directly from the receipt:
  • Date Purchased
  • Order Number
If you purchased the European version of the game, please let me know that in the e-mail, too.

When will the free code arrive?

As long as the verification is successful, I'll reply with your free code to you soon afterward - almost definitely within a week, but probably within 1-2 days. The earliest is Tuesday, since the game won't be out until then. And be sure to regularly check your Spam folder in case it somehow winds up there.

Price announcement: Super Blackout will be only $4.99!

Super Blackout launches exactly two weeks from today on PS Vita, and I'm happy to be able to announce the low price of $4.99.

Super Blackout goes gold! Game releases on October 13, 2015

Great news today: Super Blackout is now packaged up, approved, and ready to hit the PlayStation Network store!

Mark your calendars: it'll be releasing on Tuesday, October 13, 2015.

Super Blackout progress, and conference fun

Looks like a release for Super Blackout in October is more likely at this point. Right now, there are just a few technical issues to fix up regarding the save data, but they're proving much more of a burden than anticipated.

On a brighter note, I had the privilege this week of speaking about multiplayer HTML5 game programming (with Node.js and at That Conference 2015. It was a really great experience, and I'd urge anyone in the midwest who's interested in web development to check the conference out next year.

Enhanced version of Super Blackout preparing for PS Vita release

Last November, I released Super Blackout on PlayStation Mobile.

Due in part to the closure of PlayStation Mobile (which just happened last week), I decided a few months ago to start working on an upgraded, enhanced port of Super Blackout for the main PS Vita platform.

It's virtually finished now, and I'm in the process of getting it ready for release, which currently looks to be sometime around August or September.

Some of the new features in this version include:

  • New graphics
  • PlayStation TV support
  • Gamepad controls (in addition to the existing touchscreen controls)
  • Trophies
So this is really the "definitive" version of the game.
Copyright 2015-2023 Fordesoft, LLC