Tag Archives: Tutorials

How to Tell the Internet About Your New YouTube Video

One element of my effort to drive awareness of our Spellirium Pre-Order crowdfunding campaign is a series of video developer diaries called Spellirium Minute. i had always wanted to produce video diary content, but i worried about all the effort involved in shooting and editing the videos together. In this article, i hope to convey that creating the video is the easy part.

i Post This Video Every Day

Robby “the Doogs” Duguay has been a big supporter of the campaign so far. Last week, he sat down with me and we banged out eighteen Spellirium Minute developer diary videos. All of them are short, screencapped vids about two minutes apiece, in which i talk about different design processes during the five long years we’ve been building the game. The videos contain info about our prototype regimen, communication with artists, and the inspiration that led to the project. They make for interesting viewing, and of course i’d like to get them out to as many people as possible.

Hey, hippies! Wanna watch a video?

i have enough content to release one video every day for the duration of the campaign. What i didn’t realize was the enormous chunk of every morning that would be taken up promoting each video. This is the process i follow from the moment i hit that “Upload” button on YouTube:

Prepping the Video on YouTube

  1. Write a video description. Make sure to include a link to Spellirium off the top. If the video references a playable game prototype or a blog article, add a link to it at the bottom of the description.

  2. Write as many tags as my little mind can fathom. This improves searchability.

    (my little mind can’t actually fathom very many tags)

  3. Fix the auto-caption track to create an English closed caption track. i have no idea if this improves searchability, but i do it anyway. Even with only two minutes of video, it is an asspain.
  4. Create a custom thumbnail for the video and upload it.
  5. Add an annotation to the end of the video linking to the previous video.
  6. Add an annotation to the end of the previous video linking to this video.

  7. Write a little note to subscribers.
  8. Launch the sucker.
  9. Cue up the video and add it to the Spellirium Minute playlist.

Shouting From the Rooftops

From there, i have to pull a million different levers to get the link out to a bunch of different nooks and crannies:

  1. The Untold Entertainment blog. Every post must contain, at a minimum, a link to the Spellirium campaign, a link to the Spellirium Minute playlist, and a link to the Untold Entertainment YouTube channel with a call to action to subscribe, because subscriptions are a big deal on YouTube. They’re like your mailing list, and they’re how YouTube determines your worth as a content creator.

    This is what posting daily video content has done to my blog traffic this past week.

  2. Ensure that the Untold blog post uses the tag “Spellirium”, so that a plugin will automatically repost to the developer diary at Spellirium.com
  3. Tweet the blog article with embedded video out to both the @Untoldent and @Spellirium Twitter accounts
  4. Post the video link to Facebook under my personal Ryan Henson Creighton account, and on the Spellirium Facebook page. i haven’t been posting on the Untold Entertainment Facebook page, but i probably should.
  5. Post an Announcement on the Spellirium Steam Greenlight page.
  6. Post to the Spellirium backers-only message boards, and
  7. the Spellirium press kit page, and
  8. the Spellirium wiki (for posterity) and
  9. the Spellirium subreddit (which we had to create because Redditors kept deleting our links)
  10. Email the vid to the guys at Evolve PR, who are helping us out with the campaign.

TIGSource

There’s a Spellirium thread on the TIGSource forums that i update regularly. But TIGSource is a rare and precious snowflake that operates differently from many other sites. For example, the forum doesn’t let you embed YouTube videos (PLEASE let me know if i’m wrong about that), and it uses a phpBB/wiki-style markup. Here’s the painful process of posting there:

  1. Screencap the video.
  2. Upload the image to my server, since the TIGSource forums don’t let you upload images (again, if i’m wrong, please let me know.)
  3. Copy/paste the content of the Untold blog post in a new reply to the TIGSource thread
  4. Meticulously go through the post and rewrite the HTML markup as phpBB markup (if anyone knows a handy conversion tool that will do this for me, PLEASE let me know! It’s not quite painful enough to make me write my own convertor, but it’s getting there)
  5. Point to the uploaded image of the YouTube video
  6. Link it to the YouTube video
  7. Change the Reply title
  8. Change the Thread title

Finally, since Twitter is easily our largest referrer, i make sure to schedule or post repeated announcements throughout the day, since Twitter is only effective if people happen to see your link float by in their feed when they’re looking at Twitter.

Comb hair. Brush teeth. Promote video.

(who am i kidding? i don’t have time to comb my hair)

This is the routine i run through every morning, which actually begins the night before at midnight EST when i post the video to YouTube and Twitter only (partly for my Australian friends, and partly for fear that i’ll sleep in the next morning and completely miss my promotional window for the Eastern Standard Time breakfast crowd). Another key repost time is 11:30/12:00 PM EST, which is the double-whammy of lunchtime break for EST people and breakfast for PST people.

