The Persistence of Code in Game Engine Culture
eBook - ePub

The Persistence of Code in Game Engine Culture

  1. 200 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

The Persistence of Code in Game Engine Culture

About this book

With its unique focus on video game engines, the data-driven architectures of game development and play, this innovative textbook examines the impact of software on everyday life and explores the rise of engine-driven culture.

Through a series of case studies, Eric Freedman lays out a clear methodology for studying the game development pipeline, and uses the video game engine as a pathway for media scholars and practitioners to navigate the complex terrain of software practice. Examining several distinct software ecosystems that include the proprietary efforts of Amazon, Apple, Capcom, Epic Games and Unity Technologies, and the unique ways that game engines are used in non-game industries, Freedman illustrates why engines matter.

The studies bind together designers and players, speak to the labors of the game industry, value the work of both global and regional developers, and establish critical connection points between software and society. Freedman has crafted a much-needed entry point for students new to code, and a research resource for scholars and teachers working in media industries, game development and new media.

Trusted by 375,005 students

Access to over 1.5 million titles for a fair monthly price.

Study more efficiently using our study tools.

Information

Publisher
Routledge
Year
2020
eBook ISBN
9780429784408
1

GAME ENGINE CULTURE

This book project traces the industrial development, migrations and ideological inflections of video game engines. Providing one point of analysis in the game development pipeline, the game engine, as an object of critical inquiry, can be used to illustrate the synthetic power of computing and the instrumentality of code in everyday life. Game engines have promoted a new cultural economy for software production; while the formative impulse for the separation of engine and assets in the early 1990s was to cultivate communities of collaborative production (working with common source code structures), open source software has yielded to a business model that privileges fixed forms of interaction with stricter technological and relational constraints. This project explores the bounded relations between technologies and their social contexts, grounding its social impact statements in a focused intellectual history of computing.
What is a game engine? In the most reductive terms, the engine is a single piece of software that produces common functionality for multiple games; a game engine includes a tool suite or content editor (for game creation and object-oriented asset manipulation) and a runtime component that is active when a game is played. As a software abstraction of a graphics processing unit, engines are development tools for interactive digital content creation, and code frameworks that determine and control the attributes of the field of play across platforms and devices. The birth of engines in the early 1990s fostered a split between core functionalities (components such as the rendering engine, the physics engine, sound, scripting and artificial intelligence) and game-specific content, building on the already extant separation of source code from assets and resources. This split also fostered a division of labor (one of socio-economic consequence) between programmers creating systems and artists filling in the parameters of those systems, with the most segmented organizational subdivisions in triple-A (large in scale and budget) development. This industrial division also shaped the field of game studies, placing more focused attention on visual analysis, ignoring certain material relations to study narrative, genre, seriality, and other literary and cinematic conceits.
Game engines manage the computational tasks that are central to many digital media production pipelines, and their value lies in the rapid prototyping and development of real-time interactive content. Engine development by its very nature has led to the widely accepted practice of separating core software components (for example, rendering, collision detection and audio systems), from game art (commonly referred to as assets) and the rules that govern play, though the line between the game and the engine may shift within any one development studio and across a studio’s intellectual properties (Gregory, 2009, 11). This developmental practice has also led to commonly held divisions of labor in the game development pipeline; in large team environments, distinctions are often drawn between designers (responsible for the governing play concept, including gameplay rules and structures), artists, programmers, level designers, as well as other discrete talent classifications (for example, sound engineers).
The engine is a data-driven architecture, a software framework, while a game contains hard-coded logic or special-case code to render specific types of assets. The game engine can best be understood as a foundation, though the engine itself can be subdivided between runtime components (the subsystems required when a game is executed) and a tool suite (for digital content creation) that suggest even more deeply bifurcated fields of production and analysis. The engine lays down the framework for both game development and gameplay. Engines contain a large number of subsystems that govern game logic, memory management, networking, rendering (generating animated graphics), audio, physics and artificial intelligence; and their ease of use is both a product of their programming language and scripting (how they are written and how gameplay is structured and customized, with scripting as a higher-level construct to call out underlying code functions) and the simplicity of their editorial graphical user interface. As a software foundation, most engines are iterative; they can be used as a base for multiple games without undergoing extensive modification to their programming, and their versioning is commonly limited only by major changes to a hardware platform. Whether they are game consoles or mobile devices, most engines encounter a limit to their reusability as processing environments move forward. By knowing the engine and the unceremonious and decidedly non-visual machinations and industrial labors of software, we may untangle the multiple paradigms of game studies and find the roots of those affordances that are commonly (mis)understood as characteristics of play—when, in fact, everything matters in the game development pipeline.
For those unfamiliar with game engines and uncertain as to why they matter, this book turns to a number of case studies drawn from game culture, consumer culture and contemporary media industries that reveal exactly how game engine logic is impacting everyday life; game engines are embedded in the infrastructure (and the business models) of those media and information industries that depend on algorithmic exactness. Amazon, Apple, Capcom, Epic Games and Unity Technologies are all building their own engine-dependent software ecosystems; engines are transforming the commercial landscape of film and television, and becoming central to new media economies and new experiences in augmented and virtual reality. Game engines are responsible for running most simulated environments, and while they may be complexly layered software development tools, composed of multiple subsystems, many have become so visually oriented that they allow content developers to avoid the complexities of code. Game engines are the building blocks for efficient real-time visualization; and they signal quite forcefully the colonizing influence of programming, of software on digital and physical experience. Game engines are powering our visual futures, and engine developers are rapidly iterating their products to tackle new markets, where data and visuality continue to converge. A number of key technology shareholders are looking to dominate the field of engine-driven social experience, and are capitalizing aggressively on the common language borne from the video game industry. Game engines are part of the larger field of code; they can be understood as entities where code has coalesced. Given that engines undergird contemporary media and information systems, it is important that we make them more visible; because technology is so central to our social systems, shaping and organizing daily life, declaring our identities, interpreting and answering our queries, and impacting how we see and know the world around us, it is important that we understand what engines and similar code objects are doing.
The difficulty of holding on to mechanics and aesthetics is compounded by the semantic and practiced openness of game engines as well as their importance not only to game development but also to the field of play. The game engine, as a complex software structure, is comprised of a number of substructures. We might begin by separating the core engine (a collection of product-facing tools used to compile games to be executed on target platforms) from any number of associated user-facing tools. The core layer of the engine handles low-level base systems that typically include rendering, collision detection and response, physics and character animation, which are interlinked to gameplay systems that include scripting, artificial intelligence, player mechanics, cameras and sound, and data handling systems that include networking, streaming, memory management, file reading and threading; this is an oversimplification of game engine architecture, as many game engine developers also rely on engine abstraction to simplify hardware and software platform dependencies, writing an abstraction layer that sits on top of the specific operating system code. These system layers are usually wrapped by user-facing development tools or a more robust integrated development environment populated with common editor windows.
This study is focused primarily on 3D (three-dimensional) game engines (engines used to generate real-time interactive 3D animated content), and is based on a particular conception of the game engine as a software framework that contains both a core engine (a more static, “hardwired” operating system—the engine’s root persona) and a user interface system that offers the necessary plasticity associated with game design and development—the production of a unique intellectual property. Within this field, there are both general-purpose game engines suitable for building a broad range of game genres, and special-purpose game engines, often designed by individual studios—proprietary software builds targeted at specific titles, genres, aesthetics, game mechanics or industry-defined implementations. Game engines, as system-dependent tools, often function alongside a number of middleware offerings. Most game developers depend on more than one product, and follow a decision-tree that begins with selecting a game engine, then choosing additional software supports (middleware) that might include a multiplayer solution (to support networked play), a backend solution (for hosting), an analytics platform, an advertising platform, and a product to manage in-game purchases. The developer is also dependent on a publisher. There are multiple opportunities for specialized engine-based middleware development and integration along the game production pipeline, as most game engine developers use middleware to satisfy certain conditions of their engines; and while even the most comprehensive game engines can accommodate middleware, several of the key engine manufacturers have built-out ecosystems of convenience, with tightly-integrated interrelated middleware components, and have strategically positioned themselves to drive the game development market.
The video game industry is not simply a sum total of its software enterprises and its serialized intellectual properties; it is also an arena of hardware and software development and licensing. Brand names are attached not only to game franchises, but also to the engines that govern the physics-based properties of characters and, by extension, those players who read and engage with them. With most engines, success is measured by the naturalness of the relations across engine, asset, controller, character and player—relations that are circumscribed by the historical, technical and material conventions of the game industry. While a game engine may be known in developer and player communities by its distinct mechanics, abilities and features, in most video games the dynamics of play and the constellation of transactional engagements with the game world work to conceal the engine’s core mathematical logic; and the signature look of a developer or studio commonly masks any particular aesthetics that might otherwise be associated with the engine.
With its focus on video game engines, this manuscript proposes how an analysis of code space, and the engine-based labors and technologies that undergird the objects of contemporary screen culture, can strengthen more generalized discussions of the impact of code on everyday life. Understanding that a game engine is a particular type of code object, the goal of this manuscript is to help media scholars and practitioners to “locate” software; given its relative immateriality, software is a rather challenging “non-object” that is nonetheless central to contemporary cultural experience. Software is not simply a tool, it is also a structuring transaction, actuated with little debate or understanding, and difficult to tackle alongside an informed textual or industrial analysis of any media form; yet software is the medium and the context of convergence culture. The goal is to unravel the material outcomes of code through a detailed examination of video game engines, and by examining several case studies that make clear their pervasive use across a broad range of industries.
We live in a software culture, which we can begin to approximate first by gathering together our everyday software and then expanding our scope outward to consider the toolsets that impact our lives, even if they are beyond our reach: search engines, social media systems, mapping applications and global positioning systems (GPS), blogging platforms, instant messaging clients, online shopping portals and their offline warehouses, assemblies and distribution systems, aeronautical and military systems, platforms that allow the writing of new software (including APIs—application programming interfaces), and game engines. We may differentiate between software programs (applications) and software environments (application contexts—for example, within an operating system, as part of a database system, or framed by a suite of development tools), between common use software that connects industries and user groups (technologically integrated market sectors), and software deployed in micro-industrial contexts (such as Amazon’s inventory management system, and middleware deployed in peer-to-peer architectures for systems integration). Collectively, these reference points produce a sense of computational ubiquity that is lived and material, and may be broadly framed as part of increasingly complex information space, of context-aware, data-rich connections between software and the physical world. Game engines are part of the coded landscape; they can be integrated into a company’s backend systems and used to model touch screen experiences, set to work for previsualization in live action filmmaking, and woven into the data flows of architectural visualization; extending the parameters of real-time 3D rendering beyond video games, their graphical capabilities can be leveraged in both animation and simulation.
There have been a number of intellectual efforts to secure the relevancy of code and its associated artifacts. Lev Manovich (2013) has taken an ontological approach, outlining the intrinsic properties of software objects. Lawrence Lessig (1999) focused on the commodity value of code. Theorists such as Adrian Mackenzie (2006) have examined the machinations of labor (and the production of identity and subcultural formations) associated with the work of hackers, programmers, and those bound up in the consumption of their knowledge capital. Each of these frameworks considers code at a particular juncture, rather than holding on to the complex interactions of code; code operates along a continuum, as a site of negotiations involving commodity production, organizational life, technoscientific knowledge and industrially-aligned geopolitical territorialization. Code carries power relations, distributes agency, shapes communication, contours personhood and organizes everyday life; yet it readily disappears behind functional surfaces and their more immediate gratifications. David Golumbia (2009) suggests that while computation occupies a privileged place in critical discourse—as a popular metaphor for illustrating the intersectionality of technology and everyday life—the precise role of computation on human patterns of interaction and belief systems is often underanalyzed. While the rhetoric associated with computation often points to a radical historical rupture (from analog to digital, and toward new organizing principles), I argue that the rise of computation follows other cultural flows—a network of changes in public discourse, in our institutions, in corporations, and in governance, as well as in cultural expression. Golumbia notes, “Too often, computers aid institutions in centralizing, demarcating, and concentrating power” (4). One of my goals is to illustrate those power relations, and to do so requires moving beyond a conversation about the broad strokes of computation; instead, we need to look more deeply at computation in context, and the shifting alignment of the functionalities of physical computers (and their respective languages) with the ideologies of computationalism (a state-based, mechanistic view of cognition—a computational theory of mind).
To further the fields of media studies and game studies, this manuscript considers the manner in which the engine, code and 3D design, purposefully bound together in the game production pipeline, introduce operational limits that link those correspondences (between computation and cognition, as part of the industrial labors and efficiencies of game development). For developers, game engines present a necessary mechanical order, but they also facilitate rapid development and cross-platform deployment. Game engines make the process of development more economical. This presents a trade-off between order and possibility that organizes the field of play and establishes the player’s relative freedom. The writing of an engine requires that larger development teams work through the idiosyncratic approaches (to writing code) of individual programmers to arrive at a common codebase. The proprietary game engine is illusive; beyond the editor environment, it is pure code (though some engine editors feature integrated visual scripting tools to foster collaboration between artists, designers and programmers). The engine provides the syntax to allow the insertion of an infinite variety of assets that may perform in the same way. The engine controls the soft and hard physics, determines the relative utility of exploration, and emits the signals of agency. The engine determines the relative impact (and realness) of our (avatar’s) presence in the world we inhabit, and the general push in engine development, asset creation and game mechanics is toward realism in effect and affect. The engine produces the relative openness of the game universe.
Game demos and trailers may reveal or conceal the mechanics of the engine itself—celebrating the attributes of interaction and occasionally showcasing machine-based physics, or illustrating the narrative impulse or the signposts of agency. The core technologies of the engine drive embodiment; they are the locus where static and dynamic elements are defined and world chunks are delimited. By knowing the codebase of the engine, we come closer to understanding the relative mutability and stasis associated with software, and we are pushed to reconsider traditional studies of new media that treat internal data structures as static formalizations of attributes that can simply be read (Mackenzie, 2006).
As they are software “objects,” video game engines may be considered within the purview of software studies—an interdisciplinary field that has emerged since around 2006 (with the gathering of the Software Studies Workshop in Rotterdam) as a creative and critical approach to the theories and practices of computing—to understand the core yet underexamined role of software in both culture and society. Software can shape subjectivity, social agency, politics and aesthetics; and it is produced, activated, theorized and reinscribed by computer scientists, engineers, hackers, consumers, artists, technologists, philosophers, entrepreneurs and industrialists. The limits of participatory culture, where tech-savvy consumers are also empowered producers, are tethered to the relative openness of coded architectures; as software applications become more complex, their scripts become more specialized and inevitably de-democratized.
Software studies has continued to gain traction within educational circles as core curricula have opened up to include information and computational literacy (and liberal arts fields have expanded to embrace the digital humanities), and beyond the academy as the labor market has revived skills-based initiatives in high-tech fields including software programming, mobile application development, data analysis and user experience design. These two impulses have foregrounded to varying degrees the material layer of software as a matter of language and engineering, and its ideological layer as an instrumental part of social formations.
Software is at the center of the global economy, culture, social life and, increasingly, politics; it lies at the heart of various institutional operations that need control mechanisms, data management and assessment tools, from social service agencies to hospitals to universities to scientific research labs, corporate retailers, and municipalities (which deploy a number of digital tools for mapping, data visualization, data-informed decision-making and large-scale infrastructure projects). Software undergirds contemporary systems of representation, communication, organization and interaction; software is the substrate and context of media. Every software program has distinct architectures of coding, scripting and programming that govern basic linguistic processes, the specificity of contextual actions, and the implications of device control. We may understand the impact of software on material culture (software is not simply a metaphor), but what methodology do we use to scrutinize the immaterial layer of code?
Game engines have become integral to our information economy, and are central agents in a number of often interrelated media and media-dependent development pipelines. They are a part of broader industrial arrangements that depend on the organizing power of code, though they are most often directly associated with video games. Game engines are central to the production of meaning in games and other engine-driven experiences and software-driven objects; and as such, one of my goals is to introduce the design process as a rich textual field that can work comfortably alongside more traditional textual analysis. By introducing process, my hope is to close one of the gaps that exists in critical game studies—the separation of production from analysis—and to bridge the divide between the equally important work of game producers and theorists. To do so, I am drawing attention to a pipeline model and interrogating creative labor at multiple points in the development cycle, as a way to see the evolving ideological imperatives and complexities of code—to understand code as a process. By introducing design as a process into game studies, we can more properly locate the relevant discursive tensions that emerge as game developers negotiate ...

Table of contents

  1. Cover
  2. Half Title
  3. Endorsements
  4. Title Page
  5. Copyright Page
  6. Table of Contents
  7. List of Figures
  8. Acknowledgments
  9. 1. Game Engine Culture
  10. 2. The Mechanics of Play: Situating Game Development
  11. 3. Resident Racist: Embodiment and Game Engine Design
  12. 4. New Media Ecosystems: Amazon and the Advancing Game Economy
  13. 5. Industries at Play: Materiality, Mixed Reality and Mediated Environments
  14. 6. Game Engine Architecture: Visualizing Space and Place
  15. 7. The Little Engine That Could: Independent Developers and the Global Games Market
  16. 8. Queering the Field: Beyond Binary Engine Choices
  17. Bibliography
  18. Index

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.5M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1.5 million books across 990+ topics, we’ve got you covered! Learn about our mission
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access The Persistence of Code in Game Engine Culture by Eric Freedman in PDF and/or ePUB format, as well as other popular books in Social Sciences & Computer Graphics. We have over 1.5 million books available in our catalogue for you to explore.