I’ll explain a little about our game before I go into great detail:
- Bespoke Experience for a Visitor Attraction
- Satellite / Mission Control Simulation
- 15 Minute Play-Sessions, designed almost like a “ride”.
- 30 Players Interacting with the game via nVidia Shield Tablets
- Ten teams of three players, all working to control one satellite between them to complete the mission.
- Three Front-screens displaying mission control data & hi-res art & cinematic events - Runs across two PC’s (One is the game server)
So imagine that a player has destroyed a piece of debris orbiting earth with a big-*** laser. We want to be able to play a cinematic event on the large screen at the front (the server) that shows the firing of the laser and the effect on the debris in the game world, so it’s seamless with the rest of the players too. We want to avoid pre-rendered cinematics, since they don’t give us much flexibility and definitely won’t suit all situations, we want to do in-game cinematics that adjust slightly to what’s happening.
We’ll also have other events, such as satellites and debris burning up the atmosphere, collisions etc. All this stuff needs to be displayed in realtime on the big screen while the rest of the players continue to play the game, and it needs to be triggered dynamically. These cinematics will only EVER happen on the server, the clients will continue playing as it happens.
So, what’s the best way to achieve this? Matinee seems like it could be a useful tool, but I’m not really sure how I can use it when I don’t know where the camera is going to be in space, or if you can swap the camera that Matinee performs it’s operations on. Am I better off writing all these Cinematics as a blueprint script that executes when things happen, such as manipulating the Servers’ camera directly though code/blueprint functions like timelines and such?
Any feedback is welcome, thanks!