Gamasutra: The Art & Business of Making Gamesspacer
Game Developer Magazine's 15th Annual Front Line Awards 2012
View All     RSS
November 1, 2014
arrowPress Releases
November 1, 2014
PR Newswire
View All





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
Game Developer Magazine's 15th Annual Front Line Awards 2012

January 18, 2013 Article Start Previous Page 3 of 4 Next
 

Middleware

Havok Physics
Havok
havok.com/products/physics

The Saints Row series has become known for its over-the-top gameplay, and Saints Row: The Third is no exception. It shouldn't be surprising, then, that under the hood there is some unusual code to make it all happen. Fortunately, this isn't a problem for a physics engine like Havok. We've been able to rely on Havok Physics to take the craziness we throw at it and have it produce something realistic. For us, it's not just about the features that the physics engine provides, but also the ways we can customize it and extend it.

Making a world as large and dense as that of Saints Row: The Third inside the memory limits of current consoles is challenging. Although Havok provides multiple options for terrain collision representation, we chose to implement our own by extending one of the provided options with our own storage scheme custom tailored to our usage needs. The result was a fast and very memory-efficient representation of our terrain collision. Havok provided a solid foundation upon which we could then expand.

Vehicles are very important in Saints Row games, so we are constantly striving to provide better vehicle physics. Once again, we used the Havok vehicle physics kit as a foundation and then customized and built on top of it.

We were able to implement our own drifting physics by changing the way vehicle friction is simulated; make our own tank turret physics by combining Havok constraints and motors with our vehicle weapon system; and build all kinds of watercraft, airplanes, helicopters, and hybrid vertical takeoff or land (VTOL) vehicles by building on top of Havok.

Even with everything it already does, Havok Physics is always improving. New features, optimizations, and fixes are constantly being developed, which we were able to take advantage of between Saints Row 2 and Saints Row: The Third. As developers experienced with supporting both PlayStation 3 and Xbox 360 can attest, getting good performance across platforms can be difficult and time consuming. Fortunately, Havok continued making improvements to the physics engine's cross-platform support so that we could focus on other details.

Finally, Havok support is top-notch. Whenever our over-the-top physics ran into over-the-top bugs, Havok's support team helped us track down the issue. Their knowledgeable team and excellent support tools, such as the Havok Visual Debugger, made a big difference when we were dealing with difficult bugs. Beyond just helping when asked, they also contacted us to inform us of their future plans for the engine and ask for feedback on what to improve for future versions. On occasion, we even had them on-site for some hands-on attention toward the end of a project.

We've been using Havok Physics for several years, and it just seems to be getting better and better. More and more of the cross-platform differences are handled behind the scenes so that we don't have to worry about them like we used to. Interesting new features are being added, so that we can expand upon them to make crazy new games. When those games run into equally crazy problems, it's comforting to know Havok support is there for us. Saints Row has really benefited from its use of Havok Physics, and we look forward to using them in the future.

Shawn Lindberg is a senior programmer at Volition Inc.

Engine

Unreal Engine 3
Epic Games
unrealengine.com/udk/

Whether you're a student trying to get into game development, an indie developer aiming to make a splash in the PC or mobile markets, or a studio looking to develop the next big thing on consoles, one thing that should definitely be high on your radar is Unreal Engine 3.

Available under multiple licenses, starting with the most affordable Unreal Development Kit, you can create high-quality, standalone commercial titles, using the same tools that Epic and its licensees used to create games such as Gears of War, Mass Effect, Borderlands, and Infinity Blade.

I was first introduced to Unreal 3 in 2007 through a university degree that included creating mods for Roboblitz and Unreal Tournament. When a few of us were hired by a large studio in 2008 to work on an unannounced Unreal Engine 3 game, the tools available to us as full licensees were essentially just a more up-to-date version of what we were already familiar with. During pre-production, design specs could be turned into fully fledged prototypes in a matter of days, due to Unreal's mature, efficient toolset.

When I later worked on other games at the company using their own proprietary tech, the tools were a mess. I learned to appreciate the enormous difference between tools that a programmer can use to get the job done, and tools that artists and designers need to use every day to effectively do their jobs.

