Nintendo Missed a Huge Opportunity with Super Mario 3D World

Sam Byford, writing for The Verge:

One thing that Super Mario 3D World is not is a showcase for the Wii U's signature feature, the tablet-style GamePad controller. While there is the occasional stage that requires you to manipulate objects with the touchscreen, these are few and far between, and for the most part Super Mario 3D World is entirely playable with a regular controller. I actually found it far more comfortable to play with the underutilized but excellent Wii U Pro Controller most of the time. You can also play directly on the GamePad without the need for a TV, though I wouldn't recommend it; the camera angles tend to be too zoomed-out to be comfortable. And relegating Super Mario 3D World to the low-resolution GamePad screen would be a shame, because it's a stunningly beautiful game.

Nintendo has been on an advertising binge lately. Odds are very good that you've seen this commercial, or one of its siblings, on TV or the web:

The commercials are somewhat childish, but they do a decent job of explaining the Wii U in the context of Nintendo's newest AAA title, Super Mario 3D World. It's somewhat sad that Nintendo has to remind people that the Wii U is a new console and not a peripheral for the Wii (a problem that Sony and Microsoft don't have), but the good part of this commercial is that it shows the fun that can be had playing the game with friends and family.

Unfortunately, what the commercial also shows us is that the tablet-like controller for the Wii U is almost a pointless afterthought. The commercial doesn't emphasize using the tablet as a controller (despite its prominence in the still photographs), and Byford's post confirms that the tablet isn't really necessary for the game.

The fact that Nintendo's premier Mario title, delivered one year after the console's launch, doesn't show off the capabilities of the single defining feature of the Wii U is ridiculous. By contrast, Nintendo didn't waste any time showing off the uniqueness of the Wii's remote controllers. Wii Sports may not have been the best game on the system, but it immediately set the Wii apart as a console that--despite graphical shortcomings--offered unique gameplay.

The Wii U is already hampered by the fact that it offers inferior graphical performance compared to its competitors. Nintendo has compounded this business/engineering error by failing to produce a game that convinces people that the Wii U offers a unique experience.

Folks, Nintendo blew this one. 

iOS Easily Won the Black Friday Wars

Jay Yarow, over at Business Insider, regarding IBM's analysis of Black Friday sales:

It broke out an analysis of iOS and Android: On average, iOS users spent $127.92 per order on Black Friday compared to $105.20 per order for Android users. iOS traffic reached 28.2 percent of all online traffic, compared to 11.4 percent for Android. iOS sales reached 18.1 percent of all online sales, compared to 3.5 percent for Android.

On a market share basis and an installed user base basis, Android is the number one operating system in the world. However, if the user base doesn't make use of their devices in ways that make it worth developers' and retailers' time, then Android will continue to be an afterthought. iOS users spend more time on their devices and spend a disproportionate amount of money when compared to Android users. I would wager that Windows Phone users would be treated better than they currently are if they spent money and time disproportionate to their installed user base too.

Folks, if you want to be treated as first-class netizens, then you must spend like first-class netizens. Developers and retailers aren't running charities.

Hilarious Assassin's Creed IV Bug

This is a particularly crazy bug:

(The video is not mine; I found it on YouTube.)

Anecdotally, I've noticed that horrible bugs seem to be more commonplace with videogames (especially AAA titles) than in decades past. I would hazard a guess that the reason for such an upturn in breaking bugs is a combination of high pressure development schedules and the need to create ever bigger, more expansive worlds.

Even with Instagram on Windows Phone, Microsoft Can't Win for Losing

Tom Warren, writing for The Verge:

Instagram Windows Phone users can use the app to upload photos, but they'll need to shoot photos separately using the camera as there is no direct in-app camera support. A button within the app links out to the camera, and returns the photo after it's taken to apply a filter and upload it. Instagram says "as with every platform we take into account how users are using the platform natively, and thought this was the best approach."

To be fair, this version that is currently in the Windows Phone store is a 'beta', but for heaven's sakes why release an app that can't perform the primary function of the service? A few more weeks to create a fully baked version (even if it didn't have feature parity with the iOS and Android versions) would have been worth it. Windows Phone is three years late to the party, so waiting a bit longer to have a proper, elegant user experience would have been the correct choice.

This Mashup of Star Wars and Nintendo Characters Will Make You Smile

This is a great take on Star Wars: A New Hope using Nintendo characters. There are very many inside references that will be noticeable by longtime Nintendo fans.

This is well worth the 8m 42s run time. Check it out, folks.

The Complex World of the Simple, Tiny, Insignificant Progress Bar

One of my earliest professional programming tasks was to create a progress bar for an application. The requirements were simple, really: show the user how far along the application was in its processing of a new data set. Easy, right?

Wrong. As it turns out, for many tasks it is actually non-trivial to display a meaningful progress bar to the user. Predicting the future can be difficult, it seems.

In fact, there is some serious HCI (human-computer interaction) research being carried out regarding the progress bar and its impact on user experience. One such paper focused on displaying the progress information in a variety of ways--while keeping the task time constant--and showed that people can consider a progress bar to be faster or slower even though the time it took to complete was exactly the same. A follow-up paper further explored the progress bar by changing visual attributes (for example, making the bar pulsate at different frequencies). Once again, the time to complete was always the same but the human perception of the passage of time was varied.

Just for fun, check out some of these progress bars: http://www.animatry.com/blog/progress-bars

Do any of them seem familiar? There is an excellent chance that you've encountered them while copying a file in Windows or installing the latest version of OS X. I bet you've even programmed one of these.

As for my younger self, I spent quite a bit of time implementing and refining the progress bar for that data installation process. The exact design of the final solution has been lost to my memory in the mists of time, but as I recall it was some combination of an overall percentage with a 'live' update of the current files being processed. The overall percentage gave the user a rough sense of how far along the application was in the process, and the file names (which flew by far too quickly to be meaningfully absorbed by the human consciousness) gave the user the reassurance that the process was indeed continuing and hadn't gotten stuck somewhere. Perhaps not the optimal solution, but it got the job done.

Folks, don't let anyone tell you that adding a progess bar is an 'easy' task.

The Seattle Indie Game Scene was on Display at iFEST

I recently had the pleasure of venturing out to the Seattle Center--home of the iconic Space Needle--to join the festivities at the Seattle edition of iFEST, a festival celebrating indie game developers. Here are my quick thoughts on some of the games that I had a chance to demo.

VRCade

The VRcade was on display in a room directly behind the registration booth and was probably the most unique experience available at iFEST. 

 

The VRcade room.

The VRcade room.

The idea behind VRcade is to provide a high quality arcade experience. The demo that I tried was a basic shooting gallery game. The point of the game was to shoot as many targets as you can within a certain time limit. The targets would pop up within one of three corridors (one directly ahead of you, one to your left, and one to your right) and make a sound that would direct you as to which side to the target appeared. Perhaps the most impressive part of the experience, in my opinion, is how accurate and natural the gun targeting felt. I've demoed similar VR experiences before, and quite often the tracking wasn't quite up to snuff. With VRcade, however, it felt as though I was using a real gun to shoot at actual targets. When I missed a target, it was because I  missed the target, not because the tracking tech failed to keep up with my movements. Kudos to the team behind this technology.

Buddy & Me

 Perhaps the most polished game was Buddy & Me, by the folks at Sunbreak Games.

Picturesque.

Picturesque.

This game is wonderful to play. The concept is quite simple, really: an 'endless' runner starring a boy who is joined by his imaginary flying friend as he runs through a forest/treehouse environment. However, it's not the concept that is the most interesting part of the game, it's the execution. The art is quite beautiful and the game controls very well. It feels a lot like taking part in an animated film, especially when you cross from one of the more restrictive forest environments to the visually expansive field environments, all the while followed by Buddy and any 'flying bunnies' that you have saved.

Note of interest: I found that the Buddy character's design and animation evoked feelings of nostalgia, and reminded me a lot of Falcor from The Neverending Story, Totoro from My Neighbor Totoro, and Flammie from Secret of Mana. I talked to the developers about my impression, and they confirmed that those were all influences on the character's design.

The Bridge

I enjoyed playing the Xbox Live Arcade version of The Bridge.

The Bridge.

The Bridge.

It's somewhat difficult to talk about this game without spoiling some of the experience (and this is why I chose not to post a picture of the gameplay). It has a distinctive, somewhat unsettling art style and has an 'old timey' feel to it. The idea behind the game is to solve puzzles using changes in gravity and logic. I felt that the environments seemed as though they had been designed by a feverish M.C. Escher, and that's exactly how they developers want you to feel.  It's quite a unique game that's worth checking out.

Eucloid

 This game is very simple, and it is because of that simplicity that the game absolutely works as a competitive game.

Old school gameplay.

Old school gameplay.

I had a chance to play the creator in a Vs match using Xbox 360 controllers. The left stick controlled the movement of our  Tempest -style cube avatars, and the right stick controlled the spheres we used in battle. In the game format we played, the purpose of the match was to hit the other player's cube by launching our attack sphere. The spheres, once launched, are tethered to our cube and will return so that we can attack once again. There are some more advanced techniques too, such as teleporting to the sphere's location or using your sphere to disable your opponent's sphere.

This is the type of game that is simple to learn, yet difficult to master. I could see spending many late nights playing this game with friends. 

Chess Heroes

Have you ever played Chess? Have you ever played Final Fantasy Tactics? If so, then Chess Heroes is for you.

Surprising.

Surprising.

The basic idea is that you play a 'Tactics'-style strategy game using chess pieces. The pieces start with their traditional moves, but it is possible to level up and get additional moves like the ability to launch a pawn at the opponent. I was a fan of Battle Chess in my youth, and the attack animations in Chess Heroes made me smile in much the same way that Battle Chess did.

Wrap-Up

I was quite happy with my experience at iFEST. The people were fantastic, the games were fun, and the sense of innovation was impressive. I highly recommend checking out the next iFEST.

Folks, keep a watch on the Seattle indie game development scene. 

 

Nintendo Apparently Likes Confusing Consumers

From Business Wire: 

Wii is the best-selling system of this generation with more than 100 million units sold globally. Wii mini is for those who don’t own a Wii console and want to enjoy a ton of great Wii games on a stylish system at an affordable price. It is also for families who want an additional console in another room, allowing siblings and friends to play while the rest of the family enjoys other entertainment and games on the main living room TV screen. While Wii mini is not compatible with the Internet and will not allow online functionality when playing games, select multiplayer games can still be played locally with friends and families, which is the ideal way to enjoy such entertaining games like Super Smash Bros. Brawl and Mario Kart Wii.

This is an odd duck. As you may recall, the Wii U is selling poorly (though admittedly better these days), and part of the blame can be placed on the poor marketing choices made by Nintendo. When consumers have to be reminded that the Wii and Wii U are not the same thing, you've got a marketing problem. Adding a 'Wii mini' to the mix is not going to help matters. Nintendo should be focused on getting the Wii U on gamers' minds for the upcoming holiday season, especially with the impending arrivals of the PlayStation 4 and Xbox One.

Your Performance Gains Probably Had Nothing to Do With Switching Technologies

Carlos Becker, on the topic of Twitter dropping Ruby for Java: 

Yeah, in the original post Twitter says that they get 3x more performance using Lucene and Java. The post is OK. The arguments are right. Your interpretation may be wrong. People like to generalize things. Like "Twitter says they get more performance with Java, so, Ruby sucks", which is not correct. If it was, maybe you could also use PHP, since Facebook uses it and it works for them.

Every now and then, it seems as though some hot new technology sweeps through the tech crowd. Praise is bestowed upon the new technology, and scorn is focused on the old technology. Less commonly, the old technology is revived on the basis of backlash against the new technology. That's pretty much the case here. Java was the old and busted technology replaced by the sexier Ruby, then people noticed that Java had its upside and we're back where we started. 

It shouldn't have to be this way. There are pros and cons to every bit of technology out there. Every tool has its use, right? 

As mentioned by Becker, this is somewhat encouraged by the way these platform-switch stories are presented and reported. Groupon, for example, recently transitioned part of its platform from Ruby on Rails to Node.js. If you read the blog post or some of the reporting on the subject, it would be easy to miss the fact that they resolved architectural problems (unrelated to the underlying technology) during the transition. 'Company X fixes a bunch of technical debt' is a lot less juicy of a headline than 'Company X sees huge performance gain after switching to new technology'.

Folks, don't get caught up in the hype. Think critically about your technology choices. 

Don't Do Retrospectives Unless You're Going to Do Them Right

The odds are good that you've been involved in some sort of retrospective meeting. It may have been called something else such as the popular 'post-mortem', but the purpose is generally the same for any given software release/sprint/iteration: figure out what went well and what didn't go well. Why, then, do so many retrospectives go awry? In my experience, there are three very common reasons: there are too many items in the 'must improve' list, there is no follow-up on the items in that list, and the list isn't very good to begin with.

Too Many Items 

One common problem I've seen is for a team to put too many items on the list of things to be improved for the next iteration. Ever had one thing to do? How was that? Even if it was a difficult task, at least you could wrap your head around it. Ever had a thousand things to do? How was that? Overwhelming, right? Having too many items on a 'must improve' list is arguably as bad as not having a list at all. While it is often important to document all the ideas on what could be improved, it is best to focus on a handful of items (ideally, one or two) that could be improved for the next iteration. If your team improves one or two things every iteration, then that is continuous improvement. 

 

Overwhelming.

Lack of Follow-Up 

Even if you manage to decide on a small number of improvements to be made, you can still run into trouble by failing to follow up on the tasks that will implement the improvement. If no one has the responsibility of ensuring that the tasks get done, then it's quite likely that the tasks will not get done. It doesn't really matter if you have your manager, scrum master, team lead, or intern as the responsible party for keeping an eye on the improvement, what matters is that someone is making sure that the tasks get completed. By the way, the person responsible for ensuring that the tasks get done doesn't necessarily have to be the same person to actually implement the improvement. They just need to make sure that the tasks don't fall through the cracks during the heat of battle. 

Nothing But Whining 

Okay, so you have a small list of improvement items and someone is assigned to make sure that those items are completed. Everything is great, right? No. You can still have problems if your list isn't very good to start with. While it is common to focus on things that went wrong during an iteration, it is important to remember the things that went well too. It's too easy to get caught up in having 'improvements' that revolve around negative things (e.g. "must make sure that we get the specifications from the customer") and lose sight of the positive things that have been done that could be further improved (e.g. "integrating our source control with our bug tracking system was great, maybe we can integrate that with our help desk"). Improving on your improvements is allowed.

Folks, I'm not going to claim that this is an exhaustive list of things that can be done to make sure that your retrospectives are fruitful. What I will claim, however, is that committing to a small list of well-thought-out improvements will make your software development life better.