My global-events monitoring robot (Google) has informed me that somebody wrote a song about SteamBirds. A Chicago hip-hop artist by the name of Absolute.

It’s pretty obviously about SteamBirds: Survival (“Take to the skies/Dischargin jet smoke/look up/I’m the city’s best hope”), and he does call out SteamBirds by name a few times. But then it diverges into standard hip-hop stuff (“iron feathers/italian leathers”, bitches, hos, etc).

It’s somewhat NSFW (standard hiphop terminologies), but you can listen to it and download it free here: http://absolutesworld.bandcamp.com/track/steam-birds

So awesome.

Until next times: You just passengas’, and I’m in the cockpit.

 

You know how there are movies that go for shock horror, and others go for psychological horror?  Like the difference between gore and fear.  I’m not particularly inclined to watch shock/gore movies, much like I’m not inclined to play correlating games.  I have a pretty bad aversion to physical trauma and those types of entertainment just make me feel sick.

Once in a while, though, I’ll take a gander at a good fear-based flick or game.

Ye Olde Champion

I think the Blair Witch Project was probably the best fear-inducing movie in my experience. If you got past the shaky-cam filming style, and got sucked into it’s world (instead of observing it as a passive movie-watcher), you’d be terrified at the slow descent to desperation and madness, and the overwhelming feeling of helplessness – without ever seeing a drop of blood.

And those fucking children giggling outside the tent in the middle of the night?? I think I went white with terror at that point, and didn’t regain my color for several hours. Children are scary.

Then I watched it again!

Never before, you see, have I gone to a theater only to be so utterly emotionally transported to a new world. The feelings I felt, the experience I just went through (if via proxy) is something I would never be able to experience in my own life. It wasn’t necessarily pleasant, but it was a very educational experience. Before seeing Blair Witch, I’d imagine in my head that I was a pretty strong emotional tough-guy that wouldn’t be affected by the situations presented in most movies.  But this movie changed that; it made me realize that no human can escape certain levels of pure terror. And it gave me a sampler.

If I picture myself – in real life – in a Blair Witch situation, I wouldn’t get out of my tent and head-butt the closest child I could find; I would, in fact, curl up into a tiny ball and hope I died to the mechanical demon-monster quickly.  Having these thoughts for the first time – as an invincible 18 year old – may have been life-changing.

In Games

Finding a game that duplicates this level of terror is fairly impossible. I think the closest I’ve come to psychological terror in video games has been F.E.A.R., but even that title pales in comparison to Blair Witch. If you ignore the children in the game, it’s just a fun take on Hard Boiled-style action sequences (much like Max-Payne). Plus the acronym’d title just made me chuckle at how contrived it was.

I hear some games like Doom 3, Dead Space, Resident Evil, and Silent Hill do the shock-horror thing pretty well (Doom was pretty good at having things jump out of shadows, and Dead Space is full of gore), but I think they couldn’t stand on their own two feet if you – say – turned it into a text-adventure. I played through several of the Resident Evil games, but the slow pacing, bad voice acting, and predictable “shock moments” (oh look – I’m walking slowly down a dark hallway! I hope nothing bursts out of the door) just made me chuckle.

Is this really all that surprising, though? I mean, it’s really really difficult to manipulate somebody’s emotions with a work of art.  It’s easier to make someone scared during a movie because you can accurately control the timing, the music, the scenes… It’s pretty easy to just sit and take a breather break in most video games, which harms the artists ability to keep someone on edge. Our art form of interactive design hasn’t reached a level of technical progress yet to take us over that hurdle. I don’t doubt it’ll happen, I just don’t think it’ll happen very soon.

A step in the right direction might be Left 4 Dead. It’s not particularly horror – the “gore” is comical, there’s no real shock moments, but they managed to get the pacing down with their AI Director. But really, it’s just an action game that keeps the pressure on – the fact that there happens to be zombies and it happens to be dark seems to be more of a side-note than a main premise. The game is downright not-scary, especially when playing with a group of jovial friends – which is the only way you can play it (there’s pretty much no single player mode).

