I think I like Super Mario Run

Here’s my early review of Super Mario Run, less than a day after it was released.

I think I like it.

I have been waiting forever for Nintendo to finally accept the reality of modern mobile devices and make games for the iPhone. (No, Miitomo doesn’t count. And Pokémon Go doesn’t really, either, especially since Nintendo didn’t actually make it.)

There have been a ton of Mario-inspired platform games for iOS over the years, and while many have been of very high quality and creativity, none has stuck for me.

What makes the top-tier Nintendo franchises (and here I am thinking Mario, Zelda, Metroid, and maybe Pokémon) so great? These are the criteria:

  1. Engaging concept
  2. Attention to detail
  3. Playability
  4. Platform-optimized experience

Every would-be Mario surrogate on iOS has failed at least one of these criteria. And I expected that, if Nintendo ever did make an iOS game, especially a Mario game, when it finally did arrive it would be an unmistakably “Nintendo” experience because it would nail them all… and most likely differ from what I thought I wanted about the experience, because what I thought I wanted wouldn’t really work, and what I actually wanted was something I couldn’t quite imagine.

People have been saying it for years, but yes: this is how Nintendo and Apple are alike, and why I expected to be surprised, if not amazed, by what Nintendo came up with, even if it didn’t seem at first glance like it would be successful.

The biggest surprises for me about Super Mario Run when it was announced were a) how slow Mario seems to run, and b) that it’s essentially an endless runner with one control: tap-to-jump. It’s like the old joke before the iPhone came out that, if Apple ever released a phone, it would only have one button. Guess what: it did, and it changed everything.

Let’s explore the criteria, one by one:

Engaging concept. It’s classic Mario. The basic formula that has existed since Super Mario Bros. in 1985. More specifically, this game, visually and structurally, fits very much into the mold of the New Super Mario Bros. series that debuted about a decade ago on the Nintendo DS. Check.

Attention to detail. This feels like a Nintendo game, in all of ways, both good and bad. The good is where it counts — the actual game experience. The bad is the surrounding stuff, showing that Nintendo is still out-of-step in the online world. First, the bad: this game requires an always-on Internet connection, which seems a bit ludicrous. Apparently the primary reason is to prevent piracy, which I really don’t get. The only way to pirate iOS games is to jailbreak the device, and it seems like there would be easy enough ways for the game to detect that without an Internet connection.

Besides the Internet connection issue, there’s also the fact that the initial setup process requires selecting your country from a huge list (again, this is something the game should be able to detect automatically, especially since it has to be online to function) and a distracting Nintendo Account step. Then after a brief gameplay tutorial, you’re thrust into a black screen with a progress bar as the full game content is downloaded. I’m not sure if my experience was just due to peak interest at the launch, but it took forever to download… in fact, I tried over four sessions as I was out-and-about, jumping between LTE and WiFi in various locations, until I finally got the last 5% to download when I was at home several hours later.

So, that’s the bad, and it really kind of sucks. But the good is, once the game is actually loaded up on your device, it has all of the polish you expect in a top-tier Nintendo title. The design is flawless, the UI interactions are smooth as can be, and everything about it shows the same level of care that Nintendo puts into the best Mario games for their own systems. And because the iPhone screen resolution is so much better than on a DS/3DS, this looks much more like a Wii U game than a mobile game.

Playability. This is where I was really surprised. At first I was disappointed. Mario runs continuously, which makes sense for the one-hand — really, one-finger — control scheme, but he seems slow. This is not the “hold down the B button” running we’re used to in a Mario game. It’s about halfway between his usual walking and running speeds. But you quickly realize the speed was carefully calibrated for optimal playability. When you don’t have the ability to make Mario stop, you need just a fraction of a second longer to figure out how best to react to what’s going on in his environment. Before long you realize this speed feels perfect in conjunction with timing jumps, interacting with special blocks and avoiding enemies.

Speaking of enemies, when Mario is running and approaches an enemy, he automatically vaults over it. It’s a cute effect, but initially it made me wonder… is there any way to die in this game? Especially since it seems like even when Mario would die, such as falling down a hole, he instead goes into a bubble (as in New Super Mario Bros. U) and gradually floats backwards on the course? Well, yes. I didn’t immediately realize that you have to earn those bubbles, and they eventually run out. Plus, Mario only vaults over enemies if he’s running. If you’re mid-jump and he touches an enemy (other than landing square on its head), he dies just like in any other Mario game.

