Friday, February 22, 2013

UDK Camera Targeting

     I was talking with one of my good friends the other day about the extinction of the traditional, classic, survival horror genre.  I realize that's a pretty inflammatory statement to make, but he and I grew up on the Resident Evil series (pre-Resident Evil 4, that is).  One of the hallmarks that we both really liked about the series was it's use of static cameras throughout environments - you just don't see that anymore.  It's either FPS or over-the-shoulder "jump-out-at-you-boogeyman" scares nowadays.  I'd imagine the developers originally had to use the static camera angle because of limited rendering power (from what I remember, most of the backgrounds were either matte skyboxes or pre-rendered camera projections).  Without that restriction, it makes sense that they'd move on to fully immersive, real-time rendered worlds.  My friend and I both agreed that in doing so, the genre (especially with 4) lost some of the tension due to the fact that you were always in control of what you could see.  Previously, it was always a gut-busting move to turn a corner when you didn't know what lurked behind it.

     Because I've been (not) hard at work trying to come up with my own survival horror game/mini-game, I wanted to give that classic static-camera style a try.  Here's what I ended up with:
Penguins are so next-gen horror, didn't you know?

     Ignoring the choice of player character, I was pretty happy with the result (and also how efficiently the kismet code worked.  I don't know if I'll elaborate any further on this, but considering how incredibly easy this was to implement, I'm tempted to keep experimenting (eagle-eyed viewers will probably remember this particular hallway as an homage to the RE1 upstairs hallway, joining the Yawn room w/the first mask puzzle)
Seriously, I probably sunk 2,000 hours into this game alone.

Here's the setup:
3 Cameras (in red), 3 triggers
Kismet: 3 Triggers, 2 Switches, 3 Cameras
     I could probably get away with substituting the first trigger with a "On Level Loaded/Player Spawned" event, but I like the flexibility of having the third trigger there.  Each trigger flips a switch that toggles between two different camera angles.  Pretty simple stuff.  Initially, I started trying to do everything in matinee (using bools/camera groups with director groups) but then I remembered the "set camera target" function which made things way, way easier.

No comments:

Post a Comment