Publications was one of the leading publishers of books
and magazines that featured "type-in" programs for the personal "home" computer user. The printed program is a type of digital artefact that is now largely extinct. In this earlier era, however, they were extremely popular. COMPUTE's works were typically filled with source code for games and applications typically in the BASIC programming language that readers could type in on their own machines. While there were limitations with respect to how much code a single user could be reasonably expected to reproduce and then debug, since it was quite easy to make mistakes this format was successful for a time, and COMPUTE often touted the benefits of the type-in approach. In an anthology of games for Commodore's VIC-20, for example, they made the following claims: [O]ne of the best things about typing in programs yourself is that you can see exactly how another programmer created the effects you want to use in your own games. You may soon find that the best computer game of all is programming games for other people to play! (COMPUTE!'s first book of VIC games, p. 8; emphasis added). Programming is undoubtedly fun for some people; there are likely many game developers out there, at least, that would agree with these statements. But we have to consider the larger context within which this text was situated in order to understand its full impact. As with COMPUTE's other publications, this particular book was produced not for professional software developers, but for personal computer enthusiasts; to make this abundantly clear, COMPUTE! Publications advertised their flagship periodical as "The Leading Magazine Of Home, Educational, And Recreational Computing" right on the front cover. COMPUTE! Publications' products were intended for a wide audience. This emphasis on programming, then, is intriguing; certainly, none of the mass market computer magazines (or websites) that are around today feature type-in games and utilities. Yet in this VIC-20 programming book a work that is, as the title suggests, wholly devoted to gaming there is a heavy emphasis on programming, as the following passage from the foreword emphasizes: [T]o make this book as useful as possible, many of the games are accompanied by explanations of how the program works. Chapters at the beginning and end of the book will also help you learn how to write your own games (COMPUTE!'s first book of VIC games, p. v). The same work also touts the supposed benefits of working with printed code, claiming to the reader that "you can see exactly how the game's creator brought off the effects you like. It will be fairly easy for you to learn techniques that you can use in your own programs" (COMPUTE!'s first book of VIC games, p. v). The actual games that are featured in the book are mentioned briefly, but the clear emphasis is on programming. While the games themselves are described as being "fun", then, it seems clear that the real fun was meant to be had in coding. Examples like this reflect a major difference between the ways in which computer users interacted with their systems in this earlier era as compared to now: programming used to be considered a rather common, everyday practice a practice that was considered to be intrinsically enjoyable, moreover. With some exceptions, coding is now thought of as something of a specialized trade, important to computer scientists and software developers but largely irrelevant for most other users. Devices like the Raspberry Pi are intended to turn the tide back towards coding, but their reach is still somewhat limited. Regardless, important questions still loom: why is it that programming was so popular several decades ago, and why did things change? What lessons could we learn about this earlier era that could be applied to modern computing practices? Can programming be returned to a position of prominence? Is this even a good idea? To address these and similar questions, I propose to conduct a research and development project that will accomplish the following goals: first, I want to demonstrate the importance of digital games as honest and complete expressions of the systems upon which they are developed and executed. Rather than drawing boundaries between digital games and other computer software, then, I will argue that gaming deserves a place of prominence with respect to the study of digital information systems. My second goal is to take this a step further by demonstrating how certain games and gaming genres can actually serve as platforms upon which to build other programs (games or otherwise). This work will build off of the idea, as expressed here by Kitchin and Dodge, that code may be used to express new ontological perspectives: Regardless of the nature of programming, the code created is the manifestation of a system of thought an expression of how the world can be captured, represented, processed, and modeled computationallyProgramming then fundamentally seeks to capture and enact knowledge about the world practices, ideas, measurements, locations, equations, and images in order to augment, mediate, and regulate people's lives (Kitchin & Dodge, 2011, p. 26).
I propose that my dissertation proceed along two related tracks. The first track will involve a historical study, ranging from the 1960s to the early 1980s, in the general area of digital gaming and game programming, but with a specific emphasis on interactive programming systems that is, real-time development environments in which users could build, educate, and manage programs in a specified high-level language. Such programming "workshops", running variants of the BASIC programming language, served essentially as full-fledged operating systems for many of the earliest home computers, and they have a history that goes back even further. The important and influential JOSS system, for example, was developed by the RAND Corporation in the mid-1960s. At the same time, the original BASIC language system developed by Kemeny and Kurtz went online at Dartmouth. At DEC, the FOCAL language was directly inspired by JOSS, while their PDP-BASIC would bring a JOSS/FOCAL-like interface to a BASIC system. Crucially, all of these systems became important and influential platforms for gaming, precisely because of the real-time interactivity they offered. At RAND, JOSS became an ideal system to host and "referee" the elaborate war gaming exercises that were a critical component of the firm's research. At DEC, there was an aggressive push to get their PDP machines into public schools and universities, and the thriving DECUS user group became a hub for the exchange of student and hobbyist programs, including a wide variety of games. It should be noted that virtually all of these games were text-based, requiring the player to type in certain commands and other information as needed, with the results output to a printer or monitor. The typical text- based game, then, behaved quite similarly to the IPSs themselves. With some effort, I believe it is even possible to think about such games as IPSs themselves. In order to frame and organize this research, I plan to apply the concept of the "design world", as developed by Schn and defined as follows: [Design worlds] are environments entered into and inhabited by designers when designing. They contain particular configurations of things, relations and qualities, and they act as holding environments for design knowledge (Schn, 1988, pp.182-183). This definition is rather abstract, which is reflective of Schn's wider interests in learning and pedagogy. I believe, however, that the design world paradigm can be used effectively in the study of programming systems, primarily by providing a means to break such systems down into their constituent pieces. The "things, relations and qualities" of a given system are the product of many years of research in computer science and engineering, are the building blocks used to make games and other programs. The characteristics of the system, then, are reflected in the programs developed within it, and games, I will argue, embody their systems more effectively and more thoroughly than other types of programs. For the second component of my dissertation which I would work on in tandem with my historical research I propose using the same concepts to design, and possibly program, one or more digital design worlds. In keeping with Woolgar's notion of reflexive research, these design worlds would serve as alternate interpretations of my research findings. By engaging with the processes of designing and implementing such systems, moreover, I hope to provide insights into the benefits (and limitations) of the design world approach. My findings could, I believe, also serve as guidelines with respect to future work in this area.
This sort of innovation may seem trivial to us, but the emergence of interactive computing was not an inevitable or "organic" development. Rather, it was a concept that had to be invented to address specific issues. In the case of the RAND Corporation, such a system was used to act as an arbiter in war gaming exercises. War gaming was a major focus of RAND research, and one of their primary concerns was the development of automated rule systems that could respond to user commands and update the game state accordingly. If this all sounds vaguely familiar, it is because virtually all digital war-based strategy games operate on this principle. In fact, many if not most digital games from this era operated on this principle.
Technological innovation is, of course, only one aspect of a wider infrastructure that was being built
of the digital tools, including the programming languages and programming environments that emerged in the 1960s and 1970s within institutions such as MIT, The RAND Corporation, BBN (Bolt, Beranek and Newman), and Xerox PARC.
I will also place a heavy emphasis on digital gaming To address such questions, my proposed dissertation would proceed along two simultaneous tracks. First, I will use the documentary evidence from the period to learn more about the tools used by programmers.
I will argue that these implementations of BASIC were rudimentary digital "design worlds" in which code could be built and executed within the same programming environment. I will also argue that such systems effectively serve users for which programming and play are inextricably bound together. I borrow the term design worlds from the field of architecture, and in particular the work of Schn. A design world, as Schn explains it, a platform for creative work within a well-defined space: These are environments entered into and inhabited by designers when designing. They contain particular configurations of things, relations and qualities, and they act as holding environments for design knowledge (Schn, 1988, pp.182-183). In their fully realized form, then, design worlds are "workshops" that contain artefacts that are useful for a given design problem. Crucially, however, these workshops are developed and refined by the designers themselves. As Schn indicates, "[d]esigners construct their design worlds not only through the shaping of materials but through interlocking processes of perception, cognition and notation" (Schn, 1988, p. 183). Design world construction is therefore a reflexive process: designers may continue to develop their design worlds as they reflect on their work.
Such a model stands in contrast to contemporary programming practices, in which code is created in highly-specialized development environments, and compiled and executed in wholly separate spaces. This is not meant to be a critical comparison IDEs and built-in compilers are useful and effective. But a
How can we bring this back?
While the actual games contained in the text are mentioned briefly, The real fun, it would seem, is in personal programming.
Beyond even the passage cited above, the introduction encourages users to develop their own games.
This was at a time, moreover, when programming was a much more essential element of home computing. Advantages of recreating this? Served as an ecosystem for gaming Program and play in same ecosystem
This argument is somewhat perplexing from a contemporary perspective. How could programming be thought of as a game? We tend to think of programming as a problem-solving tool, or as a means to an end.
For my dissertation, I propose to explore these questions, and use any insights I gain to inform a larger discussion on what I consider to be artificial barriers between programmers and users, and games and "non-games", for lack of a better term. I anticipate, moreover, that this work will allow me to explore another potentially false dichotomy with respect to data and code. and, critically, code and data.
[older game theories] While these theories and concepts have proven to be exceedingly effective as foundations for research into digital games, they are also powerful ontological devices that inform research practices. Just by using the term "game", in fact, we have already imposed a specific ideological perspective upon our materials; as Suchman puts it, "systems of categorization are ordering devices, used to organize the persons, settings, events or activities by whom they are employed or to which they refer" (Suchman, 1993, p. 182). In this particular case, we are creating a categorical dichotomy in which most digital artefacts can ostensibly be classified as either "games" or "non-games". There are, of course, a diversity of perspectives with respect to how we should define games, and what criteria an artefact much meet in order to be considered as a game. There are also specific genres for example, educational games for which we might claim certain artefacts serve both game-related and non-game related purposes. But these are special cases; we would never, for example, try to classify a title in the Grand Theft Auto series as a non-game, nor would we count Microsoft Word as a game. In all of these examples, moreover, we are still employing the game/non-game paradigm, if only to conclude that certain titles are not so easy to classify. Consider the following alternative: rather than worrying about what is or is not a game, what if we found a more general category in which we included all or at least most digital artefacts. Such a scheme could, perhaps, adopt the notion of "technology as text" as developed by Grint and Woolgar. Similar to the notion of the "cultural text", in which the notion of what constitutes a text is expanded as follows: [W]henever we produce an interpretation of something's meaning a book, television program, film, magazine, T-shirt or kilt, piece of furniture or ornament we treat it as a text. A text is something that we make meaning from (McKee, 2003, p. 4). For Grint and Woolgar, the notion of technology as text allows for a new perspective on the relationships between technologies, developers; it "sets the frame for an examination of the processes of construction (writing) and use (reading) of the machine" (Grint & Woolgar, 1997, p. 70). It is these processes that they focus on in much of their work, to the point where they receive criticism for the seemingly passive role they accord the user/reader. While it is true that the idea of "configuring the user" leans in this direction, they maintain that user readings are "interpretatively flexible," though only within certain boundaries. Taking this a step further, they argue that users write as much as they read, in that they generate new interpretations of a given technology in question based on their own experiences with it.
What I propose here, then, is a research project in which I treat digital gaming as a locus for powerful forms of experimentation and innovation with respect to the generation and presentation of novel texts. By this I mean that the elements that go into the production of specific types of games/texts may be delineated and extracted, and then repurposed for the creation of new texts. Such elements could include routines that, for example, reproduce certain aspects of mechanical physics, or control the strategic decisions made by opponent players in a strategy game. Or we could, if possible, break such routines up into their constituent pieces, so that we are dealing with such high-level programming constructs as loops and if-then clauses. The depth to which we should explore a given game varies depends on a number of outside factors, though access is a key issue. The end goal, for the purposes of this project, is the system of elements that provides the most effective toolkit for game/text reconstruction and redesign. Such systems constitute what Schn calls "design worlds." The design world paradigm will play a critical role in this study, acting as a structural foundation that links game/text elements to specific design practices.
Associated with code Design world
I will do this by focusing in on "text-based" games, which are games that rely on type-in commands from players, and output spooling, line-by-line text via a printer or computer screen.
I will focus largely on game design and development, but this by no means is meant to diminish the contributions of players in the reinterpretation process. I will, in fact, emphasize areas in which design and play are not mutually exclusive, and I will then argue that players should be provided with tools that allow them to more easily reconfigure the games they play. Many games do in fact offer such tools, but their scope is typically limited. I believe that it is more useful to focus in on areas and eras in the history of digital computing in which users were provided with tools that allowed them to create their own games, and which actually blurred the lines between player and developer. I am thinking here specifically of the period in which the notion of "conversational computing" emerged, followed soon after by the rise of personal "home" computers and hobbyist programmers. Historically, this would run rough from the early 1960s to the early 1980s, but with different areas of focus within more specific timeframes.
What I hope to achieve with this research is to develop methodological models by which we may study digital game artefacts as texts, with an emphasis on tools and practices in which the roles of player and programmer are closely linked.
develop digital game "ecosystems" that is, environments in which code in various stages of development and execution may coexist.
Such a system resembles in many ways the Smalltalk programming environment, though there are also significant differences.
Idea of exploring through code
Smalltalk
Features such as game level editors which may be found in a wide variety of titles and genres go in this direction, but are typically limited in their scope. The digital artefacts that users create with these tools are, for the most part, inextricably tied to the games within which they are embedded. That is not to say that
In a separate article, moreover, Woolgar invokes a reflexive, poststructuralist perspective in that he argues that users write as they read. While technological artefacts generally encourage users to adopt specific readings, individual users ultimately decide
They also emphasize the notion that readers are also active "writers"
In another work, Woolgar addresses such criticism by
Hobbyist programming area
As Suchman, citing the research of Sacks, indicates, "systems of categorization are ordering devices, used to organize the persons, settings, events or activities by whom they are employed or to which they refer.
Categories politics
COMPUTE!'s first book of VIC games. (1983). Greensboro, NC: COMPUTE! Publications.
McGee, A. (2003). Textual analysis: a beginner's guide. London: SAGE Publications. Schn, D. A. (1988). Designing: rules, types and words. Design Studies, 9(3), 181-190.