After a couple of easy screens, the complexity of the courses quickly catches up with you, and before you know it you feel like you’re just playing a regular Super Mario title, not a streamlined “endless runner” version.

Platform-optimized experience. Speaking of that streamlined “one-finger” control: one of the most irritating problems with any iOS game, aside from the difficulty of using a simulated, on-screen D-pad for movement, is the fact that your fingers obscure part of the screen. Nintendo, of course, solved this perfectly. When you’re navigating the game interface, the full screen is used as in any other game. But during a run, the bottom 1/4 or so of the screen has no action… only a generic background design matching the style of the current course. That way, you can keep your thumb poised at the bottom of the screen ready to tap (or tap-and-hold for a longer jump) without covering up any of the action.

I would never have expected a one-control, endless-runner style Mario game to work as a real Mario game, but it does, and is probably the only way to make this work on an iOS device. But Nintendo not only defied most fans’ logic with this control scheme, they perfectly tailored the elements of the game to work with it. They removed standard elements of Super Mario games (like Fire Flowers) that simply wouldn’t work with this control scheme, and they added things that — while they maybe would work with a traditional control scheme — are only logical with an endless runner, like special blocks that make you change direction when you jump on them, and others that pause the action to give you an extra moment to decide how to proceed.

A couple of other realities of mobile devices that Nintendo acknowledged with this game’s design are the brevity of play sessions and the interest in online competitive play. The levels here are shorter than typical Mario levels, although they don’t feel especially short, but they work well if you only have a minute or two to play. And the Toad Rally mode is a great way to do online competitive play. You’re not actually competing in real time, but the game makes it feel like you are, by matching you up with actual previous runs by other players.

There’s also a reward system for daily play, unlocking both useful features like additional playable characters as well as more frivolous prizes like decorations for your Mushroom Kingdom, similar to some of the features in Miitomo. And of course, you can tie in your Nintendo Account so your Mii shows up throughout the game. (I assume some of what you do here feeds back into the Miitomo experience as well, but to be honest I deleted Miitomo off my iPhone months ago.)

Overall… yes, I do think I like it. This is not the perfect classic Super Mario experience I always thought I wanted on my iPhone, but… let’s be honest. There are enough other, really well-done iOS platform games out there that I have tried for a day or two and then abandoned that I realize a perfect classic Super Mario experience is impossible on a touchscreen device with no physical controls. What Nintendo has delivered is a new kind of Super Mario experience that feels 100% “Mario” but actually works on an iPhone.

Now, what I really want them to do is an iOS Zelda game. There are Zelda DS games that rely almost entirely on the touchscreen and stylus for all movement and action. It seems like a no-brainer that this experience would translate well to a mobile phone. But then, what do I know?

Just remember… If you see a stylus, they blew it.

Nintendo: 2 Darn Stubborn?

Since the newly announced Nintendo 2DS (yes, you read that correctly) is obviously targeted at a young audience, I censored the title of this post. Kotaku already won the battle for best title anyway.

Source: NintendoMy first reaction, upon hearing the name “2DS” was “What the hell?” My second reaction, upon seeing a picture of it, was “No, seriously… what the hell?”

I have been a Nintendo defender for a long time. I love Nintendo. My kids and I waited in line outside the Richfield Best Buy last fall to get a Wii U at midnight when it was being released.

Now, a few fun games aside, all of us think the Wii U itself is kind of a P.O.S., but that’s not even the point. Except, it kind of is.

Nintendo used to be the king of the video game world. They dominated the late ’80s and early ’90s. After faltering a bit, they roared back in the mid-2000s with the original Wii. But then the world changed on them. The iPhone happened. And suddenly Nintendo was Wile E. Coyote running off a cliff. Except when they looked down, they didn’t suddenly realize the ground beneath them was gone. They just kept right on running… into a strange world where all known laws of physics no longer apply.

The Wii U is a bit of a muddled mess, but its main failing is the poor user experience of its horribly designed system software. But it was indicative of the larger problem Nintendo currently has… it has become dangerously (to its own future) out-of-touch with how people are using not just video games, but technology devices in general. The 2DS seems like perhaps they have crossed a point of no return.