It’s not all about Terror though…

I started thinking about what other games invoke negative emotions, not necessarily pure terror.  I think Jason Rohrer’s Passage is an excellent example of this (It’s free and only takes a few minutes – go play it now! before I spoil it forever for you!).

I remember playing Passage for the first time, thinking “oh man! this is a neat take on a game! I’m just going to do this, then this.. and…. now……. wait, is this… oh fuck,” then I closed the window without completing it.

I hate Passage – but not because it’s a bad game, not because it’s gory or filled with horrible surprises – it just reflects the futility of the human condition a bit too well. I was terrified of the ending, and the ending was not a scary monster. Scary, yes; monster, no. Nonetheless, there was no way to escape your fate – unless you close the window. :)

Now this was terror, but terror of a different kind – terror about how I’m just a fragile human, about how I might die someday, even if it’s old age. Terrible. Hate it. I want to live forever!  Despite my distaste, I’m still happy I played it.

A whole new angle

The other day I stumbled across a new game, called Beautiful Escape: Dungeoneer.  I think it might be my new favorite, beating out Blair Witch, F.E.A.R., and Passage.  It’s a game with victims trying to escape a sadistic serial killer – mixed with a love story. I have the assumption that most people reading this will not want to play it.  I hope more people do play it, even though it will offend sensibilities. It’s a great work of art, but it is a disturbing game. More disturbing than any other media I’ve consumed. Minor spoilers follow.

First up, I’ll note that this game has hardly any gore in it. It was made in RPG Maker 2003 in two weeks for a community contest; when people get injured they get little red pixels on their 30×30 px bodies. But where the game lacks in visuals definitely makes up for it in your imagination. This game is made completely around the psychological.

The twist is: you are playing the role of the killer. And it’s easy. It’s disturbingly easy.

BE:D Gameplay

The game itself is a mix of two mechanics: a dating-simulator-style conversation-tree, which leads to a tower-defense style game upon success. At it’s core, it’s a very linear, not-very-fun game. But the story layer on top of it all makes it worth while, in it’s own twisted way.

The conversation trees have you stalking people, lying to them, making up stories, and manipulating people’s weaknesses. Which is creepy as hell. Then you’re off to a store to buy razor blades, blowtorches, chainsaws, and other traps you can place into your dungeon. You drug your target, drag them into the dungeon, and watch them try to escape through your traps.

If they succeed in their escape, they call the police and the game is over – you are sent to jail. If they die, or if they succumb to madness, it is acceptable – but it knocks a lot of points off. No, the real goal is to bring people to the brink of death and on the edge of sanity, then let them experience a “beautiful escape” (where they – assumedly – commit suicide on their own or are otherwise too shaken to call the police on you, and will be tormented by what you’ve done for the rest of their lives).

The whole escape sequence is filmed and uploaded to an in-game youtube-like website, where in-game characters rate your performance. If the person you were torturing was afraid of water, and you put them in a dunk tank, then you get bonus points (rewarding you for exploring all the conversation trees before drugging the poor sap).

Meta Angles

What makes this game super interesting is there is pretty much nothing driving you to do things the way your community says is “correct.” You don’t need to strive for a beautiful escape. You can just kill people in their first escape move, putting people out of their misery. You don’t need to take up various challenges. You have complete choice in who you pick to torture and why. Everything you do in this game – you do because you choose to. Much like my reaction to Passage, you can always close the game if you don’t like any of the choices available to you.

But I didn’t close the game. Sure, I didn’t select the innocent hard-on-her-luck mom; I went easy on the stalwart Fireman. No, I interviewed every character in the game and chose - by my own hand – to murder the asshole womanizer.

And I made him suffer.

Not only did this game make me feel bad, it made me act bad too, of my own free will – and uncovered that dark disturbing core that is buried within each of us (some more buried than others).

I was really happy with how the game ended. It gave me enough leeway to behave the way I wanted; my final victim got away with a bit of light bondage and some false hope, and no bodily harm – and the story arc finished itself, undoing just about everything and revealing the meta-purpose of the game.