We’ve also created some “special” videos which took longer to shoot and required more effort, but they’re there to sort of break away from the sameness of the screencapped vids, and to hopefully enjoy some viral sharing. The last “special” video we posted showed me pointlessly demoing the 2D Spellirium game on the 3D Oculus Rift. Today’s special is a Spellirium-styled parody of the Pokémon Rap:



The punchline is that through all of this, my video strategy is not working. Just take a quick look at the abysmal double-digit views each video is pulling.

Over the past week, with one video going up every single day, and despite a big push from Kotaku that brought over 5000 people to the first vid, YouTube accounts for a whole 27 visits to the Spellirium campaign. However, that’s more eyeballs than articles on certain big press sites have brought us. Our conversion rate is high at 64%, and our lowest-priced and most popular tier is $15. If my i-flunked-high-school-math calculations are correct, the entire week-long YouTube effort has been worth roughly $275 to us so far. But maybe it’s a slow burn?

i’m Taking Requests

You’ll notice that despite all of this hustling, i’m still really only hitting a lot of insular locations. Where’s Google+? Where’s Dailymotion/Metacafe/Vimeo? There are so many more places on the Internatz. My blast radius is still quite close to home, and i haven’t yet discovered many great places to share these videos that draw a potential audience from far and wide. If you have any suggestions, please let me know. Maybe then, i’ll have to spend the entire day promoting these videos, instead of “just” the entire morning.

Spellirium Minute Episode #0: Tripping the Oculus Rift

The first in our series of development vlogs (or “video blogs”, if you’re like me and are uncomfortable with “v” and “l” appearing in such unnaturally close proximity) is an exploration of the very, very two-dimensional Spellirium on the very, very three-dimensional Oculus Rift.



The Oculus Rift is a Kickstarter-supported pair of shielded goggles that beams two slightly offset images of a video game directly into your eyeholes, and tracks your head movement to make it appear as though you’re actually looking around in 3D space. Following on the heels of sensational reaction videos like grandma tripping balls on the Oculus Rift, this one was intended to be a parody video, but judging by our YouTube and Kotaku comments, some viewers don’t quite get the joke.

A Few More Minutes

This is the first in a series of dev diary videos, the majority of which Robby “the Doogs” Duguay and i screencapped during one wild Thursday session, the outtakes of which will surely be released as B-sides when they’re trying to milk posthumous Christmas albums out of us. i’ve written a LOT of content on Spellirium over the past five years; these videos highlight the most interesting content from those five years, except video, so better.

Check out the growing Spellirium Minute playlist, and subscribe to our YouTube channel so you don’t miss any!


Word.

5 Steps to Organically Growing Your Games Portal

This guest post is by Ola Rogula of Doll Divine Dress Up Games, who i met a few years back at the Casual Connect games conference. A lot has been written about the so-called “big” successes in the games industry; certain titles and developers get the lion’s share of the press, the fame, and the love. But meeting Ola and others like her has taught me an extremely valuable lesson: that even while flying under the radar with a product that many people have never heard of (or would even care about), you can still lock into a niche audience and provide a high quality, valuable product or service to them … and make bank.

Sit back, and let Ola showya how it’s done. (Text by Ola, pictures by Ryan)

There are, of course, multiple ways to grow a successful Flash games portal. However, I’m pretty proud to say that I grew mine with a $0 advertising budget and no link building. The site grew entirely from organic referrals. Links and ad campaigns are great too, but if you want to know how to give your portal the ability to grow itself organically, here are the things that worked for me:

1. Mind-Blowingly Good Content

I hate to say this, but if you can’t make games yourself and you don’t have thousands to play with, you face quite an uphill battle. Great games are hard to come by and they are going to be both the biggest source of free advertising for you, and the biggest reason for people to come back to your site.

If you have a lot of money, you can make aggressive bids on games. This is the most straight forward way to fill your site with quality content. Of course, you’re paying the developer to place your link and logo into the game, so that word of your site spreads with the game. Flash Game License is the logical place to start, although I personally have had more luck with seeking out amateur developers through deviantArt. The biggest downfall of this strategy is that you’re always at the mercy of other people. I could never operate my site fully this way because I haven’t been able to find enough good developers to hire for my needs.

Thank you for joining us today for the Consortium of Developers who are Worth a Damn. Please fill in all the rows.

Alternately, you can be dirt poor as long as you know how to draw and program. Being able to create your own quality content is, in my opinion, the best way to make a splash. Of course, it’s also implied that you don’t just do these things; you’re good at them.

