Mike Acton: "Engine development is an artistic process"

"Engine development is an artistic process" Mike Acton of Insomniac on PS3 and next-gen game development

In what ways has the engine evolved since Resistance 1? There was a lot of talk about streaming textures at the time... What elements have you added since that game and what have you learned?

The engine is constantly changing. It's continually being upgraded and simplified, while we add new features and remove less useful ones. A sign of any maturing technology is that it becomes simpler rather than more complex. And as we work on our third-generation PS3 title, this is what we're starting to see. We've tried several approaches for different features and we're now definitely seeing a convergence of the ideas that have worked out well. For example, the physics, animation, glass, inverse kinetics, effects, and geometry database systems (just to start with) are now less complicated, thus offering more and significantly faster features than the versions found in Resistance 1.

We've also solidified some design patterns that are simplifying things. Take SPU Shaders, for example, which we discuss in detail on our newly established R&D site. SPU Shaders helped to make the big systems and all the little changes that come along during development a lot more practical to implement. They've also helped shed some light on programming the SPUs. Just having the ability to start putting high-level logic and AI on the SPUs was a major milestone that validated a lot of our ideas on how to distribute that type of work. This isn't to say that we have fewer challenges with each new generation of game--we just have all-new, even better and more streamlined challenges!

Have you had any moments of epiphany with the PS3 hardware - a moment where you've suddenly thought 'hey, I get it' and suddenly opened up a whole new avenue of power/possibility? Can you explain it in lots of technical detail ; )

As I said earlier, the more time you spend with a maturing technology, things only become simpler. In preparation for our GDC presentation this year, I asked some of our programmers what was the thing that really "clicked" for them as they've learned to work with the Cell. Off the top of my head, the main responses were:

Think in streams of data: Do similar things together.


Remember that local memory is really fast: Classically, you want to avoid algorithms that have heavy memory access. That's still true in general, just not on the SPUs themselves.

Forget about conventional Object-Oriented Programming: It's not so much that OOP is bad in and of itself, but the way it's taught and applied typically causes numerous and completely pointless difficulties when it comes to optimising data and code.
 
Even being a layman I enjoy reading these kinds of articles, It's nice to hear that they are making strides in development and from the tone of the article also seeming to have a good time doing so.

I guess in that profession you really need to or you'd go insane :D
 
:love: Insomniac. Can't wait to see what technical achievements are met with Resistance 2. In my mind, they are some of the most talented and focused developers out there. The thing that amazes me the most, is how dedicated they are to meeting a deadline, which is pretty amazing in this day and age of "Valve-time" delays.
 
Good read, thank you. There are parts in Resistance that still look really amazing to me (when you're on the rooftops for example). I will just stand there and look around. Can't wait for R2. :smile:
 
:love: Insomniac. Can't wait to see what technical achievements are met with Resistance 2. In my mind, they are some of the most talented and focused developers out there. The thing that amazes me the most, is how dedicated they are to meeting a deadline, which is pretty amazing in this day and age of "Valve-time" delays.

They and Naughty Dog really just are at the top of the PS3 development game.
 
Back
Top