Color me impressed. This game brought forth Horror like no other media has. Here’s the direct download link, if you want to play it now, despite my spoilers.

The backlash for the game is interesting and varied – opinions range from some that enjoy the game for what it is (like me), those that think anyone who would consider playing the game as deeply disturbed themselves, some think the whole premise is vile, and some – even more strangely – like the game through and through and see nothing wrong with it.

If you’re wondering what kind of mind would make a game such as this; turns out the game’s creator has a PHd and practices clinical psychotherapy, and dabbles in game creating occasionally. Perhaps he has some unique insights as to the dark underpinnings of humanity?

If you want to read more about this game from people a bit better at this review thing, check these out:

I hear he’s making a sequel, too.

 

I got a new house!

Not technically for reals, but pretty much.

I had a big bedroom with a big window that was always closed (ground floor condo! Lots of passers-by), and a small no-window office that was crammed full of stuff.

Last night Aubrey and I shuffled everything from one room to the other – now I have a nice desk right next to a big window, more open space, and a way more liberating feeling work environment. And the bedroom has been downgraded to what it should be: a dark hole to fall asleep in, and nothing more.

I can’t wait to see if it increases my productivity!

(Also: does anyone else make measured cutouts of their furniture and organize things on graph paper? I’ve done it since I was a kid! So useful!)

 

I remember way back in the day, when I heard about this awesome little game. It was made in a weekend and was a ton of fun. I registered the game in 2006 and played the hell out of it.

Later, in 2009, I would meet the game’s author at GDC, and he inspired me to start making my own games.

And now… Now, I’m officially developing the future iterations of the game!

That’s right! Phil Hassey and I have partnered to take the Flash version of the IGF-award-winning Galcon to a whole-new-level. I’ve been pretty much given free reign to experiment and develop as much as I’d like, for as long as I’d like.

This project is extra special to me – it’s like playing on the hockey team of your childhood hockey hero. Or perhaps like being Indiana Jones’ sidekick or something. I dunno how to express this feeling, but it’s awesome!

I have several ideas bouncing around in my head right now, and I’m not sure exactly what direction we are going to go with this. But we’ll be seeing something soon!

 

A lot of people praise me for my open-kimono style, sharing all the data on my games and such.

I’m not the first (I learned from Brad Wardell, Daniel James, and other generous GDC-goers!), and I know I won’t be the last! Here are a few numbers-posts I ran across recently:

I’ll try to post things more frequently. :)

 

A few days ago, I posted an article about BlackListing Portals, and other circumvention techniques used in the creation of SteamBirds.

One thing I didn’t mention in that article: Content is the best prevention measure you can invest in. No matter how many prevention measures you put into your code, always ask yourself how long it will take someone to simply re-do your game from scratch.

You might recall that SteamBirds took me a single month to make. A lot of that one-month period was iteration, playtesting, and balancing. How long do you think it would take someone – using the game as a read-only template – to re-create it from scratch? They won’t have to go through all the R&D you did – they can skip right to the end! No waiting on feedback for weeks on your UI design, instant results!

I know from first-hand experience that the answer can be as low as 16 days. 16 days after the launch of the original SteamBirds last year, a clone appeared on the iPhone – with all of my mechanics, UI layout, and gameplay-balancing-tweaks duplicated. Not duplicated from ripping code or decompiling assets – duplicated from just glancing at SteamBirds and playing with it.

That beat the official SteamBirds iPhone launch by over 6 months.

Thankfully, in my case, they didn’t steal the title of the game – or any of the art assets. It disappeared into obscurity with very few sales – proving once again that you need a successful IP under your belt, or else you are going to have a rough time in the AppStore.

The only way to defend against these kinds of cloners is to make bigger, longer, or more complicated games (eg: having multiplayer servers). It’s also more difficult to clone a massive, supporting community (thanks DanC!) – or things like marketing efforts. Shy of patenting gameplay mechanics (which is a very expensive and not very lucrative industry), there isn’t even a legal leg to stand on against these guys.

 