There is also an elegant middle road solution. If you have some money to work with, and are a good programmer, it is very cost effective to hire out for artwork. There is literally a world of amazing artists out there who would love to get paid for their drawings. If you are an artist who needs a programmer, the situation is a bit trickier, and usually more expensive. I recommend biting the bullet and learning to code in Flash yourself.

Do not heed words spoken with plastic lips. – Confucius

I must stress that this is the most important point by a long shot. I grew my site almost entirely on my in-game links and word-of-mouth; both products of quality content creation.

2. Dabble

I have come to accept that it is impossible to predict what will be a “hit”. The only thing you can do is try, take notes, and try again. I can very much attest to what my friend, Andy Moore, calls the “1 in 10 rule”, asserting that about one in ten games is a hit. A lot of the rules he mentions for getting a game sponsored apply just as well for creating games for your own portal. Some will spread like wildfire across other sites, while others are left to rot.

Andy Moore: always a hit.

For example, I was very disappointed when my Vampire Maker was a total flop, despite having been successfully timed with Twilight! The Kitten Maker, however, took girl gaming sites by storm. Before these, I had attempted two adventure games which got an even worse reception. In these cases, the amount of time spent on development had no correlation to success. You have to be prepared to put out multiple projects, and you have to be prepared for most to flop. However, this is a beautiful time of self-discovery… It’s the time when you and the world flirt to figure out exactly how you best fit together and what type of projects you should be putting out.

(Vampire Maker may be missing the ability to chew the living foetus out of a labouring mother’s stomach with your fangs? You know – for Twilight fans. Just sayin’. – ed.)

3. Create a Brand

Once you complete #1 and #2 and create a game that has spread to other sites, people will click on your logo to get more of the same. What is “the same” in your case? What do you offer? Based on which of your games resonated best, you need to decide on an adjective and a noun. Are your games funny? Very polished? Imaginative? Accessible to the visually impaired? You have to pick an angle and promise to continually deliver it to users. What are you making? Political satires? Intriguing puzzles? Tower Defense games? Match your adjective with your skills and your noun with your interests. In my case it is: intricate, fantasy doll makers because I love fantasy and pay intense attention to detail. If your interests lie in an already expansive genre, you’d better have a good adjective to go along with it. Of course, you can span multiple genres and wield multiple adjectives, as long there’s a united theme.

Is “shitty” a viable descriptor?

Create your site around this theme. Choose the name and colours accordingly. Contrary to popular belief, the site doesn’t have to be fancy or complex. A lot of people lose money on site design early on which is silly. All you need is a banner, thumbnails, and pages for the games. Anyone can make this happen, especially with the amount of templates online. Orisinal.com is a great example of a simple yet effective layout. The #1 need of users is to find what they’re looking for quickly. Cater to that first.

Quite appalling, in my opinion, are the free scripts that abound which auto-fill your site with games from external sources. How exactly is using a script found all over the internet that fills your site with games that everyone else is posting supposed to give you an edge over the competition? After reading this article, are you itching to get back to playing games on that awesome auto-filled site you love? No? Think about that.

We’re using a purchased WordPress theme the includes one of those scripts, because website design and coding are not Untold’s strong suits. We’re not using that script to automatically siphon games, but have instead been selecting and inputting each game by hand. The problem is that the the theme we purchased was poorly built, and it opens multiple unnecessary connections to our database. The end result is that when a small handful of people visit our portals, our server traffic and memory usage go bananas. This fact alone (and my inability to fix it myself) is the reason why i haven’t worked more diligently to grow traffic on Untold’s games portals. Caveat emptor. -ed.

4. Be Nice to Your Search Engine

(At the time of writing, “search engine” is synonymous with “Google”) The main advice usually given for optimizing Flash websites is: stop using Flash. This, of course, is useless advice for running a Flash games portal, although you should certainly avoid using a Flash-based navigation system. Google can’t see or play your game so it is your job to translate its greatness to the bots. Yes, Google can now crawl the text inside files, but how are the words “Next”, “Play” and “Jump!” supposed to emulate your top-notch graphics?

As for any site, first complete all your basic SEO. Use descriptive text, not just images, when linking within the site. Use a descriptive, yet to-the-point, meta title that includes two good key phrases. Write a robust meta description. Name your pages with descriptive file names so the URL is people-friendly. And finally, find a way to include a large chunk of appropriate text on the page. Describe your game.. the creation process.. the inspiration. Include a set of instructions. You have to put into text what Google cannot see.

Allowing fans to leave comments is a double-edged sword. Users can be an SEO godsend, filling the site with golden keywords and extensive commentary. They can also be a source of unprofessionalism and negativity. You must analyze your demographic and decide if they’d hate or relish the babble of other users. I took the unique approach of only allowing paid members to leave comments. This hasn’t removed unprofessionalism nor negativity, but it has completely removed all external advertising. It seems even as little as $1 per month is enough to detract spammers. It has also kept the community much smaller and respectful of each other.

