Sin

Sin/Ritual was an interesting experience. Even though I had worked for Sunstorm on the Build Engine add-ons, this was my first “real” industry job. It was unfortunately also my only “real” release for almost exactly 11 years until Modern Warfare 2. At least the wait was for a big one. ūüôā

At the time Ritual was a very flat organization and almost everything was design by committee. This resulted in some pretty cool stuff, but it also meant there was a significant lack of focus… in particular in regards to “What matters most to the player in this game?” We had some incredibly talented level designers all using the same codebase and story to design their own individual levels. There wasn’t a strong cohesion between them and while this made for a fantastic amount of variety (especially for the time)… it also meant we never really nailed things down so the design was solid (compare to Half Life released around the same time, for example).

Sin doesn’t hold up very well at all anymore (few FPS games from that time do)… but there are ideas that were first born in that game that didn’t get fully realized for years later and some things are still ahead of the curve (interactivity).

I was there for one year, which was about the time that the game everyone played was actually developed. It was put together incredibly quickly, and released even more quickly. Which is why it’s known for such a buggy launch. That said… I got to explore a lot of different paths and styles in terms of level design, as well as learn from some of the most interesting level designers in the industry at that time.

For more detailed information see the following subsections:

Sin is available on Steam now, so here is a list of the maps I worked on if you want to check out any of the ones I made. I also built the headquarters training level, accessible from the main menu.

In order of personal preference (* indicates I finished someone else’s map):

  • Single Player
    • oilrig
    • silo (*)
    • chem1
    • Headquarters (access from main menu)
    • wworks1
    • wworks2
    • csite (*)
  • Multiplayer
    • oilrgidm
    • sindm6
    • eisenblatt
    • railroad
    • pride

Single Player Level Tidbits

– SinTek Oilrig (oilrig)

I took over the oilrig pretty late in the project. The original level was fine, however it was difficult to really get a sense that you were out in the middle of the ocean. We could have said it was a high tech facility on the beach and players wouldn’t have known any differently. Much like my other missions, I wanted to make the Quake 2 engine display a more real world setting than people had seen at that point.

I wanted to give the player a more tangible experience with the setting. The challenge I gave myself was to let the player see the rig from the outside, and then explore around inside. If you’ve worked with Quake 2 at all, you should understand that this wasn’t easy with the visibility system. Especially with the short time I had to take the level from concept to completion. However it was worth it and turned out to be one of my favorite levels I’ve built to date. It would have benefited from some focus testing, but the effect of taking a boat around the entire facility and then going inside was effective, and all the moving machinery and winding your way to the top gives a satisfying sense of place and progression.

Commentary on Oilrig.

– Nuclear Silo (silo)

The base geometry for this level was created by another designer. I took it over and refined it a great deal as well as built out the gameplay and scripting. The experience I wanted to give the player was to completely change the environment on them halfway through the level. This was accomplished by making extensive use of the ability to turn lights on and off in Sin (not inherently supported by Quake 2). We were using it in limited spaces through the game, but this level put it to the most extensive use possible.

Midway through the silo you encounter a power system with parts you can destroy. I replayed this sequence again recently and I feel it is still very effective. When you blow up both systems the entire level goes black, reboots, and the emergency lighting comes on and the player is bathed in red. The effect works very well and still holds up today.

Unfortunately this mission was missed by many players because you could only get to it if you performed certain actions earlier in the game. Which is a shame because I feel it was one of the stronger player experiences.

–¬†Chemical Plant (chem1)

The point of this mission was for Blade to sneak into the SinTek chemical plant. The player can choose to sneak through, or try to muscle their way against all the security measures that go off if you are noticed. Thief wasn’t out yet, and there weren’t really any “sneaking” experiences in first person at that point. ¬†The challenge with building this mission was, to be honest, that the Sin AI wasn’t very good. Not only that, there wasn’t any real concept of “sneaking” in the AI recognition. So most of the time the player is detected, it is via a complex set of mapper triggers and scripting logic checking where the player is and where the AI is.

The sneaking is downright brutal by today’s standards (most players wouldn’t have the patience to try it for real… myself included), and was even very difficult for players at the time. I knew it was hard at the time, but unfortunately had very limited tools to work with to make it more forgiving and the clock was ticking. This is a mission that I would be very proud of if it had gone through a few rounds of focus testing. As it is I’m pleased with it overall, but feel the flaws with the sneaking gameplay are large enough to detract from the experience.

