July 29, 2005

Testing "Source"

As is probably well-known by now, Ritual is using the "Source" engine for their next title, "SiN: Episodes."

"Source" is an amazingly flexible engine to code for, and offers tons of options for level designers. The design of the engine encourages the development of emergent gameplay. Through the creation of simple sets of behavior, and occasionally some room-specific behaviors, you create a much deeper experience.

There is one issue, however, and that is trying to properly test games written using this engine. A lot of the engine is non-deterministic. I can shoot an object in the exact same place multiple times and get slightly different physics reactions. All of the reactions are "correct," but it does make it a challenge to make sure that all of the physics puzzles work correctly. AI happens the same way. We may have five seperate AI attached to a trigger, and the order they activate off the trigger will differ every time.

While this adds rather significantly to replayability, it does make testing a much more complex issue.

I'm trying to be very intelligent about how I test "SiN: Episodes." I'm writing tools to extract out the triggers from the levels so I can check them off during my test passes. I'm checking areas in "Half-Life 2" where it is very possible to break the game (like your battle with the helicopter, or when you're playing ball with Dog) to make sure we don't have similar flaws in "S:E."

...But I can only do so much. I don't often ask for specific readers, but I figure that I'm getting to be high enough profile in my field that I can try at least.

If you or someone you know worked in test on either "Half-Life 2" or the "Source"-engine "Vampire" title, can you have them contact me? My E-mail address is at the bottom of this page. I want to see if they have any tips on ways to optimize my testing for the time I have allotted for the project.

No comments: