The third part in this series on the best GDC talks is all about the art and science of level design. Originally I’d intended these talks to be included in the previous entry on game design, but as I was putting that list together I realised over half of talks I’d chosen were actually about level design, so the subject really deserved it’s own post.
Level design and game design are very much two sides of the same coin, with levels a way of creating meaningful structures from the rules and systems defined by the design. While it’s certainly possible for games to exist without distinct levels (say Chess or Football), most modern digital games are clearly designed to be explored through a range of designer-made scenarios, whether it’s the complex arangement of ledges, hazards and pickups in a platformer, the sweeping corners of an arcade racer, or the subtle environmental puzzles of a stealth adventure, levels provide a way for players to explore a game’s design.
In the second part of this series on the best talks from the GDC Vault, I’m going to focus on game design. While there’s no way that such a short list can cover everything in the realm of game design, I’ve tried to select a mixture of talks that reflects the variety of the subject, by approaching it from many different angles. There’s a theoretical overview of open ended experiential games, a cautionary tale of hidden design complexity and a range of design retrospectives on everything from indie cult classics to mainstream mobile hits. Each of these talks offer valuable insight into the creative process of game design, documenting many individual approaches to the topic and showcasing the methods they use to realise design ideas throughout the development process.
As varied as they are, all of these talks share a few common themes. They show how the most creative and successful ideas are those that challenge conventional wisdom and seek to innovate by adopting a fresh perspective. They also underline just how important a good development process can be for a game’s success. A well managed process can support countless rounds of iteration, exploration and refinement, providing game designers with the space to explore their ideas and the tools to think critically about their work.
Recently I’ve been trying to learn a bit more about game design theory and technical best practices. While there are lots of great books and articles to read, what I found most interesting were the talks and presentations taken from the yearly Game Developers Conference. I’ve never been to GDC myself, but the wealth of content available in their archives is pretty amazing, covering all aspects of game development, from programming to art, design, business and historical retrospectives. This short series of posts aims to highlight some of my favourite talks from the GDC Vault, focussing on the areas of game technology, design and history.
For the first part of this series I decided to focus on games technology, but I quickly realised that it’s actually quite difficult to find great technical presentations that that really stand the test of time. While focussing on the details of a cutting edge technical implementation or technique can be useful at the time, within a few years, that same content can date considerably. That being the case, my choices for the best technical talks includes sessions that are about more general concerns: unique approaches to problem solving, best practices and tools development.
Each of these talks has something valuable to say about the technical process of game development, and each provides a great deal of inspiration to explore more creative uses of games technology.
It’s amazing to think 6 years have passed since I last posted anything on this blog, that’s a really long time, so much has changed in the digital development space! Back in 2010, I was still working as a web developer at a digital agency, then I got hired as a games programmer at Preloaded. Over time, my focus moved from Flash to Unity, as the studio started to explore 3D game development and mobile platforms. I guess it’s a fairly common story, with the gradual decline of Flash, a lot of people who were using the platform have moved on to other things like WebGL or Unity, and started making apps and games.
So with all that change, the past few years have just flown by, and I’ve not had much time to write. In fact, while working at Preloaded, I spent most of my free time commuting back and forth to London, but it was fun and definitely worth it. Preloaded was such an interesting and creative place to work, an applied games studio specialising in experiences that educate and inform players, making games with real purpose.
Then, after more than 5 years at the studio, I left, and now after a bit of a break from all things coding, I’ve got some free time again, so I thought I’d post a few new things. While I’m hoping to get back into tutorials and demos in the future, I thought I’d start by just sharing some of the best game development resources I’ve found recently.
Space Runner Unity Demo - Click To Play
This demo is my first real attempt at making something in proper 3D using Unity and follows on from the 2D Asteroids style game I made back in January. As with that earlier demo, I used C# to write all the main game scripts, while the graphics and sound effects are from downloads available from the Unity Resources section of the Unity Technologies website.
My aim was to make something reminiscent of classic on rails shooters like Starfox, Afterburner, Rez and the Panzer Dragoon series. I spent quite a while looking at those games and trying to mimic the controls and camera behavior for this demo, and while it’s clearly not a patch on those games, I guess there are a few similarities in places. If you would like to play the demo please click the image above.
Unity Astrospace Demo - Click to Play
This demo is my first project in Unity, and is my take on the Atari classic Asteroids. There’s a lot to learn when you first start out using Unity, so something simple, well known and in 2D seemed a good place to begin. If you’d like to play the demo, please click the image above.
There’s been a lot of talk in the Flash community lately about Unity and the way it is transforming 3D on the web. Having read a lot about it, played a few demos and seen that Unity Indie is now available for free, I just had to take a closer look. So what follows are my first impressions of the game engine and development environment, a quick look at some of the best Unity projects out there at the moment, and an overview of the resources available to new developers, especially those like me, who are from an ActionScript background.
From Flash to Unity
Working with Unity is a lot like developing in the Flash IDE, in fact there are so many similarities that as a Flash developer it’s very easy to understand the basics. Lots of comparisons have been drawn between the basic building blocks in both environments: the Unity Project Panel is just like the Library in Flash, the Hierarchy is your Timeline, the Unity GameObject is a bit like the base DisplayObject in Flash, while Prefabs can be instantiated at runtime just like Linked MovieClips, even the default scripting language looks very familiar.
What quickly becomes apparent though, is that aside from the obvious performance advantage that Unity brings to 3D graphics, this is also an engine that was built mainly for making games with rather than a platform for everything from 2D vector animations to video playback. To make a game in Flash – even with something as advanced as the PushButtonEngine – is still a major piece of work, with Unity everything is there at your fingertips: 3D renderer, shaders, particle effects, a physics engine, standardized player input, an optimized game loop, sound management… the list goes on. All of this means that you can focus on creating the actual game itself, rather than trying to build an engine from scratch or spend ages working out how to combine some existing code libraries or frameworks to make a game in Flash.