Twitter | Games | Games @ | Scraps | About

Hosting provided by Apis Networks

Inner Demons Design Walkabout

Inner Demons is a game I built from the ground-up in Game Maker. Everything, with the exception of a few scripts and the music, was created by myself. What is Game Maker? Here's a short primer on what my coding environment looks like!


It shouldn't be a surprise that Inner Demons was developed when I inexplicably developed fond memories of Super Puzzle Fighter, a game that aimed to take Street Fighter and translate it into a gem matching game. Players would attack by destroying their own blocks, which would send locked blocks to the other player's grid. A player would lose once their field was completely filled up.

Inner Demons was an attempt to use the basic gameplay of Super Puzzle Fighter -- that of matching one "catalyst block” with similarly colored blocks to destroy them, and adapt it to a compelling single-player experience.

Before I go on further, it's probably useful to show off the basic idea that I was building on. The following is a clip of gameplay that was uh, scrabbled off the internet randomly.

In the basic game, you would match gems with a 'catalyst gem'. Matching it this way would send'locked gems' to your opponent's field. Locked gems are unable to be destroyed until their countdown expires, making for A Most Devious Puzzle. The animations also lent the game a kind of vibrancy, with different animations for'attacks' composed of different amount of gems.

Abstracting the Enemy

The first was to change the enemy from a standard other enemy field into an enemy object. In terms of a single-player game, the enemy would do two things : drop blocks on you and eventually die as a result of the player destroying their own blocks. You can try to wrestle the controller away from the computer and try to distract them while you finish your own combo, but this will probably, at best, just void your warranty.

I simplified the enemy by just creating countdown timers to when an enemy would use their ability, and gave the enemies 'health' rather than blocks. The end result -- that of the players getting hit by abilities and retaliating by chaining blocks together -- was identical, but the play space was greatly uncluttered.

Remixing The Concept

In the original game, the primary objective was matching blocks -- you would match blocks until you won or lost. Attempts to change up this formula came in the form of different effects enemies might impose on the playing field. Aside from dropping'locked blocks', enemies might lock existing blocks, destroy catalyst blocks, or increase the amount of blocks required for a reaction.

Different enemies would have potent effects on the way players matched blocks, which, actually, sounds really lame, but it lent a theme to each encounter.

In a later iteration of the game I would additionally add different'traits' that the player could choose. While a normal playstyle also existed (titled'Bland' because shame is a powerful motivator), there were also behaviors where damage ramped up as more blocks fell onto the field, ones where damage was heavily penalized but'special' blocks that dealt bonus damage were guaranteed, and ones where all blocks were dropped locked. Compared with the normal version, all aimed to dramatically change playing style.

Player Excitement

In addition, I added a few smaller short-term goals for the player to increase involvement. Here, one goal was the combo system. Blocks wouldn't be destroyed instantly on touching a catalyst block -- instead they would be in a'charged state', destroyed if no blocks have been added to the chain since the last turn. Since the player combo wouldn't drop in this state, players were encouraged to extend combos and set them up -- the additional time given to the player allowed really satisfying combos for when they knocked over the Jenga tower, so to speak.

I also added special blocks, which would have varying effects based on the type. Special blocks are triggered if a reaction happens near one, and would turn into a normal block if they weren't used quickly enough. The emphasis would be on triggering these special blocks in the short term before time ran out for a small bonus.

Beyond all this, the grand goal of Inner Demons is to destroy all the enemies queued up to take down the player -- sort of like a conga line of irritable, MSPaint monsters. Defeating a monster would remove the bottom-most line from the game -- testing found that removing all gems of one color was too powerful, and that it was only fringe cases where removing the bottom row was detrimental.

Enemies are also separated into three types -- 'Imps', which are enemies with few abilities,'Wisps', which come by, drop an effect on your head, and leave, and'Demons', which function as 'bosses', with up to four abilities and two passive effects, depending on the difficulty setting. By fiddling with the spawn rates and appearance of each I'm able to create a nicely graded player experience that goes from easy to difficult.

I'm Not Sure What the Subheading For This Section Should Be

It's not really a conclusion other than, "hey guys, should be fun eh?" but at the same time it just sort of blends into everything else if I don't throw something bold up there.

In any case, these factors are things I've considered in making Inner Demons something better than simply a Super Puzzle Fighter clone. In the future, if I return to Inner Demons, I hope to add multiplayer support, and further tweak the enemy system that I have in place -- certain effects don't have much of an impact as I would like. At the same time, I'm very satisfied with how Super Puzzle Fighter turned out for the time and effort invested into it.