A game's trailer is extremely important, so rather than release some mediocre video recordings during pre-alpha development I decided to let gifs show off the animation while keeping the audio side of things to myself, waiting for the game to reach a more complete state when I could then invest a lot of time into producing a proper video.
My previous experience with ASCII videos taught me that they're difficult to do well, so I knew it would take a while to find a satisfactory process for Cogmind.
In the end Cogmind's 90-second trailer required nearly three weeks of full-time effort from inception to final production. At first I considered hiring someone else to do it (a professional), but I like creating things myself, and finding, hiring, and bringing another person up to speed on the project would take a while, not to mention one of the most time-consuming parts--collecting clips for a trailer--is something I'd still have to do myself, anyway.
In all I spent several days researching and testing various recording, editing, and encoding methods, a day or so scripting animations, several days per iteration recording various game content, a couple days about half-way through thinking of solutions for various issues, a couple days collecting and analyzing feedback, and another couple days producing and encoding the final version.
The easiest way to talk about all the aspects of trailer production is to simply follow the process from beginning to end.
I'd read a bit about trailer production before and saved the best bits, so I started by refreshing myself with some useful reference articles, the two best sources of information for me being Kert Gartner's blog and an article by Indiegames.com.
The most important general tips can be summarized with a few bullet points:
- Keep it short, 60-90 seconds.
- You don't have to showcase every mechanic, just give an idea of how it plays.
- Zoom in on details the viewer should be paying attention to, if confined to a smaller area than the entire screen/UI.
- Follow dramatic structure for the best effect (setup > build > climax > conclusion).
- Leave the viewer wanting more.
On the technical side I found surprisingly little reliable information about techniques for creating high-quality pixel art trailers, so I would have to figure that out on my own. That's also part of the reason I'm sharing my findings here :)
The obvious first step is to figure out what to show in the trailer.
A couple times over previous months I'd made a list of features and trailer format sketches, but when it came time to write the final version, rather than taking the "list of features" approach common among game trailers I decided on a slightly more story-like method that also reflects how you play the game. It begins with your boot-up sequence, then quickly progresses through each element of the experience: explore, learn, evolve, rebuild, evade, destroy. Obviously "destroy" is our high-action climax.
Each segment was added to a spreadsheet-based outline to have an idea of whether the content would fit within a reasonable time frame, and provide an organized reference during recording:
The outline was fairly accurate, and showed that the trailer would be on the long side at nearly two minutes. But no sense fretting about that right away; it would be easier to edit it down after seeing it in action to analyze which portions work and which don't.
As expected, the first pass felt too slow, so much of the same content was recut into a quick trailer only half as long (60s), with a faster intro in a more instantly gripping cinematic trailer style. But that second approach felt too fast for a game like Cogmind, not to mention it didn't clearly say as much about the game itself. You can see a rough concept for the alternate intro here.
While a cinematic trailer would be more fun to watch, it might also misrepresent the game or attract the wrong audience, players that could be disappointed with the game for not being what they expected. Certainly a key part of marketing is getting everyone and anyone to watch your trailer, even if doing so takes a trailer that doesn't specifically say much about your game and how it plays. I've seen trailers that are fun, but say almost nothing about the game in question. What a waste of my time. I'd rather steer away from deceptive tactics in favor of using the opportunity to show off as much of what the game is really like as possible.
The trailer should be something I can point to and say "this is Cogmind in a nutshell."
Another reason for dropping the second intro concept is that its aesthetics look very out of place compared to the rest of the trailer, which is composed entirely of the blocky terminal UI, glyphs, and pixel art. I think the intro we did use, cut directly from the intro of the current alpha version itself, does a good job setting the atmosphere and tone using the same aesthetic style you see in the game.
For the rest of the trailer content, clearly something in between the long and short versions was necessary. So I revisited the first version and shortened each segment by cutting out any static shots and less meaningful content, even managing to throw in some extra clips and still come out a full 30 seconds shorter than the original length.
At 90 seconds Cogmind's trailer comes in at the longer end of the "acceptable length" spectrum, mostly due to the slow intro. Perhaps not the best way to hook average players, but I think it will work for anyone who might be interested in the genre/style that Cogmind represents... Terminal console! Retro sci-fi! Roguelike!?
I felt the necessity to show a few more scenes than usual because Cogmind's otherwise minimalist presentation might give the impression that it's a simple game. I think the final pacing works okay, though, and there's a pretty natural progression from one element to the next. The trailer clearly follows dramatic structure from the thematic intro through a gradual build to the climax, and is well-supported by music the entire way.
Recording video clips is (for me) by far the most time-consuming part of trailer production. After deciding the desired recording conditions, there's looking for and/or setting up those conditions for recording, then redoing a scene again and again until it turns out just right. I keep save game files for each situation in case I needed to revisit them to re-record (I did end up revisiting them all for the final version, as the first time was a quicker rough pass).
It took a while to figure out what software was best suited for the task.
My options were more limited than most games because Cogmind doesn't explicitly use the video card, eliminating the possibility of recording software supplied by various GPU manufacturers that reads the card directly, or third-party applications such as FRAPS which function in the same manner.
I'd heard good things about OBS, and rather liked how easy it was to record with, so that was my first choice. However, multiple attempts later I couldn't get it to record Cogmind without any loss of color accuracy, even with supposedly lossless settings. Naturally the final trailer will end up being compressed before it reaches the viewer, but if the clips I record for production purposes already start out looking bad, the final product will suffer for it.
OBS obviously works for some people, but not me. I'm sure it didn't help that OBS couldn't rely on my video card and had to record the desktop directly.
So for recording I fell back on my old standby, Camtasia Recorder, which I had used years before and was surprised that it had improved significantly since then (finally...). The good thing is it's made to record the desktop, and does a great job of it with perfect color and pixel accuracy, all with small output file sizes. I did encounter a couple issues:
- System audio must be set to output 44.1k, otherwise audio recordings will be distorted. Mine was 48k and it took a while to figure that out.
- Windows 7 caps desktop recording at 30 fps while Aero is active. Camtasia can be set to temporarily deactivate Aero every time you record a new clip, but it's a somewhat slow process that would make quickly re-recording clips tedious. I could have also just turned Aero off manually for the duration of recording work, but I figured 30 fps is good enough for Cogmind and YouTube doesn't usually use 60 fps anyway.
Other than that it's a pretty nice recorder, and you can specify the exact area to record for cases where it's smaller than the entire window/screen.
The biggest problem facing ASCII/pixel art recordings is the huge hit on final quality caused by YouTube compression. Compression works okay on "normal" videos in the way it smears/blends pixels, but the effect is hell on detailed 1px-width ASCII surrounded by blackness.
The first method of dealing with this is to give YouTube the highest resolution possible so it has more data to refer to in the compression, and also offers viewers with the bandwidth a way to view an outright better quality video. Thus the goal with Cogmind was to upload the trailer in 1440p.
As I only have a 1920x1200 monitor I considered buying a 1440p specifically for recording the trailer, but I was worried my poor laptop wouldn't be able to handle both running the game at that size and recording it. Not to mention files would be much larger and slower to edit. The alternative was to record the game at 720p to save on processing power (and therefore production time), then upscale the final trailer. Cogmind's default/native resolution is 720p, so it made sense to record at that size and upscale (more on that in the editing section).
A second even more effective method for recording pixel art is to zoom wherever possible. Zooming increases pixel size so the art is less susceptible to the effects of compression, at the same time helping focus on the action which is probably only occurring on a subset of the full screen anyway. This is especially useful with Cogmind since the full interface can be pretty overwhelming, though you don't need to be paying attention to the entire thing at once.
Rather than zooming to an arbitrary size, nearly every zoomed shot in the trailer is recorded at either 636x360 or 424x240. These dimensions are precisely divisible into 1272x720, the size of Cogmind's full 720p window, a factor that will come in handy later on. (Note "720p" actually has a width of 1280, but Cogmind only scales in multiples of its grid dimensions, so a full 720p window leaves 4px black bars on either side--it's not noticeable, but they're in the trailer, too.)
Early on I decided I could speed up production and keep the visuals consistent by using the game engine itself to create as much of the animation and text as possible, rather than relying heavily on post-processing software for transitions and special effects. It did take a little while to both write these scripts and add a place in the game where I could test and record them, but overall it was less of an investment than it would be to learn new software and techniques--obviously I'm already quite familiar with my own engine, so I may as well leverage what I'm good at.
Minimal editing requirements also meant I could stick to simple software with which I was already familiar: Camtasia Studio. It does have a couple annoying limitations, namely lack of support for relative directory structures within projects, and only one project may be open at once. Aside from these it's plenty easy to stitch media together, layer and adjust video and audio, and dynamically zoom or pan to different areas.
That said, except where dynamic zooming/panning in a single scene was required (only one instance), I actually avoided using Camtasia to zoom because there's no way to control the quality. Not that the quality is horrible, but with pixel art the idea is to retain as much clarity as possible at every stage of the recording and editing process.
Every time you convert or resize a video the quality could degrade, so I needed a method to create a very high-quality upscale without side effects like those that ruin ASCII videos due to compression. For this I used nearest neighbor scaling. I found only two programs capable of this, Movavi and Adobe After Effects. Testing showed that the latter produced smoother animations, but the required file sizes were huge and Camtasia chokes on large files. Theoretically I could have produced a higher quality trailer with a faster computer, but not on my dev laptop with this many clips:
So I went with the cheap lightweight solution, Movavi, which can be set to rescale a video in "draft" mode (in video speak this is the equivalent of nearest neighbor scaling).
As mentioned earlier, zoomed scenes were recorded at 360p and 240p, so upscaling them to match the full-size 720p trailer gives pixel-perfect results without any distortion! Never in my life have I been happier that 1272 (Cogmind's native width) is evenly divisible by 636 and 424. It was convenient to produce both the close-ups used throughout the middle of the trailer, and the really tight shots seen at the end.
As soon as the first pass rough edit was complete I shared it with our trailer composer Alex Yoder to give him some material to work from and get an idea of what direction he planned for the music (before that I'd already provided him with a copy of the game and documents outlining the world and story).
The music is an absolutely essential part of the trailer that really glues it all together, and helps set the mood as much as the visuals. With his initial concept in place, it was just a matter of waiting until the trailer reached its final iteration before he could time the music to match a few crucial points.
Early feedback played an important role in shaping the trailer during the editing process. Here I'd like to thank Ben Porter, 0x0961h, Highsight, Matt Chelen, and of course Alex Yoder (composer) and Kacper Woźniak (artist), for watching the trailer in a few iterations and providing constructive feedback that led to real improvements in the final product. Getting feedback from more than one source was great for the different insights and perspectives, while any areas of overlapping criticism were in definite need of change.
Probably the hardest part of getting feedback on a trailer I didn't want to make available to the general public is that I didn't have easy access to the most valuable opinions: those from outside the circle of people already quite familiar with Cogmind (which is pretty much everyone who knows me...). I'm sure the trailer could be improved further by gathering reactions from a broader audience, but my marketing department is not quite equipped for that :).
One interesting side effect of the trailer feedback that came from respondents' girlfriends and wives (including my own) was a change to the title logo shown at the end. Apparently all this time the font reads more like "COGMINO" to the uninitiated, something I'd only heard once before and didn't really take into consideration until suddenly more and more people brought it up. So half-way through trailer production I redesigned the logo to make the "D" more D-like and even modified the "C" for some symmetry.
This required changing the logo throughout the game, blog, websites, and forums... Still, better before launch than after!
The first step to finalizing the trailer was to output a lossless AVI from Camtasia (that gave a 7.5 GB file for 90 seconds of video...). But before upscaling to our 1440p target resolution, here I ended up using After Effects for something after all.
Because the colors recorded from the game (especially the intro) were somewhat dark, and that characteristic would be further exaggerated by compression, the entire trailer needed a bit of brightening, something that Camtasia can't do--it's pretty bare bones in terms of video enhancement features. After Effects is of course the perfect choice, and fortunately its one-month trial is plenty of time to handle something like this, so I didn't actually have to own it. I had AE add a global +30 to brightness, then render the same lossless AVI.
The final step was to use Movavi to both upscale the trailer to 1440p (draft/nearest neighbor!) and convert it to a high-quality MP4, which came out to 155 MB. The MP4 file size produced by Movavi was both smaller than its high-quality AVI output and appeared to give the same results when both were uploaded to YouTube, so I stuck with MP4 since it's a more widely compatible format. (As I discovered when I tried sharing them with others, AVI containers require the right codecs to play so it's not a great format to rely on.)
I also created a 48 MB 720p MP4 to provide as a smaller option for direct download. (Some people like to download trailers, so I made both HD versions available on the website.)
And the final trailer (mp4 downloads available here if interested):
In all it took 135 hours (!) to complete the trailer, totaling an approximate $2k USD investment for audio and production time.* The costs were steep (even more so considering that was time during which I wasn't working on the game itself), but I think it was well worth it. Producing a mediocre trailer to cap two years of development would be very disappointing to say the least!
(*To be clear, the primary costs were my own time spent on the trailer, and the fact that I hired a professional composer (Alex Yoder) to create a track that fit the mood of the game and timing of the trailer content, rather than tacking on some less than ideal royalty free music found online. I strongly believe that game audio is an incredibly important part of the experience, both in a trailer and within the game itself. You can produce a trailer for much less, and much more quickly, but it depends on the type of game and trailer you want.)
Even after the trailer was complete (production stretched from April 7~27), I still watched it multiple times nearly every day up until launch. It felt so good to see the experience of the game summed up in 90 seconds like that.
On launch day I was happy to finally show everyone the full extent of what I'd been working on as a whole, rather than piecemeal in the form of snapshot blog posts. Public reception was great, and I very much enjoyed reading the feedback. One comment was particularly memorable: "Watched the trailer and immediately said 'Oh....oh no.' My wife asked what was wrong. I showed her the trailer and halfway through she said 'Well you need THAT, it looks like.' She's right. I do. Buying post-workday." --Double_Atari
Below are viewer stats showing the May 19th launch through the end of the month:
The first spike is launch day, and the second is from a later announcement on RPS. Viewing hours totaled 206 in May alone, so that at least tops what I put into producing the trailer =p.
Relative audience retention was for the most part above average for YouTube videos of similar length:
And by the absolute audience retention graph you can see that even at the one-minute mark we've kept approximately two-thirds of viewers watching which is quite good:
As for the future, I don't look forward to making another trailer simply because it's 1) a ton of work, 2) keeps me from working on the game, and 3) the alpha trailer already reflects much of the final experience while also showing as much of the game as I'd ever want to in a video, in order to avoid spoiler content.
It would seem like a better alternative to a future trailer would be shorter and even flashier, and show less gameplay, though as stated I don't really like that approach, as "sensible" as it is from a marketing standpoint.
(This article was originally published here, on the Grid Sage Games dev blog.)