Just like with the oilrig, part of my goal was to make the environment feel as real world as possible with the assets and engine available.

–¬†Hardcorps Headquarters (main menu)

Originally there was going to be a mission where the player went through the headquarters where Blade and JC work. That mission was cut, but a lot of the pieces were interesting enough that I pulled it together into some bonus content for the game. This mission really pushed the scripting capabilities of Sin, as most of the functionality is entirely mapper driven.

There are two sections: One is focused around the player by himself on training courses, the other is focused around the player against live enemies. In the solo area there is a sniper range, clay pigeon shotgun range, and two Hogan’s Alley remakes (one is the standard 3 targets good/evil, the other is the city street with good/evil targets appearing in windows). In the live enemy section you can choose from three arenas, whether lights are on or off, what weapons you’ll have, and any health bonuses you want.

The map keeps permanent track of your scores, displaying them on large screens throughout the facility, and lets you choose your difficulty from terminals in front of each challenge. There is also a friendly little robot that moves around fixing things that break down randomly. If you press a secret button in the kitchen, the robot will come out and dance the Macarena (hello 1998) with flashing disco lights. Scripting the robot was a nothing to sneeze at, and some early work on it had been used for promotional materials demonstrating how dynamic the Sin environments could be.

Playthrough

–¬†Water Works (wworks1)

When I took over this level, it was completely different. Much like the Oilrig, it was a more generic “high tech facility”. I wanted to root the player back into reality and also wanted to deliver something that felt like a real facility. I had some great external photo reference, but nothing very good for the insides so I just made them up.

Looking back on the mission now, I’m most happy with the starting exterior area, but once you go inside the buildings it is much too bland. The goal was to make it feel like a standard bland government facility… but it hit this mark too well (and there is a reason people don’t like spending time in 1960’s era US government buildings). I also created a tiny model of the entire level in a display case, which astute players could use to create a mental map (I doubt any did).

Other than the difficulty of the exterior/interior visibility control (somewhat similar to the Oilrig), there isn’t too much to talk about with this mission. The gameplay and level flow is more confusing than it should be. The interactivity and feedback is good (draining pools, blowing up tanks, etc), and a few of the scenes really hit the spot, but it needed another pass on flow and pacing.

–¬†Water Works Boss Fight (wworks2)

This level gave me fits. The gameplay setup worked pretty well (you need to shut down the systems to prevent everyone in the city from being poisoned and mutated). There were large moving objects and flowing water that you affected with your actions, flashing lights, and sirens to build the pressure. Once you were taught the rules we tossed a boss into the mix to keep forcing you to move around.

The mission falls short in a couple of areas though. 1) The player really doesn’t connect what they are doing to the larger story. This is a common problem in Sin and many large story games where the goal is complex and not in front of the player… and should be avoided. 2) The space itself isn’t detailed enough to be interesting, and the lighting is pretty bland. The arena was created, but there wasn’t much room to increase detail yet maintain performance. ¬†If I were to go back to the map today with the same constraints, this would be the first thing I would address.

–¬†Construction Site (csite)

I took over the Construction Site from someone else. Most of the geometry and layout were created by that designer and I simply continued running with the same theme and filling in gameplay and combat. The scale of the city around you is pretty remarkable. Also there are a couple interesting bits such as using a wrecking ball to knock over structures, a bulldozer to create a hole in the wall, flooding a dig site to escape, driving a 4 wheeler, and a neat basement battle in the dark.

I used to be less positive about this map but it’s regrown on me over time. I really like how some of the interiors felt in particular.

Playthrough Part 1 РPlaythrough Part 2

Multi-Player Level Tidbits

–¬†Greed (oilrigdm)

Greed is the exact same map from the single player (Oilrig), except trimmed down to be more performance friendly (I can’t depend on the same visibility tricks) and open up a more circular path through the space.

The first thing I would fix is the horrible background sound. I don’t know how it didn’t bother me then… but it’s grating now.

That said… the map works well with a larger number of players and I’m glad I put it together in the last couple weeks of Sin’s development. It retains the same intent of the single player level, but caters to the multiplayer experience. Especially snipers on top of the tower.

Commentary on Greed.

– Deconstruction Zone (sindm6)