This moment of clarity courtesy of xkcd

5. Monetize That S***

Or rather, don’t over-monetize that s***. I know it can be tempting. Flash portals make very little money per user. Mine pulls in about one cent per user per month. When attempts to expand aren’t working, it’s tempting to shift to maximizing profits from the existing users. Over-monetizing the site can drive users away, further lowering revenues. I’m sure I don’t need to explain why increasing income through something that decreases traffic is the beginning of the end.

Flash portals make their money mainly through advertisements around the site and in-game ads. Flash developers can make a lot of short-term cash by putting their games up for bid, but you’d better kiss that avenue goodbye if you want to grow your own portal.

Website ads must be placed with taste. I recommend no more than one ad unit above the fold on the main page. The Google algorithm agrees. You care about the games first and the money is just a nice bonus, right? Hopefully this is true, but even if it’s not, it’s how you want your site to look. Placing an ad unit above or beside your logo exposes where your priorities lie. You want to make sure that all the things on your site that the user might find interesting are clearly visible, and the ad is just a last case scenario for their clicking pleasure.

But Ola – how am i going to earn a steady seventy-three cents a month without placing ads absolutely everywhere? -ed.

People have grown accustomed to one preloader ad and will generally sit through it. However, if you’re just starting out, you need every edge over the competition and sparing the users the annoyance of video ads is a commendable one. The big advantage of in-game ads is that they spread along with your game as/if it goes viral. But again, even on other sites, I recommend giving your games the ad-less advantage. A static, silent, in-game ad that is visible during the true duration of the loading is acceptable (many ads simulate a loading bar which makes the user wait even after the game has loaded). And don’t even think about layering multiple loader ads over each other. It’s a lovingly hand-crafted creation, not an onion.

5 Graphic Adventure Game Goofs (and How To Fix Them)

It’s no secret that i love graphic adventure games. They’re the reason why i’m in this industry today. i’ve worked on a number of them (including Jinx 3: Escape from Area Fitty-Two, Heads, Summer in Smallywood, Sissy’s Magical Ponycorn Adventure, and the upcoming Spellirium), and have devoted considerable resources to developing UGAGS: the Untold Graphic Adventure Game System (our company’s answer to SCUMM), which has helped me to build that list of games. i’ve also written lots of articles about the genre (check the “Further Reading” section at the bottom of this post!)

The UGAGS oeuvre to date.

Call me a snob, but i like graphic adventure games for the mere fact that their characters have something going through their minds other than “shoot”. i like that their plotlines boil down to more than just “kill mans” or “glorm points”. And i like standing in a room in a graphic adventure game, alone with my thoughts, without having to worry about time limits or pyrotechnics wizzing past my face every few seconds. As Monkey Island creator Ron Gilbert put it during his Maniac Mansion postmortem at GDC 2010,

The magic of an adventure game is staring at the screen, wondering what to do next. It’s that quiet contemplation.

With the massive Kickstarter windfall for an unspecified graphic adventure game, Tim Schafer, Ron Gilbert and Double Fine proven that there is still a market and a fondness for the genre. That being said, there are some legitimate and persistent problems with graphic adventures. Here’s a short list of the most common ones, and my thoughts on ways in which we, as graphic adventure game designers, can fix them.

1. Not Knowing What to Do

True, it’s magical for a video game to leave you guessing, instead of ramming a tutorial down your throat at every turn like most modern games do. But if you get stuck enough, long enough, that magic turns to salty poop and you really just want to get unstuck. If the only recourse for the player to get unstuck is to consult GameFAQs, you’ve failed as a designer. i’ve abandoned numerous graphic adventure games because i “cheated”; solving the rest of the game became a lot less enjoyable and i gave up, thoroughly racked with guilt-derived stomach cramps.

Throw the bridle on the snake to turn it into Pegasus. Why oh WHY didn’t i think of that??

But if the game gives you a way to cheat, or to get a hint, it’s somehow legit and i don’t feel as bad. It’s game-sanctioned cheating – a subtle, but powerful, difference. Modern graphic adventure games like Machinarium use an in-game help system.

Machinarium puts you through a twitch-based minigame before giving you a hint.

Another interesting way to handle this is to design your game such that the player can never get stuck. You just plod through the game, missing cues left and right, until you crash into the inevitable, unsatisfactory ending. But if you’re keen and clever and aware, you can strike out off the beaten path, do all the difficult things, and get a much better ending. Games that use this approach include Kult/Chamber of the Sci-Mutant Priestess, The Last Express, and The Colonel’s Bequest.

