November 7th 2015 sees the second iteration of PROCJAM: an online game jam designed to help make procedural content generation more accessible and better understood. Coordinated by researcher Michael Cook, the first day of this online jam hosts a day of talks in London, UK. If you can’t head over to London for the event, the whole afternoon will be live-streamed on YouTube.
To celebrate the second PROCJAM event and to help towards satisfying its mission goals, we contribute this particular piece. We got in touch with a variety of academics, indie game developers and more and asked them to tell us, in just a few sentences, what does PCG mean to you? The responses we received are really interesting and highlight the range of attitudes and perspectives towards this field. You can also learn a little bit more about each of our contributing authors and see how PCG ultimately influences their work.
Tom Betts (Nullpointer)
To me PCG is another name for things I learned as ‘generative art’ or ‘demoscene tricks’, Its a collection of techniques that use algorithms to create interesting content, mechanics or code. I suppose the term PCG is used more regularly when applying these techniques within game design. In my work it is a way to explore the aesthetic possibilities of code.
Exploration is so rewarding. Not just physically wandering around places, but encountering new things for the first time. I always enjoyed that most about videogames – I used to stare at maps in walkthroughs for games I’d never play.
Procedural generation has so many amazing aspects to it, but I think that’s my favourite – the ability to be taken to new places and see new things again and again. When I was a kid I used to dream about exploring virtual worlds forever – but even then I didn’t dream that we’d be using procedural generation to create the kinds of things we do today – everything from the history of fake civilisations to an infinite universe.
Since I started making games myself, I’ve come to appreciate this aspect of procedural generation even more – no matter how many times I test my game, or tweak that one level, or try out a new feature, the game is different and surprising. The feeling of still being able to explore, even through something you helped create yourself, still excites me!
It did not happen today. It did not happen tomorrow. It did not happen in a hundred years, or even in ten hundred. But one day, she was born again: SCHEHERAZADE. And as before, man sat at her feet and listened to her tales.
She tailored her stories for her individual hearers. Whatever they were most interested in – or whatever they most needed to hear – she weaved. Comedy. Tragedy. Ugliness and beauty. The lofty and the lurid. She brought her listeners into mysteries and fantasies; titillated them with horrors and romances; engaged them in epics and farming life.
Her stories travelled forward in time, and backward. They visited countrysides, battlegrounds; cities, huts; carnivals, colonies; schoolrooms, ruins. They plumbed the depths of space and the sea.
And the hearer, more than ever before, became the hero. The hearer participated in these adventures – visited these lands – lived these lives. For SCHEHERAZADE built a dream, and created the grounds of possibility.
But it did not happen today, or in ten million tomorrows. But her reincarnation has begun, and will continue – for she is the sum of all our labours. Our creations are her aspects – and some day, she may be complete.
Designing a procedural content generator is an amazing and unpredictable puzzle. You know roughly what you want, you mix together some maths and guesswork, turn it into some code, and then you let your creation come to life. And… maybe it works. Maybe it’s a mess, and you spend hours tweaking it. Maybe it’s a mess but it’s marvellous and you spend hours playing with it and inventing something new and unexpected.
Procedural content has a high bar to reach. It needs to compare with hand-crafted content but also have lots of variety between instances. So many rules need to go into its creation, with restrictions on what the generator can and cannot create, what’s good and what’s bad. In your mind’s eye you must slot these pieces together and imagine what they look like across an infinity of iterations. It’s mind-blowing!
It’s easy to fail, with content that’s too bland and restricted, or torn apart by bugs that produce spectacular failures. Creating a creator is a frustrating and emotional journey, fraught with challenges, but ultimately with beautiful redemption at the end when the systems slot together and you can marvel at the marvels your creation can create.
I believe that procedural content generation (PCG) goes beyond the content, which is being generated. There is also the audience that is intended to consume the content, the designer that creates the technologies for producing the content, and the technologies themselves. They are deeply intertwined not just through what is visible or the end results (e.g., a generated level), but also in the intentions of the designer (e.g., chosen procedure, employed heuristics, or imposed constraints) and the user’s experience (e.g., enjoyment, perception, preference).
Just as how the technologies are computational representations (models) of the content, I am interested in developing ways to model the values, preferences, and intentions of the designer and the player. This includes analyzing behaviors of both parties, which occur both during the development and consumption of the content While hidden and sometimes being not directly perceivable, these factors are implicitly present in the tangible aspects of PCG (both the generator and the content) and are important to consider in order better understand the reasoning and meaning that goes into PCG.
Chong-U Lim is a Ph. D. Candidate at the Imagination, Computation, and Expression (ICE) Laboratory in the department of Electrical Engineering and Computer Science at MIT. His current research focuses on developing Artificial Intelligence techniques, systems, and applications for studying virtual representations and player behaviors in videogames. While technically virtual, they are capable of reflecting phenomena that occurs in the real world and thus provide a rich, interactive, and compelling medium for better understanding the values, preferences, and phenomena encompassing individuals and society as a whole.
At Hitpoint Games, Kieran and I have been messing around with PCG using real world data for quite a while now, we think it adds something odd and organic to the stuff we make, of course using real time data has it’s drawbacks and unique design challenges! When we made Hashtag Dungeon we looked at PCG using Twitter and the collaborative space that Twitter could become for building and generating dungeons, when we looked at using Wikipedia for another game we quickly realised that often there would be too many lulls in information to provide fun gameplay.PCG is our ticket to making worlds that constantly feel fresh for players, enemies that react and generate differently based on what the players doing and generate more objects, weapons and buildings than we could possibly do by hand. Our next game is going to be heavily reliant on PCG and I’m very much looking forward to sinking my teeth back into it.
As an academic doing research in procedural content generation, I get to spend a lot of time philosophizing about it and building weird experimental systems. It’s a privileged area to work, where I don’t need to worry about advertising or steam’s rating system or any of the myriad other things people who strive to make marketable games need to worry about.
In my job, I’ve been spending a lot of my time lately philosophizing over PCG as a way for us to define the space of objects that we care about generating. What is a level? What is a story? We’re choosing to prioritize certain aspects of the nature of that content (the rhythm in a level, the overarching structure of a story). And we’re choosing to ignore elements as well, because it’s impossible to capture everything in the algorithms and data that make up content generators. Thinking about PCG in these terms has me thinking about new generators I design very differently—what my priorities are, and what my unconscious biases are going into the generator and how I can strive to remove them (or at least acknowledge them).
PCG gives me a creative voice as a programmer, and lets me explore interesting new possibilities for art and design, perhaps because of this phenomenon that the seemingly small decisions we make when creating generators can have serious and unintentional consequences. I love the feeling of hitting the random button and seeing what shows up. Of looking at what it creates and figuring out how it got there. Of being so distracted by my weird little artist-in-a-box that I forget what I was going to do next. For me, PCG is about the simple joy of play.
Procedural content generation is the set of techniques which can finally make real AI indispensable to games, and make completely AI-powered games a reality. The things we call PCG now are trivial and absurdly limited compared to what will come; like flies compared to humans. PCG is the way in which virtual worlds can finally become virtual worlds, the way in which adventures can finally become truly interactive, and the way in which games will be able to recreate themselves to better suit you – or them.
The future of PCG will include games playing themselves to understand themselves and improve themselves. It will be more than you can imagine, and indeed more than I can imagine. But it will require that we break out of old habits in engineering and design, in particular regarding how games are designed. We need to give up the idea of having control over and responsibility for everything that happens in a game. If your mind is so narrow that you want everything under control, your games will be just so narrow. For me, the fight for complexity, emergence and open-endedness – the fight against “controlled experiences” – is deeply personal.
Julian Togelius is an Associate Professor in the Department of Computer Science and Engineering, New York University, USA. He works on all aspects of computational intelligence and games and on selected topics in evolutionary computation and evolutionary reinforcement learning. His current main research directions involve search-based procedural content generation in games, general video game playing, player modeling, and fair and relevant benchmarking of game AI through competitions. He is a past chair of the IEEE CIS Technical Committee on Games, and an associate editor of IEEE Transactions on Computational Intelligence and Games. Togelius holds a BA from Lund University, an MSc from the University of Sussex, and a PhD from the University of Essex. He has previously worked at IDSIA in Lugano and at the IT University of Copenhagen.
To me PCG is about understanding what it means to make games (and content) using a computational lens. Using automated techniques to create pushes us to consider what is easy and what is hard to replicate from the human creative process. Using AI pushes us to see the boundaries of what computers can do and can illuminate what makes human creativity unique and interesting. Ultimately I see PCG as a kind of research process: building things to understand how we build.