Research & Development
July 07, 2010

Procedural Content Generation in RCF2

Posted by Ryan Smith, Gameplay Programmer
Procedurally generated content has the potential to add interesting, replayable content to our games while avoiding spiraling development costs. Here is a presentation from Gameplay Programmer Chaz Pratt about his research into procedurally generating arena challenges for RCF2. Chaz describes his method for exposing procedural generation through our Lua scripting system, as well as the challenges he encountered trying to integrate procedural content into the game engine. Although this system was not used in the final game, it was a worthwhile investigation into a promising approach to content creation.
 
+9
June 01, 2010

A Dynamic Component Architecture for High Performance Gameplay

Posted by Terrance Cohen, Lead Systems Programmer
Delivered at GDC Canada on May 7, 2010, this presentation details a dynamic component architecture used in the Resistance franchise to represent aspects of entity and systems' behavior. This component system addresses several weaknesses of the traditional game object model for high-performance gameplay, particularly in multi-threaded or multi-processor environments. Dynamic components are allocated and deallocated on-demand from efficient memory pools, and the system provides a convenient framework for running updates in parallel and on different processors such as SPUs. The system can be layered on top of a traditional game object model, so a codebase can gradually migrate to this new architecture. The presentation discusses motivations and goals of the system as well as implementation details.
+2
April 13, 2010

2010-04-13 - TGC - MEL Scripting for Animators

Posted by Paul Robbins
With a little coding knowledge you can turn repetitive tasks in Maya into the click of a button. This presentation will show animators the basics of MEL scripting by introducing MEL commands, variables, syntax and the script editor. Walking through the creation of an example script will illustrate how a script is written and what it can do. Resources including the MEL command library, a few helpful books and links for further learning will also be presented.
+3
March 14, 2010

Three Big Lies: Typical Design Failures in Game Programming (GDC10)

Posted by Mike Acton, Engine Director
Recovering from another inspiring GDC. This presentation went pretty well I think. Unfortunately we had to turn away something like 200 people because the room wasn't big enough. And quite a lot of those people were exactly the folk I wanted to get feedback from! So my appologies to anyone who came to the door and wasn't able to get in.
 
I received a lot of comments from people afterward that it inspired them to rethink their approach. Which is absolutely the best result I could hope for. There are a lot of poor practices with years of traction in the programming industry as a whole (not just game development) and I think it's well past time that we take the time to remember our first principles and keep ourselves from straying further.
 
Fundamentally this whole thing comes down to a simple truth: Computers transform data and nothing else. It's our job as programmers to make sure that data gets transformed. Our job is *not* to write code, but to make sure that data is transformed properly. And when we forget that, we end up with poorly-performing, over-complex, over-abstracted programs that simply do not do the job they need to do and cannot be made to do it well without heroic effort, if it's at all possible.
 
Nothing in this presentation should come as a real surprise to those that know me, but I absolutely believe it remains a problem and it's a problem I'm passionate about fixing.
 
Mike.
 
+7
March 03, 2010

Synchronizing Bots

Posted by Ross McIntosh, Gameplay Programmer
Here’s an introduction to a method for synchronizing AI in multiplayer games. It addresses an implementation that uses the Sync Host system that was described in the previous presentation as well as outlining the methods it uses to synchronize the many different aspects of AI. You’ll find details on the rationale behind why systems are synchronized in the way that they are, as well as the problems and solutions programmers have to keep in mind when using this method of synchronization
 
0
INSOMNIAC R&D
RSS Feed
Subscribe to the Insomniac R&D RSS feed and never miss another article.
NOCTURNAL INITIATIVE
This section is a part of our larger NOCTURNAL INITIATIVE® and documents our current research and development in hopes of supporting the PS3 development community and enhancing overall development for its core technologies such as the CELL processor and RSX. More
Articles