It’s possible to coast through The Last Express without ever figuring out whodunit, whatsgoingon, or whosthatladywiththegun

One year at GDC, i heard a woman speak who was an advocate for female gamers (if you know her name, speak up!) Her heartfelt conviction, ladies, is that if you buy a game and you can’t access all of the content on the disc because the designer won’t let you, take the game back to the store and ask for your money back. Years ago, this struck me as utter blasphemy … and yet here i am, developing Spellirium so that all of the challenges are no-fail, and you can sail through the game from beginning to end without the game requiring you to be awesome. It’s awesome-optional. But for those players who DO excel, there are treats and rewards.

2. The Pixel Hunt

When graphic adventure games moved from using text-based parsers to entirely mouse-driven interfaces, they were distinguished from their parser predecessors by the term “point n’ click”. This term was later twisted to the pejorative “hunt n’ peck” because numerous graphic adventure games, in lieu of offering clever and interesting puzzles, would hide important items in a 2-pixel-square hit area so that the player’s only recourse was to slowly scan each and every location by trawling the cursor slowly over the screen in rows, like he was a human dot matrix printer.

Listen: i could be a very rich man today if i had built HOGs (Hidden Object Games). They’re immensely popular. But the entire genre is based on this one terrible flaw of graphic adventure games. HOGs, by definition, are pixel hunts. i can’t do it. i just … no. You know?

Finding the pair of tweezers in the messy bedroom is not my definition of a fun time – it’s my definition of every goddamn day of my life

How do you fix this problem? The obvious answer is to make bigger hit areas. But i’ve seen other games go even farther. Telltale’s Back to the Future on the iPad enables you to multi-finger diddle the screen to make all of the location’s hotspots light up. Like the “every player’s a winner” strategy i mentioned above, this seemed too broad and too giving. i mean, the game might as well be playing itself at this point, right?

The more i thought about it, the more i thought back to adventure games where the only reason i got hopelessly stuck was because i didn’t know that that part of the screen was an exit to another location. The joy of an adventure game should be in being a character, playing through a story, and feeling clever for solving some problems – not in discovering that you can click that plant that looks like it’s part of the background.

3. Cock-Blocking

One of the most despised phrases in the annals of graphic adventure gaming is “you can’t do that — at least not now” which, if you’ve played through the King’s Quest series, you’ve read at least a few hundred times in your miserable existence. Graphic adventure game cock-blocking occurs when the designer has not thought through enough interaction possibilities, and has thrown up a vague, generic message to the player. This is essentially computer programming error code handling, with messaging that’s barely more helpful than actual computer programming error codes.

The reason why cock-blocking is so common is that it takes a lot of effort to account for every possible thing the player might try to do. Indeed, for games with a text parser, it’s nigh-impossible for the designer to anticipate every single combination of words, including gibberish, the player may hurl at the parser. With verb-based adventure interfaces like the one in Maniac Mansion, the permutations shrunk significantly.

Sidenote: this is the exact moment in Maniac Mansion when the majority of players wet their pants.

A corollary to item use cock-blocking is a situation where the player tries to use a long, rigid item to pry something off another something, but he doesn’t use the correct long, rigid item that the designer was thinking of. Stick – no good. Pole – no good. Broom handle – ding ding ding! Here’s how graphic adventure developer and wittily snarky pundit Ben “Yahtzee” Croshaw puts it in his Depressingly Common Adventure Game Design Flaws series (the rest of which i’ve avoided reading, for fear of being wittily snarked at for plagiarism):

The best game I have ever played for intuitive puzzles has to be the aforementioned Zak McKracken And The Alien Mindbenders. There’s a whole horde of inventory items in Zak McKrack, and I could give a thousand examples of puzzles with several alternative solutions. How about using a monkey wrench to wake up the bus driver, but also being able to do the same with any other long, hard item in your inventory, AND having the option of waking him with a merry kazoo interlude instead? You can use a butter knife to get a cashcard from under a desk, but you can also use any of the several pieces of paper, all of which can also be used for drawing maps. Then, when you try to lever up floorboards with the butter knife, it’s obviously too flimsy, and you get left with a bent butter knife. Having so many possibilities and so many avenues to explore not only constantly rewarded the player’s intelligence but provided the vital encouragement needed to make them push through to the very end.

Before Spellirium, UGAGS games got right around this problem by not offering any item interaction whatsoever. If you clicked on a hotspot, and you had the inventory item that interacted with it, you automatically used the right item. In Jinx 3, if you were carrying the spork, you could tap on the prison wall with it. If you held the banana, you could flush it down the toilet to create a flood. This covered off any puzzle design blunders that i may have committed. Left to his own devices, would the player really know he should tap on the wall with the spork? With auto-item use, i never had to worry about it.

