as an Approach to Extending Computer Game Systems

Walt Scacchi

Institute for Research Center for Computer Games and Virtual Worlds University of California, Irvine http://www.ics.uci.edu/~wscacchi Overview

• Introduction • Software Engineering (SE) of games via software extension • Types of game mods

• Game modding tools and support • Examples of game mods at UCI

Introduction

Modding is a form of end-user software engineering

Modding is a form of learning via practice, self-tutoring, and self-organized projects

Game mods cover customizations, tailorings, and remixes!software extensions!of game embodiments

Modding is to games, like OSS development is to SE

Modding is a leading method for developing or customizing game software, by independent game developers Software extensions used in game modding

Module Addition, update, removal of modules, or restructured module interfaces Plug-in applications/sub-systems Architecture System (re-)configuration Multi-version configurations Software extensions used in game modding

Domain-specific languages (scripting) and software product lines reused game platforms/engines Open source software development (OSSD) common approach for learning how to develop games, game engines, game-based applications “Games” is second largest project trove at SourceForge (Fall 2011)

Types of game mods

User interface (UI) customizations

Game conversions

Machinima

Hacking closed game systems Types of game mods

User interface customizations in-game play character identity appearance properties and behaviors object possessions UI visual design and layout themes and personas dashboard add-ins social media extensions “theorycrafting” databases UI customization – identity, theming, dashboard add-ins in EVE Online Types of game mods

Game conversions repurposing game play mechanics and content to create game variants or alternative game play experiences total conversions that create new games substantially different from the original game repurposing game usage sessions for cinematic storytelling visual documentation of play (history) experiences Total conversion – from first person shooter into semiconductor fabrication and diagnostics training game

FabLab Demo Reel Semiconductor fabrication training: gowning processes

12 Types of game mods

Hacking closed game systems via overcoming security mechanisms opening games to restricted markets can enable game “piracy” and additional revenues Hacking autonomous/electric vehicle games? Hacked arcade game system -- OutRun @ UCI

OutRun: Augmented Reality Driving Game (YouTube) Game modding tools and support

Game engine based software development kits (SDKs) are widespread Unreal Development Kit (UDK) now available as “” Doom and Quake engines now OSS Game content assets are not OSS Dozens of good quality OSS game SDKs available 2D, side-scrolling, WoW-inspired, role-playing game and game modding environment (!)

Aoedipus.net Game modding tools and support

Meta-modding tools also appearing Garry's kit for Half-Life product Meta-modding practices emerging Modding, remixing, repurposing game mods Prototype virtual world for space science games interoperating with NOAA Science on a Sphere systems using Opensim VW platform Conventional Command and Control (C2) facility for mission management

• Overview Modible game-based virtual world for mission management game play studies

• Overview C2 mission management game: situation awareness with uncertain actions and assets by competitors (aka, Texas Hold'em)

• Overview C2 mission management: play testing incremental resource allocation with shifting uncertainty and outcomes

• Overview Payoffs of Game Modding

Modding tools and techniques can substantially increase retail game software sales and industry revenues! Mods, modding, and modding technology are an engine of innovation for independent game developers Conclusions

Game modding demonstrates the practical value of (open source) software extension as a rapid, user-friendly, and low-cost approach to custom game development.

Modding demonstrates the success of end- users learning how to extend software to create custom games or game-based applications. Conclusions

Game modding represents a viable form of end-user software engineering that may be transferable to other domains.

Large-scale studies of OSS may often be examining game software development projects. For further information

Modding as an Open Source Approach to Extending Computer Game Systems, in S. Hissam, B. Russo, M.G. de Mendonca Neto, and F. Kan (Eds.), Open Source Systems: Grounding Research, Proc. 7th. IFIP Intern. Conf. Open Source Systems, 62-74, IFIP ACIT 365, Salvador, Brazil, October 2011; revised version in Intern. J. Open Source Software and Processes (to appear, 2012).

Game-Based Virtual Worlds as Decentralized Virtual Activity Systems, in W.S. Bainbridge (ed.), Online Worlds: Convergence of the Real and the Virtual, Springer, New York, 225-236, 2010.

27 Acknowledgements • Recent collaborators: – Craig Brown, Garnet Hertz, Robert Nideffer, Kari Nies, Alex Szeto and others at the UCI Institute for Software Research – – Eduardo Gamez, Eleanor Wynn, and others at Intel – – UCI Developers Club (students) • • Research funding support (No endorsement implied): – National Science Foundation: Grants #0808783 and #1041918 – Center for the Edge, Naval Postgraduate School, Grant #N00244-10-1- 0064 – Intel – Northrop Grumman Information Systems