Getting assets (such as images and sound files) into your AS3 project can be simple, but I ran into a few problems (and nice solutions!) that might help others out too. I thought I’d jot it down into a blog post!

How I used to do it

I use FlashDevelop, and I try to avoid using the Flash IDE for development. I found it incredibly handy, though, that I could copy any asset – even vector art – with a simple drag-and-drop into Flash, and export the whole bundle as an .SWC file.

FlashDevelop is awesome handling SWC files; a simple pair of clicks gives you full access not only to the assets, but any sub-classes and properties the assets may have (as imbued by Flash itself). It’s quite awesome, and it’s how I’ve done everything to-date.

The Problem

There are a few downsides to Flash’s SWC asset library:

  1. Porting to other platforms or languages (that don’t support Flash files) is a pain in the butt; without SWC support you have to re-invent your asset importing routines for each platform.
  2. Even when sticking with Flash, importing assets into Flash that you’ve already separated out into individual files can be annoying and tedious (as opposed to developing all your assets within Flash or Illustrator)
  3. You need to own a copy of the Flash IDE (the Professional version, too, if you want to make commercial projects)

The first item on that list is the one that bugged me the most. No other development environment has a standardized equivalent to the SWC Library; converting your game to any other platform or language suddenly gains an extra hurdle, and requires exporting of assets and all sorts of hoop-jumping.  I know this first hand; there was some problems creating the mobile editions of Steambirds.

When I look at various Flash blitting/game engines, such as Flixel and FlashPunk, and they tend to support sprite sheets, image file imports, and other such “industry standard” ways of doing things. Converting from these engines to – let’s say, iPhone – will be a whole lot easier.

There’s just one little thing standing in the way of me following in their path…

I hate SpriteSheets

SpriteSheets were invented by old console programmers that couldn’t manage their assets with the hardware they had. Instead of making large images, they’d break everything down into sprites – dump them all into a single crammed-in file, and re-construct environments piece-by-piece. This is what gives Super Mario Bros. that square look, and why so many games seemed to be built on a grid.

SpriteSheets nearly require you to make all of your assets the same size, and even if you don’t: Any time you save managing dozens of tiny files will be made up in creating a lookup table (or a map) to your spritesheet.

Alternatives?

Well, the standard way is to “simply” use three lines of code to “Embed” each graphic file – at compile time – to your Flash application. I’d love to do this, but I have over 200 files to import!  That’s a lot of typing!

Some helpful Twitterites suggested I might want to look into streaming the files off of a server – but that brings up bandwidth and offline-compatability concerns (but is otherwise a great idea).

Whatever am I to do?!

@ChevyRay to the Rescue

Chevy, the best thing to happen to GDC 2011, took it upon himself to whip up an AIR application that automatically generates all my Embed tags for me, and stores them into a centralized art asset file!

Download his quick-n-dirty tool here: chevyray.com/stuff/AssetBatcher.zip

It did exactly what I wanted it to, simplified a lot of work, and has made my future projects even more cross-compatible with other platforms (and easily portable to other languages).

Thanks Chevy!! <3

 

I touched on most of this stuff, in a condensed form, in my SteamBirds Survival: By The Numbers post last week. It’s received a lot of attention, so I thought I’d expand on it a bit.

I only have experience with the two largest markets: iOS and Android.  I will focus on those two, but the same arguments can be extended to any other mobile platform.

The Allure of Mobile

I don’t believe that developing a “mobile application” from the ground-up is an easy task. As a port, or an add-on to an existing IP: maybe. But an original title? Scary thought!

Some developers are drawn to mobile platforms for technical reasons: The touch interface, the GPS functionality, or the gyroscopic inputs. For those developers, it can be an exciting new platform with excellent opportunities for innovation. Still, you have a hard road ahead of you, and you have my sympathy and support!

A good chunk of developers, though, want to make original games for mobile platforms purely because of the stories of Scrooge McDuck-style money-bins. I suppose this post is being made to dash those dreams on the reef of reality; I hope I’m wrong, and I wish you luck and success regardless, but I think it is a losing venture.