Why force the player to say “use keycard on door” when the interaction is obvious?

Since you can use items on hotspots in Spellirium, i’ve developed a new system to minimize cock-blocking. Given a hotspot like a locked door, i can obviously define what happens when you use the iron key on it. But i can also list other items the player might try to use, like the metal pole (to bash the door down?), and i can have Todd respond in kind: “This metal pole is too flimsy to bash the door down.” That makes the player feel good, because i’m acknowledging that he had a good idea, and it’s so much more satisfying than “i don’t understand that” or “i can’t do that.”

The next line of defense is generic item commands. If i haven’t written an item-specific response, the logic falls through to the hotspot’s generic response, like “i can’t use that to get through the door.” This is a little more frustrating than a specifically-written response, but at least it’s something. One game that i noticed did a LOT of work to provide an item-specific response for every imaginable item/hotspot combination is The Whispered World. Very well done.

4. No – Not THAT Paper

A very common and frustrating mistake that adventure games make is to send the player off in search of something that is represented in the background artwork, but the background element is not wired for interaction. While it’s not a graphic adventure game, i was recently playing the abysmal Legend of Zelda: Skyward Sword, and a character asked me to go find a piece of paper – “ANY piece of paper”. The setting for this fetch quest was an academy packed to the teats with books, parchments, scrolls and papers of every imaginable kind … but i couldn’t pick any of them up. i had to go hunt down the exact piece of paper the game wanted me to find.

Don’t surround the player with non-interactive books, and then ask him to find “any” piece of paper.

A related problem is the too-damned-interesting-background-art error. This is where you have something in the background that every player clicks on, but you haven’t written a description for it. And the player figures there MUST be something up with that video camera hidden in the plant. But there’s not.

In an attempt to address this, we’re developing a heatmap system for Spellirium where we can analyze players’ clicks. If we notice enough heat on a particular area of the screen that we haven’t wired up for interactivity, of if there’s a hotspot that gets clicked non-proportionally to its relevance, we know we have some splainin’ to do to the player.

Heatmaps: they’re not just for Halo any more.

5. The Pointless Conversation Option

Again, while it’s not a graphic adventure game, there’s a lot we can learn from the steaming pile that is Skyward Sword. Throughout the game, non-player characters ask you to make a choice. “Link! Will you save my kitten from the tree?” You know that, as the hero, you kind of have to save the kitten. Yet you’re given the option to say “No.” And when you do that, the story does not move forward. You MUST re-engage the NPC. You MUST say “Yes” this time. You MUST save the kitten. What was the point of the interaction, other than providing the illusion of interactivity?

The reason why designers do this is, of course, to save work – a LOT of work. If, whenever you made a binary decision, the ramifications spun off wildly into two alternate timelines, you’d be building an impossibly large game. But i can’t stand it when it’s obvious during a conversation that no matter what i “choose” to say, the conversation is always going to go a certain way.

The solution is a trick of good creative writing. It’s fine for the conversation to always lead into the same funnel. It’s not fine for the player to know that. Through clever writing, you can make the player think he’s affecting the conversation, even when he’s not. If you’re crafty, you can even give the player a binary decision with two seemingly opposite inputs, but steer them both around to the same outcome. Consider this conversation snippet from Spellirium between Todd and Lorms:

Todd:

  • Uh … okay. You can tag along, I guess. [C1]
  • It’s probably better if I go alone. [C1]

[C1] (Todd walks to the edge of the screen)

Lorms: Where are you going?

Todd: I dunno. That way?

Lorms: Do you have a plan? Do you even know how you’re going to find your friends?

With one option, the player decides that Lorms can come with him. With the other option, the player decides to go it alone. Lorms is one of Spellirium’s main characters. Make no mistake: he’s coming on the journey. But despite what the player chooses, he feels like the game is honouring his choice, and the conversation and actions that flow from that point feel natural – even if the player chooses two completely opposite responses.

The Sins of Our Fathers

The graphic adventure game genre is far from perfect, but there are many things we can do as savvy designers to account for the crimes perpetrate on players past. We have been bad, but we will atone. But will it be enough to resurrect a genre that’s been on life support for the past twenty years?

Further Reading

Flash to iOS: A Step-by-Step Tutorial (Part 5)

Flash to iOS: A Step-by-Step Tutorial

This is the fifth part of our tutorial series by Intern Sina on creating an AIR application for free on a PC using FlashDevelop, and deploying it as a native app on an iOS device like the Apple iPad, iPhone or iPod Touch.

Jump to other parts in the series:

Distribution Certificate

Now that you’ve tested your app and it’s to your liking, guess you want to put it up on the App Store? Never fear, my friend! I will now show you how to get your app uploaded on the App Store so the whole world can ignore it and buy Angry Birds instead.

