Creative Code Generation for Interactive Media

Lead Research Organisation: Goldsmiths University of London


Computational Creativity research is a branch of Artificial Intelligence where we investigate ways in which software can enhance human creativity, as well as ways in which software can be autonomously creative. Researchers working in this field often build software that creates artefacts of some sort - from paintings to poems, soup recipes to sonatas. In more recent times, our attention has turned to higher level issues, such as how software can evaluate its work, show intentionality and imagination, and how it can frame its own work to add value.

Writing software is a difficult and creative skill which can only be performed by people after much training. As such, while it would seem a natural fit, there has been no serious study of automatic program generation from a Computational Creativity perspective. With this project, we will address this shortcoming, by applying the approaches and methodologies of more than a decade of work on simulating creative behaviour to the problem of automatically generating and testing interactive, multi-media software artefacts.

We will examine ways in which we can get software to write programs, and how we can make this process as creative possible. We will test our ideas by building a new system that can write interactive media programs (IMPs), ranging from videogames to first-person-perspective experiential art installations. This will be based on our successful existing co-operative co-evolution software which has generated well-received games in a fully autonomous way, but will hugely extend its creative abilities. In particular, the new system will plan, write and edit new program code directly, testing and evaluating what it writes before adding it to whatever IMP it is currently trying to create. This code might describe a new object, a new control or scoring mechanism, or how to produce a new musical or visual effect.

We will also look at how creative code generators like our IMP designer can create software that isn't quite finished. These unfinished IMPs will be able to rewrite their own code as people interact with them, to change themselves as they are used. They will self-modify not only in reaction to user responses, but also in reaction to external factors in the world, such as international news or social network trends. We hope to show that these programs are perceived as more surprising, inventive and novel, due to their ever-changing nature.

Importantly, we'll be trying to make automated code generation a creative process. In Computational Creativity research, the software we build does not just generate things - it can make decisions about how to generate something, and communicate why it made those decisions. We will look at how our IMP designer can decide whether something it has made is new and interesting or not, and give it ways to communicate with programmers and users, to tell them about what it has created. We will test our approaches via a crowd sourcing methodology, whereby the feedback from thousands of people interacting with the IMPs will be analysed and subjected to machine learning exercises in order to determine the truth of certain hypotheses, and to produce partial audience models to be used to improve the quality of the output.

We believe that this project will have much impact on Computational Creativity research and Artificial Intelligence in general, as it will bring to the fore new issues in the field, most notably questions around software writing software, the automatic production of "unfinished" artefacts which self-modify and the spectrum from entertainment to thought provocation in interactive media. Moreover, we believe that this project will have much impact in the broader arenas of the public perception of computing and the creative industries, as it will highlight in a very tangible way - the automatic generation of games and artworks - the massive potential for computers to become our creative partners in the future.

Planned Impact

Software is at the heart of the Digital Economy, and nowhere is that more evident than in the production and consumption of interactive media. The UK's videogame industry is the largest in Europe, contributing over £2.9bn to the UK economy annually, and according to a survey by the Entertainment Research Association, consumption of interactive media and games eclipses both the film and music industries in the UK. Both the film and the games industry already rely on software to generate static content such as visual and audio assets. The use of creative software to make novel contributions to a cultural artefact such as a game through code generation would increase the value of those artefacts significantly. Our research programme will both help foster long-term interest in code generation research within the industry, and provide new software and publications that form foundational body of work for the industry to begin using straight away.

One specific instance where this is likely to supply a large economic and knowledge benefit is within the small-scale independent game development community, where the presence of tools that can creatively engage in a game design process would greatly increase output and commercial success among its members. The independent games community within the UK is one of the best and most prolific in the world. As major publishers and developers struggle in the economic climate, and with independent game developers finding it difficult to qualify for recently-announced tax breaks, cutting-edge research is a meaningful way in which these major contributors to the economy can be bolstered within the UK. We have budgeted to consult with an independent games designer in order to ensure that our research results do exactly that.

Taking a broader view, our work has the potential to impact on the creative expressivity of the general populace, by investigating techniques that can drive a new generation of assistive game design tools. As ubiquitous computing continues to alter the digital landscape and the population becomes increasingly connected through social networks, more people turn to technology as a means to express themselves. However, the technical barrier to entry for expression through digital media such as games and interactive artworks is still very high, in spite of some notable attempts to provide simple design tools. The current state of the art for such tools suffers from two weaknesses - a dependence on programming, and a lack of intelligent assistance that can provide helpful contributions to the creative process. In her book, Rise Of The Videogame Zinesters, prominent industry critic and game designer Anna Anthropy asks us to "imagine a future where creating a game is as easy as writing a story or drawing a picture". We believe that developing autonomous and semi-autonomous creative software, as per our proposed research programme has the scope and impact to help make this imagined future a reality.

Computational Creativity projects tend to attract attention from journalists, as their audiences are interested in non-standard technological futures, such as those where we share our creative universe with computers. In the past few years, we have taken much advantage of such interest to spread word of our research. The general public will continue to benefit from our ongoing efforts to disseminate our research outcomes as widely as possible. We will distribute high-quality games and interactive media, present summaries of our research at an accessible level through our project websites and blogs, and continue to spread awareness of Computational Creativity and wider topics in computer science by engaging with print and broadcast journalists on a regular basis when appropriate. In this way, we hope to increase public perception of the potential for creativity in software, and to make the idea of automated creative collaborators more accessible across society.