I “get” the 2DS. It’s designed to address a few very specific problems, all revolving around the fact that Nintendo’s core audience, especially for handhelds, tends to be young… single-digit young. The 3DS, Nintendo’s current flagship handheld system, has three problems with that audience:

1. It’s fragile.
2. It’s (kind of) expensive.
3. Its 3D effects can be harmful to young eyes.

Little kids break things. The delicate plastic hinges on the traditional clamshell DS designs are a perfect example. Parents don’t want to spend $150-$200 on a device their young child will break easily. And for ocular health, Nintendo themselves discourage use of the 3D effect on the 3DS for those under 7 years old. Parents can disable the 3D effect entirely, but it’s a cumbersome process.

Enter the 2DS: No hinge. Comparatively cheap at $129. And no 3D. Problem(s) solved, right? Except… targeting those specific issues has led to this monstrosity. Something that could only be created by a combination of focus group feedback and head-in-the-sand corporate executives, deliberately ignoring everything that’s happening in the world around them, denying the true source of the rot eating away at their company’s business model.

Set aside the Playstation Vita for a minute (since everyone pretty much has, amirite?)… there is one primary competitor to the Nintendo DS family for young portable video game enthusiasts: the iPod touch. There are plenty of reasons a parent might choose to get their kid an iPod touch, besides the obvious fact that the kid really wants one. But perhaps the most compelling factor is that the parents themselves already own iPhones. The iPod touch, after all, is pretty much just an iPhone without the phone. (And GPS, and a few other features, but you get my point.)

iOS is already familiar to these parents, so they can relate to their child’s experience. And more importantly, these parents understand the App Store, which is really the single reason why I believe Nintendo as it currently functions is doomed.

Let’s look at three more potential problem factors for the Nintendo DS family:

1. Its games are expensive ($30-$40 each).
2. Its game media can get lost.
3. Its games can only be used on a single device at a time.

True, the iPod touch starts at $229, a full $100 more than the 2DS. But buy just three games for the 2DS and you’re up to the price of an iPod touch. Granted, Nintendo has created an equivalent to the App Store for the DS line, but its selection of games is pitifully small compared to the iOS App Store, and many of those games are iOS ports! Even the best, deepest, biggest-budget iOS games rarely break the $20 barrier, and most are priced somewhere between free and $3.

Every subsequent generation of Nintendo handheld has seen its game media shrink in size, from the fairly large cartridges of the original Game Boy to the tiny SD-like cards of the DS line. They’re more portable, but in some ways smaller is worse… as any parent whose kids bring their DS on car trips will tell you, the games are incredibly easy to misplace, and at up to $40 each that’s an expensive scenario. And, of course, a physical game can only be played on one device at a time. Even Nintendo’s eShop is built around a ridiculous model where you can’t transfer purchases between devices.

Contrast that with the iOS App Store. There are no physical media to keep track of, anyone on the same App Store account can download (and re- download) apps to their device without re-purchasing, and you’re not limited to the single device you originally bought the app on.

So while Apple (and Android) reinvented the world of mobile gaming, what did Nintendo do? They continued to drift into this strange territory of weird proprietary hardware, trying to create a unique experience by building devices, and games around them, that would be impossible anywhere else. That’s great, I guess… if any of it really made any sense. And never has it been clearer just how little sense it all makes than with the 2DS.

What is Nintendo’s greatest asset? Not its “unique” game hardware. It’s the intellectual property of great franchises like Mario, Zelda, Metroid and Pokémon. For decades now, Nintendo has sustained a (more or less) thriving business by making these must-have games and then selling the only hardware anyone can play them on.

But times have changed. The video game landscape is so different now, that I don’t think these legendary franchises are enough to carry Nintendo’s increasingly absurd hardware business any longer. I’ve been saying for years that Nintendo needs to do what Sega did… get out of the hardware business and start putting their games on other companies’ devices. This will mean a leaner, smaller Nintendo, but I bet they could wring just as much or more profit from selling their games on other systems as from building and selling their own.