This process of distribution is a bittersweet one. It’s sweet because it’s extremely similar to the development process that you just went through, so you should be familiar with the convoluted certificates and hoops you have to jump through at Apple’s pleasure. It’s bitter because it’s extremely similar to the development process that you just went through.

Groundhog Day

Something about this seems awfully familiar …

Enough talk. Let’s get cracking!

Generate a Signing Certificate Request

Remember that OpenSSL program that you installed in Part 2 of this tutorial? You have to open that bad boy up again to create another Certificate Signing Request. Now, it is possible to just use your old Signing Certificate – however, just to be super clear and to avoid any confusion or difficulty, we’re going to create another one.

Note: We’ll use this new Signing Certificate Request to get a Distribution Certificate rather than a Development Certificate.

  1. Open a command prompt window. You can do this by clicking the Windows Start button and typing in cmd in the search field. Alternately, you can also hold the Windows key on your keyboard and hit the “R” key (for “Run”), then type cmd and hit Enter.

    Windows CLI

  2. Once you are in the command prompt, navigate to your Open SSL bin folder. Depending on where you installed it, you will have to navigate to a different path than in this example. (i hope you installed Open SSL in a location that you can remember!) Check Part 2 if you need a refresher on Windows CLI (Command Line Interpreter) commands.

    Open SSL folder

  3. Punch this command into the CLI and hit the ENTER key when you’re finished:
    openssl genrsa -out mykey.key 2048

    You should see this response:

    Response

  4. Next, type (or highlight the line, right-click, choose “Copy”, and right-click/”Paste” in the CLI):
    openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest  -subj "/emailAddress=yourAddress@example.com, CN=John Doe, C=US"

    Now, before you hit ENTER you’ll want to edit a couple of things. First, replace “John Doe” with your own name or company name. Then replace the “yourAddress@example.com” email with your own email. Press ENTER.

    You should get a message similar to this:

    Response 2

    You just generated the Signing Certificate Request file that you’ll use to ask Apple for your Distribution Signing Certificate. The Signing Certificate Request file is located in the bin folder of your Open SSL install. It has a .certSigningRequest file extension and should look like this:

    Signing Certificate

Obtain a Signing Certificate for Distribution

You have to upload your Signing Certificate Request file to the Apple Provisioning Portal to get your Distribution Signing Certificate. Onward.

Note: There have been instances where this upload does not work with Google Chrome. Just to be safe, use another browser like Firefox.

  1. Navigate to the Apple iOS Provisioning Portal within the Dev Center.

    Apple Provisioning Portal

  2. Log in with your developer account and click on Certificates.
  3. Click on the Distribution tab.

    Apple Provisioning Portal

    Note: In our previous tutorials, you requested a certificate from the Development tab. An app signed with a Development certificate cannot be successfully submitted to the Apple App Store.

    If you have an old Distribution Certificate because you’ve made a prior app, and you’d still like to follow along, you can go ahead and Revoke it. Revoking the Certificate will not affect your apps that are already on the App Store, because the Certificate is primarily used during the upload process so that Apple can identify you.

    Note: I recommend revoking an existing Certificate because Apple seems to issue only one Certificate per Team Agent. You must revoke any existing Certificate to be able to request another. Why is it set up like this? I have no idea.

    Revoke your Apple Signing Certificate

  4. If you don’t have a pre-existing Distribution Signing Certificate, you can just go ahead and click Request Certificate.

    Request your Apple Signing Certificate

    On the next screen, you will upload the Signing Certificate Request file that you generated in the previous section.

    Request

  5. Click the Browse button and navigate to the OpenSSL bin folder.
  6. Select the Signing Certificate Request file and click Submit. When you are finished, you’ll see your Distribution Signing Certificate ready to download from the web page.

    Your Apple Signing Certificate

Don’t download your Distribution Certificate quite yet. You still need to create an App ID and a Mobile Provisioning Profile.

Create a New App ID

When deciding what you want your App ID to be, you have two choices:

  • Create an entirely new App ID
  • Use the Existing App ID that you create in Part 2

If you want to use your existing App ID, then just skip to the next section. If for some reason you don’t like the name of your App ID, go ahead and make a new App ID, following the steps outlined in Part 2.

Create a Mobile Provisioning Profile for Distribution

