Hi all,
Sorry for the long time between devlog posts! I've been very busy both working on Leilani, with work, and general life stuff.
I recently released a new video for the game, so without further ado, here it is:
I feel like this video represents a major milestone in the game development for me. As I mentioned previously I've been working towards a new build of the game that I could use for playtesting, and I finally finalised that after being focused on it for around four months. The video displays a lot of the polish, new artwork and better level variety that is now in the game.
I'd like to write a devlog about how I put the video together. My process is nothing groundbreaking but might be interesting to anyone looking to make a similar video. I use a mixture of tools - both free and paid.
Video / Trailer Creation1. Recording footageI use a paid version of Fraps to record game footage. I've heard people mention other software used for capturing video, like OBS, so there are free alternatives available.
I reduce the window down to its minimum size - 400x240 - before recording. I use the lossless video capture - this doesn't have any compression, meaning I'm guaranteed to have perfect quality video to take to the next stage of the process. But that means that the video can take up a large amount of space. By keeping the window small, it helps to avoid any CPU overhead of processing large videos, and means the video files only take up around 5mb per second, which is reasonable.
I don't record any sound in the videos - firstly the game's sound effects aren't worth showing off yet. But I also want the final video to simply have some music over the top with no interfering sound effects.
2. Converting video to HDI next need to convert the video low res video into a HD format. It's helpful to do this as a separate, standalone step, as it gives full control over how the scaling is done.
For example, if I just used the low res video files in the next step of the editing process, it would just be scaled up using a bilinear filter and would come out super blurry. Instead I can achieve a nice sharp upscale.
The program I use to upscale to HD is VirtualDub. This is a fantastic free program that makes basic video conversion a breeze (I also use this to convert my Fraps videos to 30fps gifs).
VirtualDub allows filters to be applied, one of which is "resize". I use two of these resize filters to achieve the desired scaling effect. This replicates the way that the game would handle the upscale to 1080p.
The first resize is a nearest-neighbour 400% scale. This gets me as close as possible to 1080p using a pixel-perfect integer scale.
The second resize does a bilinear-filtered (smoothed) scale to a height of 1080p (and then adds black bars, because my game isn't actually 16:9 ratio).
The smoothing from the bilinear filter provides an anti-aliasing effect which prevents the game's pixels from appearing to be different sizes.
I export the video using a GoPro codec that I have. I ended up using this one because it's the first one I found that produced video that was compatible with the next stage of the process. No other reason.
It's worth noting that I don't crop the video files at this point, even though VirtualDub does make it easy to trim the unwanted ends off the videos. I prefer to leave extra footage on either side of the video clips, and then crop them during the editing stage.
3. Editing the videoFor video editing I use the free version of Lightworks.
I don't have much prior experience of editing video outside of the old versions of Windows Movie Maker. My experience of using Lightworks was certainly not intuitive - but, once I got used to how it works, I found it quite quick and enjoyable for my simple purposes.
I'm not interested in writing a full tutorial, as I'm sure there are better resources available online, but I'll quickly describe my process.
The timeline at the bottom of the window represents the whole video. By default it has a lot of audio tracks - presumably for surround sound. By right clicking and using the Tracks menu, you can remove a lot of unnecessary tracks which leaves more room for the useful tracks. There is also only one video track by default. I find it handy to have at least two, as it gives more room for shuffling videos around while I figure out how I'd like to edit the clips together.
I drag and drop all of the 1080p video clips into the project. Then, I drag each clip from the "Project Contents" panel on the left down to the timeline. The clips can be moved around easily. It's also possible to crop the clips from either end by clicking and dragging. Additionally, it's possible to 'lock' the ends of clips in place by clicking them, which puts a yellow marker on the end of the clip. I don't make much use of this, but it's worth knowing that this 'locked' state exists, as it's confusing when it happens unexpectedly.
Eventually after much trimming, adjusting, and choosing which clips need to be removed, I have a video of a reasonable length. Just a couple of more steps left.
4. Splash screenThis is of course optional, but I like having a bit of info at the start of the video, especially to highlight that the game is still in development.
I use the free vector editing program Inkscape when I need to create this kind of image. I also created the game's logo in this program.
Inkscape is incredibly useful and powerful, and I highly recommend it. I export my image as a 1080p .png file. This image can be dropped into Lightworks and placed in the video just like a video clip.
5. SoundtrackThe video needs a soundtrack. As mentioned before the individual clips do not contain any sound.
To edit the sound I use Goldwave which is a paid program, but something like Audacity would be a great free option (I use Goldwave for most of my audio editing needs, although I do
use Audacity for exporting multi-channel music for use in the game).
No complex editing going on here - I load a track from the game, trim it to the length of the video, and add a fade to each end. I save it out as a new .mp3 file, drop that file into Lightworks, and add it to the video timeline.
6. Export and uploadThe main limitation of the free version of Lightworks is that there's only a small number of options for exporting videos. Luckily, one of those options is "YouTube". It only exports at 720p, which is unfortunate, but perfectly fine for a pixelly game like Leilani.
Right clicking on the timeline reveals the Export option.
Lightworks does have the ability to export the video directly to YouTube - but I took the option to save it out to an .mp4 file and upload it to YouTube myself. (This video can also be uploaded to other places like Steam).
(Edit: I forgot about the custom video thumbnail. I also used Inkscape to create this image.)
Done!Phew! I hope that contained some useful or interesting info for you. Obviously there's the whole area of choosing what footage of your game to record, how to edit it together, that kind of thing - I'm definitely not an expert there so I just wanted to cover the more technical details in this post.
One bit of advice I will give is to have patience. This is only the second video I've made using this process, and the first one was so long ago that I'd forgotten a lot of the steps. Using unfamiliar tools can be a frustrating experience so make sure you allow yourself plenty of time to poke around the software and search for solutions online when necessary.
It's also really useful to step away from the video at times - do a first pass at editing the video, and then literally just don't look at it for a day or two. When you come back to it you'll have fresh eyes and you'll be able to spot parts of the video that don't flow nicely, or are too busy, or if the video goes on for too long.
Thanks for reading!