Put Mario, Link, Samus or (God help me) Pikachu on my iPhone, and I will buy it in a second. But this crazy new hardware Nintendo keeps dreaming up? I’m not buying it anymore. And, for the first time, neither are my kids.

The Raspberry Pi Arcade Project: An Interlude

I’m currently at Part 8 of my Raspberry Pi Arcade project. That is, my own Raspberry Pi Arcade project is at the point of what I have planned as part 8 in the blog series. The blog series itself is stalled out after Part 3. And while the risk of getting too far ahead of myself is there — I don’t keep copious notes, so by the time I write a blog post my own project is so far removed from the topic of that post that I may forget key details — the real threat to the project is coming from what I’m experiencing around my own “Part 8”: polishing the user experience.

I’ve come to realize that while the Raspberry Pi is unequivocally an awesome piece of technology — a complete computer that fits in an Altoids tin, runs on a cellphone charger, plugs into your TV and costs less than $50 — it’s not a powerful computer.

Yes, I always knew it was not a powerful computer. And for a lot of applications it doesn’t need to be. But the main thing you gain by sacrificing that power is its diminutive size. It fits anywhere.

The thing is… for some applications you don’t need a computer to be tiny. And if there’s any application where you can afford for your computer to be huge, it’s a full-size arcade cabinet. I originally had visions of opening up my X-Arcade Tankstick and mounting the Raspberry Pi inside it. That would be cool — amazing, in fact — if I weren’t also mounting the Tankstick onto a full-size cabinet.

So… as I struggle with tweaking settings in my advmame.rc configuration file at the command line, trying to eke every last bit of processing power out of the Pi just so it can render simple early ’80s video games at full screen, I begin to wonder why, and whether or not it’s worth it.

Clearly my emulation dreams would be better served by powering my cabinet with a more robust PC. And the whole thing would probably be a lot easier to set up.

But as I stayed awake last night until well past 1 AM, sitting in front of my living room television, typing arcane commands on a black screen in that classic ’80s DOS font, I realized that this experience is part of what it’s all about. Not just having an arcade cabinet, but hardcore geeking out on Linux. Using a computer the way I used my first computer back in the 1980s.

As much as I’ve embraced the “it (usually) just works” ethos of iOS and modern mobile computing devices, app stores and touchscreens and nary a file system or command line in sight, sometimes I miss computing the old way, when it was a tinkerer’s hobby.

That’s what the Raspberry Pi Arcade project is really about. And maybe it will be the stepping stone to even more creative electronics projects with the Raspberry Pi as their brain. I could see, at some point in the future, replacing the Raspberry Pi in my arcade cabinet with a more powerful PC running Ubuntu Linux, and finding a new, even crazier project where the Pi would be right at home.

The Raspberry Pi Arcade Project, Part 3: Get Raspbian

Now that you have your Raspberry Pi and assorted accessories, it’s time to get it up and running. The Raspberry Pi doesn’t have a hard drive… that’s what the SD card is for. The Raspberry Pi includes an ARM CPU, so in principle any operating system that has been ported to the ARM architecture should be able to run on it.

In practice… I’m already in over my head trying to explain CPU architectures. But you don’t need to know anything about that to get your Raspberry Pi running. Several “flavors” of Linux have been ported and modified specifically to work well with the Raspberry Pi but the gold standard is Raspbian, a variant of the popular Debian distro, and the preferred choice for starting out on the Raspberry Pi. If you really know what you’re doing and have very specific requirements, other OSes may be preferable over Raspbian, but if you just want to get your Raspberry Pi up and running with a stable, easy-to-use Linux, Raspbian is the way to go.

Get Raspbian

The first step in setting up Raspbian is to download it. This of course assumes you have another computer to download the disk image to. Any Windows, Mac or Linux PC should do. The key is having a PC with an SD card slot, because you’ll need to use it to get Raspbian onto the SD card.

If you don’t have a PC with an SD card slot, or you just don’t want to mess around with it, you can buy an SD card preloaded with Raspbian for not much more than the cost of the card itself. Note that the preloaded SD cards are probably only going to be 4 GB however, not the 16 GB card I recommended in Part 2 of this series.

Assuming you’re going to install Raspbian yourself, the first thing you need to do is download it. This download link includes a few other options for different OSes that will also work on the Raspberry Pi, so if you are inclined to ignore my advice, check them out!

