Composition of 28 overworlds, before zooming into one of them. Python powered trailer generation.

More non-directly-game-related work this week, towards some trailer elements. Here's a video of some now-ditched part of the trailer (I'm doing the work, it goes to the bin, I might show it in the meantime!). Also, here are 50 different overworlds from a bird's eye view. "Same but different" is the motto here.

Dev console and scripts

The implemented dev console can be used to assist with video capture, especially when used in conjunction with the script support, which effectively chains together console commands with specified delays. Commands that pan or zoom the camera can be combined with commands like "disable camera bounds clamping" or "hide debug UI" or "reload scripts file" so that I can quickly try out scripts and shortcut some standard stuff for capture, e.g. hide UI or game logs.

Camera work

Camera zoom was fixed so far: linear interpolation from zoom level X to zoom level Y, which is really interpolation between Unity's orthographic camera's orthographicSize property. But the zoom rate did not feel that great in some cases, so I added easing function as an option. Lo and behold, I'm now using easeOutCubic for zooming in the overworld, and looks like I wanted it to!

Python scripting

I'm preparing a bunch of scripts to assist with trailer prep, such as:

  • Generate an alpha channel image for some chosen text
  • Create a sequence of images with fade in/out for the above image (using the fancy text effect)
  • FFMPEG commands to convert between video and image sequences (thin wrapper over cmd really)
  • ImageMagick commands to blend background and text overlay images (thin wrapper over cmd really)
  • Other general custom work, e.g. animating and arranging a number of images.
As a sidenote, I'm not showing the final trailer cuts, as I want to leave something for the imagination... Next on the todo list is in-game captures, and I possibly have to create and distribute some decorative items first to populate the dungeons.