Under what umbrella does a camera for a 3D game tend to fall? That is, is it more of a game design concern, art direction concern, or engineering?
It's primarily a feature handled by game design and engineering. The designers figure out how the camera needs to behave for the intended player experience and then the engineers figure out how to translate those behavior rules into code.
Let's say that we're working on the camera functionality for in-game cinematics for a narrative-heavy AAA game like the Witcher or Dragon Age. The cinematic designers need a solid toolbox to build cinematics with, a set of tools that they will use to create most of the cinematics of the game. That toolbox might include things like:
Look at X (cut)
Look at X (pan)
Zoom in/out
Move to point Y
Ease In/Out (acceleration control)
Camera Shake
As a designer, I would expect that I would be able to activate one or more of these tools at specific time stamps (e.g. at frame 32, pan to Desmal while moving to point A and zooming in) while I script my cinematic. As an engineer, it would be my responsibility to take the description of each of these tools and create them in code. I would then integrate them into the in-game cinematic editor so that the cinematic designers can use them to create the in-game cinematics.
Similar discussions and work take place for things like what the camera should do while the player is in combat, what the camera should do while the player is exploring, and so on.
Even when rendered real-time, cutscenes tend to look better than gameplay. Is this just the magic of framing and lighting? Or are there more tricks and optimizations happening, 'hidden' before our very eyes?
There's a lot of elements that go into making the viewer of a scene feel a certain way. Lighting, framing, field of view, depth of field, shot composition, camera motion, the use of color, and many more elements are taken into consideration when crafting cinematics. There is an entire academic field (cinematography) dedicated to this. You might not notice these elements at work consciously, but your subconscious brain does. Just watch this video of Street Fighter 4's Ultra combos without cinematic cameras and observe how different it feels:
Many of these don’t feel anywhere near as strong or as cool without the cinematic camera movements and angles. The hits often lack impact and the characters feel much smaller. Compare that to this video that includes the cinematic cameras. It's a pretty major difference!
Follow up to the camera question. Who is usually responsible for how the game camera act? Is that a problem for engineers/programmers for the engine or do Game Devs need to have discreet control over what the camera does?
Generally speaking, game designers are responsible for determining how something in game acts and game programmers are responsible for making that something act appropriately. Let’s take a reasonably simple example here - let’s say we wanted to have short cinematic scenes in our game. Let’s use this conversation from one of my favorite films, the Princess Bride:
What is the minimum necessary feature set someone would need to recreate this scene? In no particular order, here’s what I came up with:
Set character location
Play animation on character body
Activate Specific Camera
Deliver Dialogue (including lip sync)
Gameplay programmer Cleo would be tasked with writing a tool that designers could use to specify commands to run at specific times, and she would be responsible for making those commands actually do that. Then she would pass the tool on to the cinematic designers to create cinematics with.
Cinematic designer Ranzal would be tasked with writing a cinematic script that uses these commands to bring this particular scene to life, like so:
0:00 SetPosition Inigo InigoPosition1
0:00 SetPosition Roberts RobertsPosition1\
0:00 Activate Camera1
0:00 Play InigoAnim1
0:00 INIGO: I could do that. I have got some rope up here. But I do not think you would accept my help, since I am only waiting around to kill you!
0:08 Activate Camera2
0:08 Play RobertsClimbAnim1
0:08 ROBERTS: That does put a damper on our relationship
0:11 Activate Camera3
0:11 Play InigoAnim2
0:11 INIGO: But… I promise I will not kill you until I reach the top
0:16 Activate Camera2
0:16 Play RobertsClimbAnim2
0:16 ROBERTS: That’s very comforting, but I’m afraid you just have to wait.
0:20 Activate Camera3
0:20 Play InigoAnim3
0:20 INIGO: I hate waiting… I could give you my word as a Spaniard!
… and so on.
Then, Ranzal would place location markers within the environment for Camera1, Camera2, Camera3, InigoPosition1, InigoPosition2, RobertsPosition1, RobertsPosition2, etc.
For a particular cinematic, the features of the camera like placement, orientation, zoom, field of view, etc. are determined by the cinematic designer, depending on the sort of feeling that’s intended for the player. Maybe that’s a close up shot to show sincerity, or a long shot to show the difficulty of the task at hand.
Often we take a more generalized approach - a gameplay camera that follows the player at a distance, doesn’t clip through walls, and generally tries to frame the action. In that case, the breakdown is still the same - the designer (usually the creative director in this case) in charge figures out how she wants the camera to behave (including the edge cases), and the gameplay programmer is tasked with making it happen. Here’s a few example edge cases:
If the camera can’t clip through walls, what happens if the player backs into a corner?
Should the camera behave differently in combat?
If the player is locked on to a specific enemy, what should the camera do?
If the player is being targeted by an enemy, what should the camera do?
When the camera has multiple different commands all trying to run at the same time, what takes priority?
The designer figures out what the camera should do and the programmer is responsible for identifying those situations and making the camera choose appropriate behavior. The nice thing is that we don’t have to set any of these in stone as we go. We can iterate on the design and feel of the camera by experimentation and obtaining feedback, add additional features like more granular camera controls (e.g. look at this, move to there, rotate, pan, zoom, etc.), and so on as time progresses, based on the needs of the game, the schedule, and the budget.
Video Game Cinematography 101: Street Fighter IV Ultra Combos
Hello and welcome to a weekend edition of Ask a Game Dev. Today, I thought I would present something I found this interesting - two videos of the same batch of short cinematics, but with one major difference. Most players never pay attention to the camera system unless it is bad, but if you watch and compare, you should be able see how good shots can really emphasize and add to the player experience.
First, the video of all of the ultra combos without any camera movement at all:
Now the video with the camera movements enabled:
You may need to scrub through the videos a bit to compare the specific ultra combos to each other, since the first is in order of the character select screen and the second is alphabetical. How different do these cinematics feel as a viewer? What sort of specific feelings do you think the animators and designers were attempting to evoke through the camera movements?
You are using an unsupported browser and things might not work as intended. Please make sure you're using the latest version of Chrome, Firefox, Safari, or Edge.