Install Raspbian on Your SD Card

Once you have Raspbian downloaded, you’ll need to install it on your SD card. The process for doing this varies depending on whether you’re on Windows, or using a UNIX-based OS like Mac OS X or Linux. More detailed Windows instructions are available on the download page I linked to above. Being a die-hard Mac user, I am going to describe the Mac/Linux process, which I recommend doing at the command line.

1. Insert the SD card into your SD card slot.
This should be fairly self-explanatory. On most MacBook Pro’s the SD card slot is on the side near all of the other ports; on other Macs like my Mac mini, it’s in the back. Not all Macs have an SD card slot, e.g. the MacBook Air. If your computer doesn’t have an SD card reader, USB add-ons are available.

2. Open Terminal and become a superuser.
If you’ve never used Terminal before… well, to be honest, if you’ve never used Terminal before, this whole project is going to be a bit of a challenge. But solider on! Terminal is located in your /Applications/Utilities folder. It’s your way to access the command line on the Mac. You’re going to be doing some things that require root (“superuser”) access. The “safer” way to do this is to prepend any of those commands with sudo but I prefer not to mess around with that. Type sudo -s Enter to enter superuser mode. Note the command prompt will change from $ to #. Now you can do some real damage. Consider yourself warned. (And do not, under any circumstances, type rm -Rf / ever. For real.) Proceed at your own risk, or just prepend commands with sudo along the way if the system says you don’t have permission.

3. Identify your SD card in the filesystem.
In Terminal, type df Enter. You’ll get a list of all of the disks (“volumes”) on your Mac. You’re looking for the SD card. The name it displays in the Finder will be shown in the far right column, “Mounted on”. But you need to know what its name is in the “Filesystem”, the far left column. On my Mac mini it comes up as /dev/disk2s1. You don’t need to worry about the s1 part; that’s the partition. We just need the disk number, e.g. /dev/disk2. Make note of this for future reference. Now you need to unmount the volume so you’ll be able to write to it. Take a look at the disk name under “Mounted on” (starting with /Volumes/). Type umount -f [disk name] Enter, replacing [disk name] with exactly what was listed under “Mounted on.” Important: if there are any spaces, you’ll need to edit the name and put that portion, between slashes, in quotation marks. For example, if the name is /Volumes/My Awesome SD Card you’ll need to type umount -f /Volumes/"My Awesome SD Card" instead. And if this doesn’t work, check here for another tip on unmounting the volume.

4. Identify your Raspbian disk image.
Now you want to switch to the directory where your downloaded Raspbian disk image is. This is likely to be the Downloads folder in your home directory. If so, then in Terminal you’ll type cd ~/Downloads Enter. Then type ls -al Enter to see a list of the files in this directory. You’re looking for one with a .img file extension. In my case it’s 2013-02-09-wheezy-raspbian.img. If you don’t see that, but you see something similar with a .zip extension, you just need to unzip it. Type unzip [filename] Enter (using the real filename, of course) and then type ls -al Enter again, and you should see another file with the same name but ending in .img. That’s the one.

5. Write the image to the SD card.
Now that you know the name of your Raspbian disk image and the disk you’re writing to, you can run the dd command to copy the image over. This command includes a lot of different options for setting the block size, etc. The kinds of technical details about computers most of us haven’t thought about since the early days of MS-DOS, if ever. In my experience these settings don’t appear to matter here, however, as I was able to prepare my SD cards with only the basic parameters of if (input file) and of (output file). Here’s the command I would use in my exact situation. Adjust your if and of according to your results of steps 3 and 4 above.

dd if=2013-02-09-wheezy-raspbian.img of=/dev/disk2

Then hit Enter and… wait.

And wait.

And wait.

This is the command line. You will get no feedback that any progress has been made, or that anything is happening at all. So just leave Terminal open and go about your business. Some substantial amount of time later (in the realm of a half hour, in my experience), the process will have completed, and you’ll get your command prompt again. That’s how you know it’s done. Now, go back to the comfortable confines of the Finder and see if the SD card is showing up as a mounted volume. If it is, eject it. Now you can take out the SD card and insert it into your Raspberry Pi. You’re ready to power up!

Next time… powering up your Raspberry Pi with Raspbian for the first time.