How to Succeed

To succeed in either the iOS or Android market you need to have one of the following:

  1. Excellent Marketing (buying a billboard in LA helps)
  2. Amazing, ground-breaking, innovative gameplay (you might think you have this, but you probably don’t)
  3. Be “featured”

Assuming #1 and #2 are out of reach for you (as they are for most Indies), I guess that means we’ll be sticking to the “getting featured” item. Why?

Most customers are lazy. They will buy games near the top of the charts. The few people willing to “dig” for a good game are (a) probably not going to find yours amongst the thousands of other titles, and (b) probably not going to buy it even if they do see it. Why would they pick yours over the ten apps on either side of yours? Remember: There are over 500,000 apps out there.

On iOS, the default chart-sorting is by “Most sales in the last 72 hours.” On Android, the default chart-sorting is by “Most sales of all time.” This is (IMHO) complete bullshit, and is why content-discovery is such a problem on mobile platforms (particularly on Android).

Being “featured” let’s you skip the catch-22 of “you need sales to make sales.”

Getting Featured

So how do you get Featured?

  1. Know somebody at Apple/Google and grease some palms (take someone out to coffee, meet them at a trade show, etc)
  2. Know somebody that knows somebody at Apple/Google (aka: Publishers. They will take a lot of your money for this advantage!)
  3. Prove your worth with hard facts (sales figures from other platforms, reviews, having a long successful history with the store, being a triple-A studio, making a game based on a blockbuster movie, etc.)

Note that there isn’t an option there that says “My game will do well, honest!!” or “Play-tests say it’s great!” The gate-keepers are only interested in solid facts, not speculation.

How important is getting featured? Well, most games that don’t get featured disappear into obscurity. Friends and family might be your only customers, if you can be so lucky; expect sales of less than $10-$200. If you get your entire extended family to buy your application, what rank do you think it will appear as? How far down the list will it be on iOS? How far down will it be on Android?

What if you ARE featured?

IF you get featured, what kind of sales can you expect? How do the markets stack up?

In my experience, and speaking with other Indie game devs: The Android market will get you somewhere between 10-20% of your iOS sales, if all other things are equal.

Yes, there are more Android devices in the world than iOS products. However, every single iOS device has access to the AppStore. Some Android devices don’t have storage capabilities, are regionally locked, or sometimes carriers themselves block out the AndroidMarket. I haven’t been able to find hard figures on this, but I estimate that the potential Android app-customer base is way less than half the size of the iOS market. 10-20% sounds and feels about right, and seems to fit evidence collected.

In terms of actual cash generated: Being in the top ten can keep you in the top ten for a long time. The rich get richer. So the higher your ranking, the more money you make. But it’s a very steep curve.

How about an example?

SteamBirds had a decent launch on the mobile market. Here’s some figures:

  • The game launched in early December on SteamBirds.com (flash version). This version linked to the mobile editions.
  • Mobile editions simultaneously launched on iOS and Android a week later.
  • A week after mobile editions launched, they were featured on both platforms (thanks to shout-outs from Penny Arcade, Rock Paper Shotgun, and our own connections)
  • After 3 months of sales:
    • $100K-ish from iOS (just about 50/50 iPad and iPhone)
    • $30K-ish from Android
  • On iOS, peaked at #12 (ipad/games section), #26 (top apps)

Android’s long-tail is roughly twice as thick as iOS, and I predict that – over the course of 1-2 years(?) – it might even overtake iOS sales.

Grain of salt time

Other than big-studio- or proven-IP-based- titles, I don’t know anyone that’s done as well as SteamBirds in the Android market [given my 3 months sales time]. I know a lot of developers with Android titles; some made less than $10, and nobody I know of  has been featured in that market.

That said, there’s always the chance you can get lucky. Considering how many entrants there are in the mobile industry, though: the odds are against you. Better luck playing the lottery, I think!

If you have any experiences with the mobile markets, please post them in comments! There’s not enough data being shared about this industry!

 