Now that you have an App ID, you can create your Mobile Provisioning Profile.

  1. Within the Provisioning Portal website, click Provisioning in the sidebar.
  2. Click the Distribution tab.

    New Provisioning Profile

    In previous tutorials, you created a Development profile for testing. You won’t be able to upload your app to the Apple App Store unless you create a Distribution profile, so make sure you select the correct tab.

    You can either create a new Provisioning Profile, or modify an existing one. Modifying an existing profile if you want to switch between App Store and Ad Hoc distribution. If you’ve never created a Distribution profile, read on. Instructions for modifying a profile are in the section following.

  3. Click on New Profile.

    New Provisioning Profile Button

    Note: You’ll only see this option if you are the fee-paying Team Admin.

  4. In the next section, you’ll have to fill out a bunch of options. The first option is the Distribution Method. As you can see, you can choose between App Store and Ad Hoc.
    • Choose App Store if you are completely satisfied with your app and you want to submit it to Apple for review. If all goes well, then your app will be released whenever Apple deems it worthy.
    • The Ad Hoc option can be thought of as a closed beta for your app. When you choose Ad Hoc, you are able to release your app to a maximum of 100 people, and only they will have access to it. Your App will NOT appear in the public App Store if you choose Ad Hoc.

    Note: Notice when you choose App Store, the “Devices” option is greyed out. When you choose Ad Hoc, it allows you to choose a number of devices that you have registered. The App Store option releases your app on the public App Store, so it doesn’t make sense to target specific devices.

  5. Your Profile Name is the name that you want for your Provisioning Profile. The Distribution Certificate that you created should be visible here.
  6. Finally, you have to choose which App ID with which you want to register your Provisioning Profile.

    Profile Options

  7. Click Submit.
  8. You should ee a list of the Provisioning Profiles that you’ve created. Click download on the Provisioning Profile that you just created, and save it to you computer.

    Save Your Provisioning Profile

Modify your Provisioning Profile

Note: If you’re not modifying an existing Provisioning Profile (say, from Ad Hoc to App Store), skip over this section.

  1. Within the Provisioning Portal website, click Provisioning in the sidebar.
  2. Click the Distribution tab.

    New Provisioning Profile

  3. Click Modify on the Provisioning Profile that you want to reuse.

    Modify Provisioning Profile

  4. Switch to either Ad Hoc or App Store. The distinction between these two options is explained in the preceding section.

    Edit Provisioning Profile

  5. Click Submit.
  6. You should see a list of the Provisioning Profiles that you’ve created. Click download on the Provisioning Profile that you just modified, and save it to your computer.

    Save Your Provisioning Profile

Download your Distribution Certificate

You just need to download the Distribution Signing Certificate that you created at the top of this tutorial, and then you are ready to bundle your .ipa file to submit to the App Store.

  1. Click on the Certificates section in the sidebar.
  2. Click the Distribution tab.

    Apple Provisioning Portal

  3. You’ll see that your Distribution Signing Certificate is ready to download. You can also see that it contains the Distribution Provisioning Profile that you just made.

    Your Certificate is Ready

  • Click download and save the file to your computer. Just to make things easier, you can save that certificate in the Open SSL bin folder, where your Certificate Signing Request file is sitting.

    Hooray!

    Note: Make sure not to get confused between your Development Certificate and Profile, and your Distribution Certificate and Profile. You won’t be able to upload your app to the App Store if you accidentally use the Distribution set of certs in these next steps.

    Convert the Signing Certificate to a .p12 File

    You’ll have to perform the .p12 conversion on your Certificate again, as you did in an earlier tutorial. Here are the steps:

    1. Open up your command prompt.
    2. Navigate to your Open SSL bin folder.
    3. Copy and paste this command:
      openssl x509 -in distribution_identity.cer -inform DER -out distribution_identity.pem -outform PEM

      After you enter that command, you’ll see a .pem file show up in your OpenSSL bin folder.

      .pem file

    4. Copy and paste this command in the CLI:
      openssl pkcs12 -export -inkey mykey.key -in distribution_identity.pem -out iphone_dev.p12

      Note: These are the exact same commands that you used for our Development Certificate in an earlier tutorial, except that the file name has been changed from “development” to “distribution”.

    5. After you punch in the command, enter a password and then verify that password. Make sure the password is something that you will remember. (Save it in a .txt file! – Ed.)

      Note: Remember that you may get an error mentioning a “random state”. Just type in the command set RANDFILE=.rnd and it should fix the problem for you.

    6. Navigate to the bin folder in your Open SSL directory and you should see your .p12 file. Hooray!

      .p12 file

    Hello, Planet

    As we mentioned off the top, much of this is familiar territory. With all of your Distribution certs sorted out, you’re ready to bundle up your final .ipa file and foist it onto an unsuspecting public. In the next tutorial, you’ll follow familiar instructions to bind your certs to your .ipa, and experience that magical moment of uploading your app for Apple’s approval (followed shortly by that equally magical moment of getting your app rejected cuz BEWBZ.) Let’s do it!