The Raspberry Pi Arcade Project, Part 1: Introduction

If you’re bothering to read this, I probably don’t need to explain either the Raspberry Pi or emulators (specifically, MAME and Stella), but for the sake of completeness, I will.

Raspberry Pi

The Raspberry Pi is a tiny, inexpensive Linux-based computer that, after years of anticipation, was finally released to the public last year. It’s designed to be versatile and to encourage creative, educational programming and electronics projects.

Emulation Software

Emulators are software programs designed to run on modern computers that emulate the physical hardware of older, simpler video game and computer systems. When combined with ROM files, the programs that ran on those old systems, it is possible to play near-perfect recreations of those classic games on modern equipment.

Of course, while the emulators themselves are (usually) perfectly legal, there is a (charcoal) gray area of legality regarding the distribution and even the possession of these ROM files. Legally, you should only possess ROM files for games you physically own. In the case of home video game consoles, that would be the original cartridges or disks. For arcade games, that would be the actual hardware cabinet with all of its electronic guts… or, at least, the ROM chip from said cabinet that contains the actual game program. (I do actually own an original Asteroids arcade cocktail table, and a very large collection of original game cartridges for the Atari 2600, 5200 and 7800; the Intellivision; the Nintendo Entertainment System [NES] and others. These will be the focus of my efforts with this project.)

There are numerous emulation programs, representing dozens of arcade and home video game systems, and most have been ported to a variety of different modern platforms, including Windows, Mac OS X and Linux. My interest primarily lies with the classic games of the late 1970s and early 1980s; specifically, arcade coin-op games which are emulated by the Multiple Arcade Machine Emulator (MAME) project, and the Atari 2600 which is emulated by the Stella project.

One of the dreams of many aficionados of early arcade games is to own a “MAME cabinet” — a real arcade game cabinet (or modern recreation thereof) with a modern PC and display inside, programmed to work with an arcade-style control panel, and loaded with emulation software.

The Project

I’ve wanted to build a MAME cabinet for years. The biggest hurdle for me has been a willingness to dedicate an expensive (or even semi-expensive) and significantly overpowered PC to use solely as the “brains” of such a cabinet.

I’ve also been interested in the Raspberry Pi ever since I first heard of it. The idea of a credit card-sized Linux computer that could be embedded in a creative electronics project sounded amazing! But possessing a woeful lack of knowledge of the circuit board-level details about electronics, and being equally woefully inept at either soldering or construction, I wasn’t sure what I could really do with it.

But then it hit me… I could build a MAME cabinet! What’s really great about attempting a project like this today is that you don’t really need to solder or build anything. The X-Arcade Tankstick is an (almost) plug-and-play, arcade-quality control panel, and the Xtension Arcade Cabinet is a prefabricated arcade-style cabinet designed to work perfectly with the Tankstick, the PC of your choice, and a 22-inch TV or LCD monitor to create a MAME cabinet that’s still a fun DIY project without requiring the same levels of skill that have previously made this kind of thing unapproachable for me.

The Road Map

I am already well underway with this project, but from the beginning it has been my intention to create a series of blog posts detailing the process, so others who, like me, have an intermediate-or-better level of knowledge of command line Linux; a rudimentary understanding of electronics — at least, which plugs go into which ports; and above all a deep and abiding love of classic ’80s video games, can make this kind of thing happen.

I owe a huge debt of gratitude to Shea Silverman, who is several steps ahead of me in working with and blogging about using the Raspberry Pi for emulation, but whose blog posts come with a tad steeper of a learning curve than what I am hoping to lay out for the readers of these posts. I’ll tell you what I think you need to know to make this stuff work, but for a more in-depth exploration of the details, please check out his blog.

Now then, here’s an outline of the posts I intend to include in this series. (I’ll update this page to make each a clickable link as the posts get published.)

Part 1: Introduction
Part 2: The Essential Gear
Part 3: Get Raspian
An Interlude
Part 4: Up and Running with Raspbian
Part 5: Emulator Set-up — Stella
Part 6: Emulator Set-up — MAME
Part 7: Configuring the X-Arcade Tankstick
Part 8: Polishing Your User Experience
Part 9: Preparing the Cabinet
Part 10: The Finished Product