Alias was a game for PS2 and XBox, based on the ABC TV series of the same name. It was developed at Acclaim’s Cheltenham studio, and release early in 2004. Alias was later converted to PC by Austin-based Super Happy Fun Fun. A version for Nintendo Gamecube was also being developed alongside the other consoles, but was cancelled half way through.
A stealth-based game was already in development when Acclaim acquired the Alias rights, and this was adapted to become the Alias game. The final game was a mixture of stealth and hand-to-hand combat sections. Sometimes it felt a little confused, as if the game wasn’t sure what genre it wanted to be – careful, sneaky stealthiness, or charging around karate chopping and gunning down anything that moved. This reflected the problem that the designers preferred the stealth aspect of the game, but management liked the hand-to-hand combat and wanted to push that at every opportunity.
Alias was an unusual development, in that we used 3ds max to define the gameplay. Trigger volumes, activation links, object placements, camera paths, etc., were all placed using max rather than using a custom written tool, which is more often the case with other projects. On the plus side, this reduced the amount of tools programming to a few plugin/exporter scripts. On the other side, this meant the programmers also needed to use 3ds max, which was a bit of an overkill for what we were using it for. The licenses were expensive, the UI was complex, and the program itself was a bit of a resource hog to be running alongside the dev tools.
A lot of the gameplay elements were controlled through a custom scripting language, put together using lex and yacc. The idea was to create a simple but powerful scripting language that the designers could use to implement all the tricks and traps they wanted. It sounded great on paper. The problem was that the designers didn’t want to touch it. It was too much like programming, therefore became a programming task. The “simple” and “powerful” attributes turned out to be an either/or situation, ending up with more of the powerful at the expense of the simplicity. The interface between the script and the game code was tricky, and we were continually adding new hooks It also suffered from being just plain text – no syntax highlighting, auto-completion or other fun stuff you get with c/c++ – and also had no source code debugging, so we had to rely on printf() calls to work out what a script was doing. Lesson learned.