This was the first real world space I built when I joined Ritual. I had 3 deathmatch maps in progress. One was a huge space where we toyed with the idea of many many DM participants. There were some interesting structures in it, but it didn’t really go anywhere. Another turned into Pride, listed below. The last was this one.

When I was little I enjoyed exploring buildings under construction and play games with my friends. I wanted to capture that feeling, and feel it worked out well. The exterior is simple as the focus is on the building (yet another “see it all from the outside and be able to explore the inside” level attempt), but once inside the building there are quite a few paths you can take.

It was one of the two deathmatch levels released in the Sin demo and was received well.

Commentary on Deconstruction Zone.

–¬†Eisenblatt (eisenblatt)

When I joined Ritual, most of my experience had been in games like Duke 3D and Shadow Warrior. So I was much more used to building real world environments, or at least fantasy environments that had a sense of place. I never intuitively built Quake style levels where the setting is almost non-existent.

I wanted to challenge myself to build a map like this though, as I was surrounded by designers who came from a Quake background. If I could build something that met their expectations then that would be satisfying, and also give customers who wanted a more traditional Quake experience something to look to when playing Sin.

The flow is focused heavily around jumping, rocket jumping, shooting through doors, predicting movements based on timing, etc. That’s not to say the other maps don’t have that, but that’s what this one is based around from the start. I also wanted to spend a lot of time creating a very clean look for the geometry… something with texture usage that took a while to make perfect but look easy once complete. Visually it’s not like anything else in the game and I find it very appealing in its simplicity. Looking back on it now, it almost has a Halo-esque style.

Commentary on Eisenblatt.

–¬†Tunnel ‘O Love (railroad)

As far as I know, this was the second “train” level in a first person shooter… with the original being in Blood. The premise is the same as the one in Blood as well as the ones seen later in Unreal Tournament and Gears of War (and other games). Fixed geometry for the player to move around on with a panning background and objects moving to give the illusion the train itself is moving.

The map is effective… and pretty fun. The first thing I would change is come up with a different mechanism for what happens to the player when they fall off the train. Right now they lose a frag which is just frustrating. I can admit now… 10 years later… that we really didn’t have much play testing for our DM maps before shipping (we basically said “uhh… we’re done?” and then it was in a box). So we didn’t get to experience how much you would die as a player until after it was on shelves, otherwise this would have likely been fixed before shipping.

It’s something you can predict, but until you are playing it and watching other people play it, it’s impossible to get it prioritized over everything else that needed attention just to get the game “done”.

The first solution is to simply not deduct a frag. Or keep two different numbers like modern games so kills can still be used to end the round, but deaths can count against your real final score. So a player who doesn’t hit the kill limit might still win if they were better about not falling off the train. This would introduce a simple but effective type of strategy into playing the map.

Commentary on Tunnel ‘O Love.

–¬†Pride (pride)

The geometry for this map is some of the earliest I built when at Ritual. In fact the very first room I created is still included in it. I fiddled with this map for a while, but it was really more of an exercise in building curves with the clipping tool.

I never intended on finishing it up to ship with the project, but one of the other level designers decided to take it and populate it with objects. I didn’t really object as worst case nobody plays the map… best case it makes at least a couple of players happy.

I’m not particularly proud of the map, but the geometry attempts were interesting for the time and I do think it has a decent flow (it could stand to be tighter though).

Commentary on Pride.

Scripting Tidbits

The scripting language in Sin was extremely powerful. One of the more interesting things it added was the ability to move brushes around the world, including attaching them to each other. You could do some very basic movements in Quake 1 and 2… but nothing on the scale of what was possible in Sin. I became an expert at the system and one of the test beds I created was a robot that could be given commands from a menu. You could tell it to go grab a box from a certain hole, tell it to return the box to a different (arbitrary) hole, raise and lower parts, spin, etc. The treads even animated to match the speed it was moving.

Before Sin came out we released a file that would let potential map makers get excited about the possibilities. This worked and spawned the creation of The Node. Scripters started digging into the provided script and trying to figure out all the commands. I spent a decent amount of time with the guys running the site, helping them learn about the possibilities, so that when the game finally did come out they were able to create things on day one.

Download the Danny Robot example. Contained in this file is a readme.txt that explains more. If you download the zip file you’ll be able to directly read the script used to run the robot.