Screenshot: Mobile devices challenge the traditional video game console

There’s a good chance you haven’t yet noticed, but the next generation of gaming consoles is upon us: Nintendo’s Wii U, which many consumers don’t even recognize, is a brand-new console and not merely an extension of the Wii. It premiered last winter to—to put it mildly—muted fanfare. This winter, Sony and Microsoft will release their own new consoles, while Steam—the online PC gaming service and video game developer—is currently working on its first console, and there are persistent rumors that Apple is developing a video game controller for a revamped version of AppleTV.

Apple’s rumored efforts to unite computing, gaming and television reveal that the cornerstone of the next generation console will be its ability to consolidate many facets of our virtual lives, to combine as many of our electronic devices and online accounts as possible. Microsoft’s initial presentation of its new console, the Xbox One, was lampooned by gamers and gaming sites for its focus on non-gaming features, including split-screen capabilities (allowing you to watch television or chat over Skype while playing games) and the potential for games that interface with mobile apps.

The most notable misstep of the Wii U may have come from a similar impulse to move towards a mobile device, as the Wii U “GamePad” controller comes with its own screen, combining the institution that is the gaming controller with the distribution of gameplay across multiple networked devices. While Nintendo’s new console has been met with an overwhelming wave of disinterest and confusion, initial reactions to all the new consoles has been decidedly lukewarm. Back in May, Luke Plunkett of gaming website Kotaku wrote a piece taking note somewhat melodramatically of the “overbearing sense of melancholy. Maybe even ennui” he feels toward the new consoles, suggesting that casual gamers’ move towards mobile devices is beginning to make consoles irrelevant.

In this light, many of the new features of the Xbox, the Wii U and PlayStation’s Vita seem like an established console producer’s awkward attempt to respond to the increasing prominence—even encroaching dominance—of mobile gaming. Video game developer Rovio’s revelation, now two years old, that the world had spent an aggregate 200,000 years playing its Angry Birds seemed to suggest that the future of gaming lay in tapping into the mobile market, in giving people a game they never had to stop playing, even when away from their consoles.

For my part, I am less interested in the ability to continue playing a console game by way of mobile mini games, or whatever it is that Microsoft and Sony and their developers would have us do with our phones and tablets. I am interested, however, in the potential for mobile gaming both to create and to preserve types of gameplay not usually available on the major consoles. The touch interface, as some have noted, lends itself to (often rather addictive) games of broad concept and intuitive gameplay, and this has led to the popularity of games like Angry Birds. It seems mobile gaming is helping to usher in an era of renewed popularity for two-dimensional games structured by simple goals and point-based reward systems, games that have more in common with arcade games than they do with Halo.

The more “old school” forms and simple goal structures that typify mobile games don’t preclude complexity, however. For example, the medium seems particularly adaptable to strategy games, as anyone who plays the numerous puzzle games or Worms can tell you. This year’s Star Command, though disappointing in itself, showed the potential mobile gaming has for combining the already-common use of stylized, simplistic graphics and strategy elements with an extended, choose-your-own-adventure narrative.

The mobile game that has my attention this summer while I’m separated from my Xbox is Badland, an “atmospheric side-scrolling adventure game” for Apple’s iOS. Although the game does have a point and achievement-based reward system similar to something like Angry Birds, its priority is clearly to engross the player through atmosphere and (something like a) narrative, rather than through numeric achievement. While players can always double back and collect achievements by re-playing levels, Badland avoids textual interfaces in a first run-through of the game, giving users no explicit directions and only the occasional notification about achievements. The result is indeed a very atmospheric game, one that wordlessly engages the player in the fate of its main character(s).


The player’s avatar in the game is something identified by its menu and achievements as a “clone,” which navigates a gloomy, industrial landscape whose foreground—the space of gameplay—is portrayed completely in silhouette. The clone is a small, round creature with no legs and small arms. By tapping the screen, the player can flap these arms and make the clone fly to the right; the goal is to survive the threatening, maze-like landscape of dangerous mechanisms with the help of powerups that can change the clone’s size, give it a spin with which to travel on the ground or even add additional clones for the user to control. Levels take place in a larger structure of “Days,” each of which consists of many levels that make up Dawn, Dusk and Night.

In addition to striking design and intuitive gameplay—to the extent that instructions are unnecessary—the game also constructs a sympathetic main character through effective principles of graphic design, overwhelming the tiny, defenseless and organic clone(s) with large mechanical-environmental obstacles. The story is built by the player’s navigation of this landscape and by his or her imagination. Where does the story take place? Why are these creatures “clones”? These questions may or may not be answered by specifics later in the game, but the answers are in some way felt by the user thanks to the game’s impeccable design and fluid animation. One roots for the little, identical clones without knowing their background, goals or enemies. It reminds one that words and complex plots are not always necessary components of an involving experience.


To me, Badland is both the type of game mobile devices are made for and proof that mobile games can be complex and subtle in many of the ways console or PC games often are, but with neither the need to adapt the complex controls of the latter for the touch interface, nor to be merely a part of another game. Smaller, engaging games like this suggest that the future of original mobile gaming is brighter in spots than that of console gaming, with its focus on expensive franchises and multimedia platforming.

Pat Brown is a graduate student in Film Studies at the University of Iowa. No, that doesn’t mean he makes movies; he just likes them a lot.

[gravityform id="17" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/screenshot-mobile-devices-challenge-the-traditional-video-game-console/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Email</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="118"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, '' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, '' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>