Cutscene

From Elite Wiki
Revision as of 17:43, 25 July 2025 by Cholmondely (talk | contribs) (Added ReadMe)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
CCL logo.png
A cutscene or event scene (sometimes in-game cinematic or in-game movie) is a sequence in a video game that is not interactive, interrupting the gameplay. Such scenes are used to show conversations between characters, set the mood, reward the player, introduce newer models and gameplay elements, show the effects of a player's actions, create emotional connections, improve pacing or foreshadow future events.

Cutscenes often feature "on the fly" rendering, using the gameplay graphics to create scripted events. Cutscenes can also be pre-rendered computer graphics streamed from a video file. Pre-made videos used in video games (either during cutscenes or during the gameplay itself) are referred to as "full motion videos" or "FMVs". Cutscenes can also appear in other forms, such as a series of images or as plain text and audio. 
Lights! Camera! Action!

Overview

Svengali, Oolite's dramatic genius, produced this demo back in 2012 for Oolite trunk v.1.76. It needs a trunk version and Cabal Common Library.

Detail

After a little bit more tweaking (see Screenshots) a demo cutscene for trunk users is available - to make appetite for more...

The goal for the demo was to create a set of shaders for cutscenes. As you can see (filenames) it started as addition for the Vector OXP, but the shaders will be moved into Cabal_Common for the next version.

Older Oolite versions with trunk variants
Cabal_Common_Library1.6.1_r95.zip (1004.4 KB)
Svengali_Animation_Demo0.95.zip (4.1 MB)

The advantage is that the scenes are real in-game mechanisms - using the same rendering engine has a pretty nice binding to the look and feel of other game mechanisms. The next step is to make the demo v1.76.1 compatible and sort out Audio stuff.

Cutscenes require some more work than just displaying a model on a missionscreen. To make things look right you need mechanisms to move elements (subentities), to sync movements and to get effects. E.g. models on missionscreens don't have speed == no exhausts. Via shader you can simulate these effects and framecallbacks can be used to move elements. Combined with overlays (or HUDs) and some dirty tricks you can create complete animated scenes. The demo shows some possibilities with a different lighting situation.

I've made available [url="https://drive.google.com/file/d/1Sj6owZbgQvw2QYL5xf_4-jwkx6OYVOrF/view?usp=sharing"]here[/url] a video recording of Svengali's OXP with this setup:
  • Oolite 1.77.1 (vanilla/Linux x86_64)
  • Svengali_Animation_Demo0.95.oxp
  • Cabal_Common_Library1.8_r157.oxp

Although you can watch the file in-place (with whatever Google Drive player quality settings will give), if you download it you'll be able to see it at its original capture settings (mkv format with 1600x900/60fps)

(Commander_X (2021))

ReadMe (even more detailed)

Svengali_Animation_Demo0.95 for Oolite

  • Licence & copyrightnotes: see below
September 2012

OVERVIEW

Animations / Cutscenes in Oolite still seem to be uncharted water, even though some animations have been released already. This demo shows some possibilities. It requires Oolite v1.77 and the still unreleased Cabal_Common_Library1.6.1 as this version ships the required methods, and Oolites getMaterials() / setMaterials() and the HUD tweaks to display legends based on equipment availability.
Probably the shaders will be moved into Cabal_Common_Library, but for now it's showtime.

FEATURES

  • The single elements are subentities packed into a frame object. The frame itself is not visible and only there to combine the elements and to have a common base for rotations and movement of the scene. This way we can do Camera moves a la Bollywood.
  • The water shader uses a cubemap for the environment. This needs a rendered scene in a third-party application and Ahrumans planettool to convert it to Oolites own cubemap format. I've used -R 270 90 0 for the demo.
  • Some elements are using a own lighting position to simulate a real environment. Additionally the water and mountains are using a shadow map which was rendered in a third-party app. For non-shadered modes shadow maps can be used via illumination_map.
  • The exhausts of the shuttle are part of the Cabal_Common_Library.
  • Clouds are moved (rotated) by the shader. The script sets position, size and speed.
  • The background is another tricky piece. It is a scaled quad which gets moved according to the view position.
Standard background images can only be zoomed in/out, but moving sideways or up/down is not possible.
  • The smoke is a simple cylinder where the uv coordinates are moved along the y-axis. Fuel and energy are used to give control about brightness and when discard should be used. The current shader does use a rotation matrix to flip faces (although the matrix is not really correct, but good enough to show the possibilities).

USED TOOLS

REQUIREMENTS

  • Oolite v1.77
  • Cabal_Common_Library1.6.1.oxp

PROBLEMS

In case of problems, please report it and include the following infos:

  • Oolites version (and if trunk or nightly is used the revision number)
  • OS, Graphics card (and driver version)
  • Fullscreen/Windowed mode
  • Shader mode
  • List of used OXPs (incl. versions)

____

Thanks to:

The development team
Giles Williams (aegidian), Jens Ayton (Ahruman), Nikos Barkas (another_commander), David Taylor (dajt), Chris Crowther (hikari), James (cmdrjames), Darren Salt (dsalt), Eddy Petrişor (eddyp), Erich Ritz (eritz), Konstantinos Sykas (getafix), Kaks, Nic (nic_asdf), Michael Werle (mwerle), Dave Hughes (selezen), Eric Walch, Dylan Smith (winston).

Special thanks to:

Ironfist for running tests and giving feedback - muchas gracias,
Capt.Kev for the moon texture,
Arnaud Condé for the music.

Oolite is a Creative Commons protected project by Giles Williams. Oolite is a space simulation game developed by Giles Williams based on Elite by Ian Bell and David Braben. All rights reserved. Copyright 2003-2012. ___________________________________________________________________________________________

Copyright 2012 by Svengali.

Licences:

"The Tumbrel" by Arnaud Condé. License: CC-by-nc-sa/2.0/fr/
The moon texture is taken from Capt.Kevs SystemRedux and converted through Ahrumans "planettool". License: CC-by-nc-sa-2.0
All other stuff is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/

Links