Matthew McNaughton
University of Alberta
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Matthew McNaughton.
automated software engineering | 2004
Matthew McNaughton; Maria Cutumisu; Duane Szafron; Jonathan Schaeffer; James Redford; Dominique Parker
Recently, some researchers have argued that generative design patterns (GDPs) can leverage the obvious design re-use that characterizes traditional design patterns into code re-use. This work provides additional evidence that GDPs are both useful and productive. Specifically, the current state-of-the-art in the domain of computer games is to script individual game objects to provide the desired interactions for each game adventure. We use BioWare Corp.s popular Neverwinter Nights computer role-playing game to show how GDPs can be used to generate game scripts. This is a particularly good domain for GDPs, since game designers often have little or no programming skills. We demonstrate our approach using a new GDP tool called ScriptEase.
Science of Computer Programming | 2007
Maria Cutumisu; Curtis Onuczko; Matthew McNaughton; Thomas Roy; Jonathan Schaeffer; Allan Schumacher; Jeff Siegel; Duane Szafron; Kevin Waugh; Mike Carbonaro; Harvey Duff; Stephanie Gillis
The traditional approach to implementing interactions between a player character (PC) and objects in computer games is to write scripts in a procedural scripting language. These scripts are usually so complex that they must be written by a computer programmer rather than by the author of the game story. This interruption in the game story authoring process has two distinct disadvantages: it increases the cost of game production and it introduces a disconnect between the authors intentions and the interactions produced from the programmers written scripts. We introduce a mechanism to solve these problems. We show that game authors (non-programmers) can generate the necessary scripts for implementing meaningful interactions between the PC and game objects using a three-step process. In the first step, the author uses a generative pattern (concept) to create a high-level description of a commonly occurring game scenario. In the second step, the author uses a standard set of adaptation operations to customize the high-level description to the particular circumstances of the story that is being told. In the third step, the author presses a button that automatically generates scripting code from the adapted pattern. We describe the results of three studies in which a combined total of 56 game story authors used this three-step process to construct Neverwinter Nights game stories, using a tool called ScriptEase. We believe that this generative/adaptive process is the key to future game story scripting. More generally, this article advocates the development of adaptive programming as an alternative to current constructive programming techniques, as well as the application of adaptive programming in many domains.
international conference on software engineering | 2006
Maria Cutumisu; Curtis Onuczko; Duane Szafron; Jonathan Schaeffer; Matthew McNaughton; Thomas Roy; Jeff Siegel; Mike Carbonaro
Patterns and pattern catalogs (pattern languages) have been proposed as a mechanism for re-use. Traditionally, patterns have been used to foster design re-use, and generative design patterns have been used to achieve both design and code re-use. In theory, a pattern catalog could be created and used to provide re-usable patterns within a project and across a group of related projects. This idea raises a natural question. How can we measure the effectiveness of a pattern catalog or compare the effectiveness of different pattern catalogs? In this paper, we define four metrics that can be used to measure the effectiveness of pattern catalogs. We illustrate these metrics by applying them to a case study that uses a pattern catalog of generative design patterns to generate scripting code for computer games. The metrics are general enough to assess any pattern catalog, independent of application domain or whether the patterns are generative or descriptive.
ieee international conference on robotics intelligent systems and signal processing | 2003
Matthew McNaughton; Hong Zhang
The small-size league of the RoboCup robot soccer competition requires a machine vision system capable of tracking and locating up to 11 objects in high-resolution color images at video frame rates. The problem is eased by the restriction that all objects are marked with solid color patches. This paper describes a high speed color vision processing system with distortion correction used by Team Canuck of the University of Alberta to compete in RoboCup 2002. We specifically focus on how color classification is performed adaptively and efficiently for real-time robot soccer, using fast look-up tables defined in color subspaces.
automated software engineering | 2004
Matthew McNaughton; Maria Cutumisu; Duane Szafron; Jonathan Schaeffer; James Redford; Dominique Parker
The state-of-the-art in game scripting is to manually script individual game objects that interact in the game. Thousands of non-player characters (NPCs) and props need to be scripted before they play a part in a game adventure. This situation introduces serious concerns about programming effort and reliability. We demonstrate ScriptEase, a tool to facilitate the game scripting process. It is based on generative design patterns for automatic code generation of scripts associated with game objects. ScriptEase is intended for a broad audience, from programmers to game designers and users without programming experience. Game designers can use commonly occurring patterns to generate scripting code without any programming knowledge. This demonstration illustrates the entire process of creating and scripting game props and NPCs.
intelligent technologies for interactive entertainment | 2005
Maria Cutumisu; Duane Szafron; Jonathan Schaeffer; Matthew McNaughton; Thomas Roy; Curtis Onuczko; Mike Carbonaro
Many computer games use custom scripts to control the ambient behaviors of non-player characters (NPCs). Therefore, a story writer must write fragments of computer code for the hundreds or thousands of NPCs in the game world. The challenge is to create entertaining and non-repetitive behaviors for the NPCs without investing substantial programming effort to write custom non-trivial scripts for each NPC. Current computer games have simplistic ambient behaviors for NPCs; it is rare for NPCs to interact with each other. In this paper, we describe how generative behavior patterns can be used to quickly and reliably generate ambient behavior scripts that are believable, entertaining and non-repetitive, even for the more difficult case of interacting NPCs. We demonstrate this approach using BioWares Neverwinter Nights game.
intelligent robots and systems | 2005
Matthew McNaughton; Sean Verret; Andrzej Zadorozny; Hong Zhang
We describe in this paper a novel implementation of the interprocess communication (IPC) technology, called Broker, in support of the development and the operation of a complex robot system. We view each robot system as a collection of processes that need to exchange information, e.g. motion commands and sensory data, in a flexible and convenient fashion, without affecting each others operations in case of a processs scheduled termination or unexpected failure. We argue that the IPC technology provides an ideal framework for this purpose, and we carefully make our design decisions about its implementation based on the needs of robotics applications. Broker is programming language, operating system, and hardware platform independent and has served us well in a RoboCup project and collective robotics experiments, in both simulation and real-world environments.
intelligent technologies for interactive entertainment | 2005
Maria Cutumisu; Duane Szafron; Jonathan Schaeffer; Matthew McNaughton; Thomas Roy; Curtis Onuczko; Mike Carbonaro
Writing manual code to script the behaviors of thousands of non-player characters in a computer role-playing game adventure has a tremendous negative impact on the quality of games and their entertainment level. Many games use shared custom scripts for background characters that produce repetitive and predictable behaviors. Game designers often need help from programmers when designing a game story and this can lead to lost productivity and a distorted design vision. ScriptEase is a tool that enables game designers to use ambient and perceptive patterns to specify complex, non-repetitive entertaining behaviors for interactive characters, without writing code. This demonstration illustrates how entertaining ambient and perceptive behaviors can be easily and reliably inserted into BioWare Corp.s Neverwinter Nights game stories.
IEEE Intelligent Systems | 2006
Maria Cutumisu; Duane Szafron; Jonathan Schaeffer; Matthew McNaughton; Thomas Roy; Curtis Onuczko; Mike Carbonaro
digital games research association conference | 2005
Jonathan Schaeffer; Mike Carbonaro; Duane Szafron; Maria Cutumisu; Matthew McNaughton; Curtis Onuczko; Thomas Roy; Stephanie Gillis; Sabrina Kratchmer