In the “by the numbers” post a few days ago, I mentioned SteamBirds: Survival introduced a new black-listing technology. There’s been a lot of interest in what exactly this is, so here we go!

First up, I’ll lay the groundwork so you can understand the reasoning here.

How the Flash Ecosystem Works

There are usually a few different “versions” of popular flash games floating around on the web:

  1. The Sponsored Version (primary).The sponsored version typically has no advertisements on it, and minimizes gameplay intrusions to the customer – the games are monetized via other means (such as pay-to-unlock, microtransactions, or placing ads on the website around the game instead). These versions are almost always branded with the Sponsor’s logos. Sometimes this version will have special/bonus content. (Note that you can “sponsor things yourself” by just posting them on your own website.)This version of the game is typically site-locked, so the .SWF can’t be downloaded and re-deployed elsewhere.
  2. The Scraps (secondary sponsorships).Savvy web portals will attempt to profit from a popular game by paying a premium to remove any branding or advertising that may be present. It is common for the fee paid to well exceed a developer’s expected profit for the site via viral advertisements (see #3), thus making this a win-win situation.This version of the game is typically site-locked, so the .SWF can’t be downloaded and re-deployed elsewhere.
  3. The Viral Version.This version of the game usually has in-game advertisements of some sort, and usually some kind of branding for either the developer or the primary sponsor. The game is then put up in various free locations (such as FlashGameDistribution.com) so that any portal may get the game for free.Because no sponsor is paying for this version, the advertisements provide revenue for the developer.

As a case-in-point, the viral version of SteamBirds exists on around 5,000 different websites, which account for around 30% of the game’s total traffic; that’s where I generate most of my advertising revenue (not that there is a lot…).

Arguably more important than the advertising revenue, though, is the branding. Getting your brand (in my case, a link to steambirds.com) in front of millions of people is potentially more valuable than a few pennies for ad clicks.

Which brings us to the big problem.

Evil Jerkwads

Some enterprising portal owners think to themselves:

  1. I see that game is doing really well;
  2. I want it on my site;
  3. I don’t want the developer’s ads on my game;
  4. I don’t want to lose my customers with outbound links;
  5. And I don’t want to have to pay for the game.

They will then grab the free, viral version of the game – and do some or all of the following evil, jerky stuff to it:

  • Remove the ads completely
  • Change ads or overlay their own ads on top of the developer’s
  • Prevent the game from opening links when clicked
  • Replace the links with links of their own choosing
  • Hack out the site-locked sponsored versions to illicitly grab the unique content
  • Replace any/all branding
  • Entirely eliminate credits screens
  • Put their own names into the credits screens

As Adobe’s Flash/AS3 language is an “open” language, there are plenty of decompilers out there. Asset protection is still difficult in the environment. Doing any/all of the above is a trivial process for most developers.

The original version of SteamBirds had around 4 million plays with various iterations of the above list implemented. Most often it’s ad-replacement and blocking of outbound links; I think only one site erased my name from the credits; other games aren’t so lucky.

Flogging with a Wet Noodle

The offenders here are almost exclusively based out of Asia, and most of my illicit traffic comes primarily from China.

Sending cease-and-desist letters from a lawyer, pleading via email, and making angry blog posts in English doesn’t work. Any attempts I have made have gone completely ignored; at best, sites will write back claiming they are doing you a favour by exposing you to a large Asian audience.

It’s hard to bring litigious action against these portals when the value of the traffic they are stealing is diminishingly small. 4 million hits across hundreds of sites? That’s not many visitors each. And it’s hard to put a value on branding, such as “name in the credits” or “outbound links back to my site.” Not to mention bringing litigation against a Chinese site is very difficult to do, thanks to differing international laws (nor would I want to go down that road).

It’s not that I want to shut a single infringer down, or that any individual company is harming me directly in a measurable way; It’s that there are so many of them. Stopping them one at a time won’t get me anywhere. I need a way to flip their entire table over, all at once.

Prevention is the Best Medicine

Because Flash is an open platform, ripping things off is easy. There are certain things you can do to make the whole process more difficult, though.

Simple changes in the way you code, for example, can result in corrective action. If you play SteamBirds: Survival on a site that blocks outbound links, I can actually detect the failure event in the code, and display a popup box that says “This site is being a jerk! Type this URL into your browser bar…”

Using metrics-recording platforms like Playtomic will allow you to track the number of advertising clicks on each site. If there is a lot of traffic with zero clicks, you can take dynamic (code-based-blocking) or manual (off-site blacklisting) corrective action.

And finally, you can use code-obfuscators to help prevent cracking/hacking of various kinds. These automated programs run through your code and change function names to things like ” ” or linebreak characters, amongst other things. I use Kindisoft’s SecureSWF Pro on most of my projects, and I believe it is the best in the industry.

No matter how much prevention you use, you can’t prevent all types of hacking though. With work, any obfuscated code can be reverse engineered; and there is currently no way to encrypt or obfuscate your art assets. Why hack out advertisements or branding when you can just relocate it to be off-screen, or re-paint it as your own?

Enter the Dynamic BlackList

Since I had a nice, long list of badguys from SteamBirds, I decided to put it to good use in SteamBirds: Survival.

Here’s how it works:

  1. I Include the entire list of the offenders URLs as a single XML variable in my code
  2. I then pull a stored GameVar from Playtomic‘s servers to update the list in my code. This prevents people from decompiling the game and just removing their URL from my internal XML (and is quite probably the biggest headache for would-be crackers, since it isn’t an obvious update).
  3. The game tracks ad clicks and looks for other “red flags,” and notifies me of potential infringers. I can then log in to Playtomic and update the GameVar if I believe the site needs to be added to the list.
  4. Upon execution, the game checks the hosted domain against the list. If the site is blacklisted:
  5. The game displays a nice, friendly, pre-made image saying that the game is – unfortunately – not playable on that site, and redirects the player to SteamBirds.com
  6. In case they hack-out the nice art asset I made for the offending sites, the game constructs a much uglier, nastier-sounding “this site is being a jerk!” message from pure code, using no art assets. This is much harder to hack.

It worked really well. The sites that used to be a big thorn in my side? Now very nearly zero traffic. I successfully put up enough barbed wire to discourage the dismantling of my game.

Right after I launched my game, Playtomic released a similar service that covers a lot of the basics: Portal BlackList. It doesn’t have all the bells and whistles of my system, but it provides all the code and integration you need to get a simple system up and running today. I recommend checking it out.

Portal BlackList also shows a list of currently blocked sites in the sidebar. My list is a subset of those sites, so instead of duplicating it here I’ll just direct you there! You can also check out the list on Free Our Games as a reference.

Still Failing

Unfortunately, there are still ways around all of my safeguards. Certain portals will link to your game on your own website, hosted in an iFrame on their own site. Your game then thinks it’s running on a proper domain, while the offending site can strip out any accompanying sidebar ads, branding, or whatever else you might have in place.

Thankfully the number of people doing this is quite small, and not a big deal (for me, anyway).

 

SpaceChem is a new Indie game released by Zachtronics Industries. I purchased it on Steam, and I think it is an astounding game and love it to bits. But it’s not all perfect; far from it, in fact.

I was starting to think I was the only one in my peer group that had tried SpaceChem. Colin Northway (on his new blog, Northway Games) proves me wrong with a good analysis of its interface issues. I wanted to touch on some of the same things, but Colin beat me to it! That lets me limit my scope of this article and grab another proverbial beer.

It’s Awesome.

SpaceChem is an incredible game. The concept is quite simple: Move an object (atoms) from the left side of the screen to the right side of the screen, using simple commands like grab, drop, and direction changes.

I kind of think of it like a mixture of electrical-circuit-design and simple-robot-programming. It whisks me back to memories of playing RoboRally and learning my first programming (BASIC on the C64) – which are happy bonuses for me, and not at all pre-requisites to play the game.

To help illustrate gameplay, here is an image that I think can best sell the game:

A simple shot of a simple routine, doing simple functions: Start, pick up a thing on the left, drop it on the right, in an endless cycle. If this was my game, I’d probably animate that image and use it in banner ads or something (seeing it in action really helps).

It doesn’t appear like much of a challenge now, but that screenshot is even easier than the first tutorial. As the game trundles on, you need to start building complex molecules, bonding various atoms together, destroying other molecules, and laying out incredibly complicated paths. Basically, you start getting more commands than just “Grab” and “Drop”. The game starts adding awesome new verbs to play with;

  • Trigger Inputs
  • Flush Outputs
  • Add chemical bonds
  • Subtract chemical bonds
  • Rotate Molecules
  • … and more I haven’t discovered yet!

Here’s the most intimidating screenshot I could find – do not linger on it for long:

I haven’t beaten this game yet, and I can tell you with confidence that I have no idea what is going on here. I think I see… can it be? IF statements? This is a very complicated structure, and studying it is quite possibly the best way to scare you off from ever playing the game. I recommend ignoring this for now; it is a mere glimpse of the wonder that awaits you.

But let me tell you now, so there is no doubt: climbing the path of success from the first to the second image is a wonderful experience so far, with pangs of joy as problems resolve at regular intervals. I played for a few hours last night and probably had six to nine “a-HA!” moments that made me want to clap my hands together like a kid.

The Sweet Spot of Challenge

Capturing the interest of someone requires walking a fine line between unbearable difficulty and boredom. Make things too easy, the player doesn’t feel challenged – and they want to try something else. Make things too difficult, and you start hurting the ego of the player. The band between these two extremes varies from person to person, and from skill level to skill level. But it’s really hard to make a perfect challenge, that – throughout the entire gameplay experience – stays within this band.

A game that starts off “just right” can easily get boring (if the player learns a new skill) and can easily get difficult (if you introduce new challenges too quickly), which is why we need lots of playtesting all the way through the game – with new players – and not just have the same 2 people testing the first few levels. SpaceChem appears to be riding my upper bound of challenge pretty hard. I’m not hating it yet, but I fear the game’s difficulty level is increasing faster than my skill is. It almost feels as if my skill is increasing at a steady pace, and the difficulty is accelerating beyond my reach.

Right now, this is making my victories all that much sweeter – but I don’t know how long I can keep it up. My brain was crumbling under the pressure last night, so I decided to turn it off and wait until morning to continue.

That there is a graph of the % of people that beat the various levels in SteamBirds. The top of the graph is 100% (everyone beats level 1, the tutorial!), and the bottom is 0%. This is the “Difficulty Curve” of SteamBirds, visually represented.

I love graphs like this because it can tell you a few things right away:

  • Level 3 is harder than Level 4, which is arguably a bad thing
  • The skill difference required between levels 4 and 5 is way too steep
  • Levels 5 through 9 were fairly consistent
  • Level 10 was probably too hard again

At this point you’d say “That doesn’t look so bad!”, but this trend continues for the rest of the game – with constantly diminishing user retention:

I learned my lesson: SteamBirds got too hard, too fast, and scared away a lot of people right near level 5 – not even a quarter of the way into the game.

I’d love to see what SpaceChem’s difficulty curve looks like. I’ll bet it’s even steeper than SteamBirds.

A Personal Joy

I think SpaceChem is an awesome puzzle game that rewards me well for the tasks presented. It has a lot of promise, and I can’t see myself getting bored with it soon. I’d say it’s the best puzzle game I’ve played in recent memory.

I’m unsure if I can recommend SpaceChem to other people. It’s got a ton going for it, but I’m afraid others won’t be able to see past its flaws. I’m worried it is going to lose a lot of audience, get critically panned, and fade into obscurity.

I hope I’m proven wrong. I want SpaceChem to succeed, so Zachtronics can make a sequel that fixes all the problems of the original. Because that game – that game might just be the perfect puzzle game.

© 2012 Andy Moore Suffusion theme by Sayontan Sinha