Good tools can be the difference between a game that gets finished on time and under budget and one that gets stuck in development hell. After seeing the damage that bad tools could do to a project, when I began working on my own games again in early 2009, I went straight back to working with Unreal. With two decades of experience being at the front line of game technology, an expansive portfolio of highly successful triple-A games and a growing list of independent releases via the UDK, new updates every month, and good documentation, it's pretty clear that Epic knows what it's doing when it comes to developing an effective engine.

From a programming perspective, there are a couple of caveats to be aware of. The UDK will only give you access to a higher-level scripting language known as UnrealScript, not the lower-level native C++ code that runs the engine beneath it. UnrealScript is like a user-friendly combination of C++ and Java, with a focus on development simplicity and power over raw execution speed. Don't let that deter you, though.

Using nothing but UnrealScript and the Unreal Editor, I managed to create Antichamber, an award-winning non-Euclidean psychological exploration game, complete with custom physics, obscure spatial navigation rules, and a unique visual style made up of multiple rendering techniques, edge detection, and a custom inverse lighting system. I did all of the programming, design, and art myself, and even won the award for Technical Excellence at the 2012 Independent Games Festival, without ever having to go near any of the lower-level native C++ code.

Several successful independent titles have been developed using the Unreal Development Kit, such as The Ball, Sanctum, and Hawken. Other games, such as Dungeon Defenders, began development using the UDK and then upgraded their license when they made the transition to consoles. One particularly interesting case was QUBE, which was released on Steam at the start of 2012 by a team with no programming experience.

One of the most important aspects of developing games is knowing what your strengths and weaknesses are. Some people like having control over every single detail, but to me, there is nothing more daunting than staring at a blank slate, trying to work out where to start. By using Unreal and leaving the core foundational work in the hands of experts, I can just focus on working on the things I actually care about. I'm interested in exploring the boundaries of game design, but I hate reinventing the wheel.

Alexander Bruce is an independent developer and the creator of Antichamber.


Article Start Previous Page 3 of 4 Next

Related Jobs

Twisted Pixel Games
Twisted Pixel Games — Austin, Texas, United States
[10.31.14]

Senior Graphics and Systems Engineer
Twisted Pixel Games
Twisted Pixel Games — Austin, Texas, United States
[10.31.14]

Mid-level Tools and Systems Engineer
Giant Sparrow
Giant Sparrow — Playa Vista, California, United States
[10.31.14]

Junior 3D Artist
Giant Sparrow
Giant Sparrow — Playa Vista, California, United States
[10.31.14]

Lead Artist






Comments


E Zachary Knight
profile image
I have been trying for a couple of years to get my Brother to switch to Blender for 3d art and animation. Unfortunately, I have no real experience with it and can't help him make the switch. He is comfortable with 3DSMax and claims the UI in Blender is too hard to use. I need someone to train him to use Blender so that we can make the official switch.

Asa Taylor
profile image
After initially learning Max and then Maya, I've fallen in love with Blender thanks to the CGCookie training. Tons of free stuff.

Peter Huang
profile image
I know what you mean. Coming from a 3dsmax background, the UI of blender can be a bit intimidating.

Ryan Creighton
profile image
Blender's UI can be a "bit intimidating" like flapping your arms to to fly can be a "bit challenging".

Such Ch
profile image
I can see his point about the UI in Blender, but it's like that for many other advanced tools too, no? Blender is a real winner though, with all that stuff from CGCookie and BlenderGuru, anyone with patience can become a pro. I love it.

Gregory Guertin-Jr
profile image
Great article as always guys

Joe E
profile image
Glad to see Unity recognized up there.
I remember falling instantly in love with it back in 2007 when I first found it by chance (the editor was still Mac only, so not very popular yet). Since then, I've never looked elsewhere. That was after years of dealing with clunky, buggy, slow and/or generally painful low cost solutions (3DGameStudio, Torque, C4, etc). Truly a breath of fresh air in that space, and combined with the trend in the business to seek lower-cost general purpose solutions (as opposed to cutting edge in-house engines), made up for explosive growth, and well deserved at that.
And obviously each version has gotten incrementally better and added more features, but the core foundations remain the same, which speaks to great software architecture from the get-go (as you guys have acknowledged with the nod to Joachim Ante in a previous article).


none
 
Comment: