Screenshot: New modes of distribution have opened the playing field for local developers

At EPX Studio’s Indie Game Jam, developers worked together on various video game projects. — Illustration by Jared Jewell

It’s an exciting time for video games. In recent years, alongside the rise of so-called “triple-A” games—like the upcoming Destiny (2014) that cost exorbitant amounts of money to make—a healthy and diverse independent market has also developed. Games like Castle Crashers (2008), Spelunky (2009), Limbo (2010), Super Meat Boy (2010), The Binding of Isaac (2011) and BattleBlock Theater (2013) have defined a new and important subcurrent of gaming. They rely on a new infrastructure of distribution that allows them to reach players more easily, and that has in turn encouraged the proliferation of independent game studios, including the University of Iowa student organization EPX Studio here in Iowa City.

Gaming hasn’t quite become a cottage industry, but the new prominence of independently developed games is arguably fostering the resurgence of a creative ethic that extends beyond the traditional centers of game production. EPX is open to anyone in the community with an interest in learning about and designing video games. On May 9, the group kicked off its Indie Game Jam weekend with a series of talks by well-known names in indie gaming.

Speakers at the event included Iowa-based game designers Josh Larson (of the upcoming That Dragon, Cancer) and Ted Martens (The Curse of the Necrodancer, 2013), as well as visual effects artist Byron Caldwell, The Stanley Parable (2013) creator Davey Wreden and the upcoming Hyper Light Drifter‘s Teddy Diefenbach. Through Skype (with the exception of Larson, who attended in person) these indie game writers, artists and programmers kicked off the weekend by offering advice on game jams and, more generally, on navigating the gaming industry as aspiring creators.

The success of Wreden, whose Stanley Parable is one of the most interesting and critically lauded games of the last couple years, may be the sign of changing dynamics in independent gaming. Wreden designed the first version of the game when he was a film student at University of Southern California, teaching himself how to use the tools of popular game developer Valve.

Now that Stanley Parable has been re-released as a collaboration between Wreden and programmer William Pugh, Wreden said to attendees at the EPX Indie Game Jam that he’s looking mostly to work on his writing, not his programming: “The jobs I’m trying to do and to get really good at, is to write. … And that’s not always a super-prominent role in game design—especially in independent design, where most of the time the person doing the writing is also the person who’s leading the project, who’s already doing the design of it.“


Independent games have often relied on singular visions, on cultivating a sense of artistic intent directed from a person responsible for designing and writing the game. This has led occasionally to a close integration of gameplay mechanics and story thematics, as in the time-bending platformer Braid (2008). But Wreden’s Stanley Parable has shown that compelling narrative-based (or narrative-deconstructing, as it were) games have a place in independent gaming as well.

Collaboration between programmers and people without backgrounds in programming was a recurring topic of conversation at the EPX Game Jam’s opening event. The game jam has become a practice among programmers, artists and all the other people that may be involved in making video games, who come together to work throughout a weekend with the goal of having a functional game prototype at the end of it, which might later be developed into a full game.

According to the EPX Indie Game Jam’s organizer Ryan Holtkamp, game jams are important opportunities for developers to hone their skills, and be forced into thinking a different way to solve urgent problems quickly and efficiently.

The emergence of independent communities of people interested in games and game-making, complete with unique practices and institutions like the game jam evidences this new (or perhaps rediscovered) indie game ethics, where videogames are more intimate, local, unpretentious and even homemade. Group events like the game jam, which mix theory, shop talk and pure love of the medium, hearkens, for me, back to  the “ciné-clubs” that developed in France in the 1920s and were revived in postwar Europe and America while Hollywood stagnated. These clubs, like EPX, fostered a belief in cinema as something not merely for the entertainment of the masses, but as a medium of expression, a craft to be studied and practiced.

While the video game industry hasn’t yet seen a hegemony as stable and monolithic as the eight major studios that ruled Hollywood from the 1920s to the 1960s, it too has organized itself largely around a group of powerful publishers: Activision, Electronic Arts and Ubisoft were the three biggest publishers of 2012, according to Games Industry International. Publishers co-fund the development of games, which may be done by another company or by an in-house development subsidiary.

In 2003, Valve released their online service Steam, which provided players with the ability to purchase and download games from their creators, shrinking the role of and need for both publishers and brick-and-mortar retailers. In this context, the publishing infrastructure no longer consists of capital-intensive networks of cartridge- or CD-manufacturing and retail distribution; a niche is opened up for independent games to reach the dedicated gamers who will play them. Online console networks like Xbox Live Arcade soon followed Steam’s lead in offering independent developers an avenue to users, and the advent of Kickstarter has made crowdsourcing a frequent source of capital for the development of new indie games.

Thus, independent games actually depend on the existence of major media corporations. Indie games, like indie films before them, value a distinct “low-fi” aesthetic that distinguishes them aesthetically and even ideologically, but Holtkamp sees the two sides of the industry as complementary.

“I think both camps have their roles,” he says, “The big Studios will churn out sure bet triple-A titles, and rake in billions on sequels and copies of other fad games, and there’s definitely nothing wrong with that. If someone enjoys Call of Duty, more power to them.” Independent games, with their smaller market of dedicated gamers, can afford to take chances the larger games can’t risk.

While the rapid move of games from cartridges and CDs to servers and hard-drives is having some negative consequences, like the increased ease of corporate digital rights management and the decline of used game sales, this newfound preponderance of voices outside the mainstream industry is one positive effect. EPX was founded in Iowa City almost three years ago, arguably as a part of this explosion of activity in gaming less firmly tied to traditional distribution outlets.

Their original goal, according to EPX Events Director Megan Mathews, was to produce one game a year as a group, but they’ve found more success in this past school year by focusing smaller units of programmers and artists on more contained projects. This weekend’s game jam was meant to facilitate work on these projects, which include a set of touchscreen games designed for the Iowa City Public Library’s new digital table in the children’s area.

Holtkamp, Larson and EPX members Nick Shepperd and Chris Boswell used the game jam as an opportunity to continue working on projects for the library, while programmer Evan Balster was there to work on his Kickstarter-supported music program, Imitone. While this model of a game jam differs from the events’ usual singular focus, it still augurs exciting directions for the future of gaming.

[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-new-modes-of-distrubtion-have-opened-the-playing-field-for-local-developers/#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' >Comments</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="195"/><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>