Jump to content
Sign in to follow this  
  • entry
  • comments
  • views

How to make an awesome trailer (on a budget): 3 Minutes to Midnight – First Trailer

Jan Serra


Creating an awesome trailer for your indie game (on a budget)

In this post I’ll talk about:

  • Background information about our trailer;
  • Features and spec of our trailer;
  • General advice to make a good trailer;
  • How to create an awesome trailer for your indie game (on a budget);
  • Translating the trailer (and website);
  • Preparing the video to be shared;
  • Make all your effort worth it.
  • Background information

3 Minutes to Midnight” ‘s (Scarecrow Studio’s first point-and-click adventure game) teaser-trailer has been officially released today! At Scarecrow Studio we couldn’t be prouder! In fact, we’ve been working on this teaser for the whole last month, while not losing focus on the point-and-click part of this adventure game.

First a few specs about the “3 Minutes to Midnight” trailer

  • Voices in English.
  • 16 Subtitles (English, Spanish, Chinese Simplified, Chinese Traditional, Czech, Polish, German, French, Italian, Portuguese, Hindi, Turkish, Catalan, Korean, Japanese and Russian;
  • Length 2:20 minutes;
  • Resolution 4K;
  • Youtube Link.

General advice for creating a good trailer

Keep it simple and to the point; This means avoid unnecessary logo intros; Cut to the chase, you don’t want people to close your video even before seeing the actual footage;
Avoid showing too much black screens with text; That’s a resource many indie games use, because they don’t have enough material. If you don’t have enough material, don’t do a video. It will hurt you more than it will help you;


  • First impressions count! Don’t ever think they don’t; So try to make your first impression a good one;
  • Show the video first to people who wouldn’t mind hurting your feelings; That means forget about family and friends, you want to know the truth about what you created, not someone who tickles your ears;
  • Make it short and interesting, try to keep the viewer paying attention all the time; We managed to make it interesting, therefore in our case the video is 2:20 minutes long; However, I would advice you to try to keep the length around 60 seconds and 90 seconds;
  • Make sure you show what your game is about and the main features.

Now, how did we do it? Aka, creating an awesome trailer for your indie game (on a budget)

My first advice to you would be to make a list of the features that are going to make your game stand out; After creating the list, you have to make sure that every item on your list is shown in your trailer. Since there’s a huge variety of games I’m going to use our game, “3 Minutes to Midnight”, as an example. The features that make our game stand out from others are:

  • Environment art;
  • Character design;
  • Fluid animations;
  • Great story and background stories of the characters;
  • Voices in English (and translations into 16 languages);
  • A high dose of humor.

So, how could we show all that in our teaser trailer without spending a lot of time (money) on it? At that point we had no game-play ready, so we couldn’t show that. At the same time, we had a lot of material that we couldn’t show to people (to avoid major spoilers or ruining the story), and the final script still was on the works.

We wanted to create something unique and original while re-using some of the materials we already had, keeping the game development unaltered. Creating a trailer video, to show what we were doing, allowed us to start the promotion.

The idea was to show the game as a movie that is about to be filmed. For instance, we could use the scenes, we already had, as the trailer’s background sets. Same for the characters, we could use them in their already animated positions for the game. Moreover, we could create a parallel script pretending the characters of the game are ‘actors’. The script should also clearly show the sense of humor of the game. It also allowed us to have the voice-actors begin with the voice-over prior the trailer was done.

Translating the game

A big piece of advice: Do all you can to have enough budget to reach as many users as possible. We realized how important localization and translations are. And we believe players will certainly appreciate this fact. In case your budget is really really tight, I’ll list you (in order of amount of users) the most important languages:

  • English | Spanish | Russian | Chinese | Portuguese | German | French | Polish | Turkish

We hired freelancers for the translation, (our budget can’t allow us to have permanent positions for this task). In order find the right freelancers we used a couple of websites, (I’m not going to write them here, but google “freelancers” and you’ll find them easily).

  • First, you search the freelancers and sort them by reviews and amount earned, (that will ensure quality);
  • After that, you contact them and negotiate terms and costs, (really important to do it before hand);
  • Then, you make them do a test, (a small one, you might get it free of charge);
  • Later, you make someone else proofread the test to see how many mistakes the first one made, and you repeat the process until you find the right person.
  • Important advice when dealing with other languages:
  • Make an excel file, with all the sentences in one column;
  • Always specify the gender of the speakers, even if the character is talking to him/herself, (some languages change completely depending on the speaker’s gender);
  • Be really careful with rhymes (in your language it might do, but in others it will need a lot of effort in localization, in the end, it might either increase the cost or lose the meaning);
  • Also, don’t use expressions or sentences that only make sense in your country, (such as inside jokes that only people from your country would understand), that will save you a lot of time of giving explanations to the translators, simply try to make the process easy and smooth;
  • Try to make short sentences, use as many punctuation as you can, avoid long sentences AT ALL COSTS! A long sentence might force the translator to paraphrase it completely and might lose the sense you were originally aiming for.

Since you are an indie company, and your resources are limited, you don’t want to spend a lot of time answering questions coming from the translators. In our case, we have 16 languages, imagine answering questions being made by 16 people at the same time.

Preparing the video to be shared

One of the main features of our game is that it’s going to be 4K. A 4K 2:20 minute video is about 53GB after you get it ready with any edition software. So we recommend not to upload that directly. Why not:

  • When you upload a video that big, YouTube will automatically resize it, which means you’ll have to wait until YouTube processes the whole video.
  • You can’t control the outcome quality, since it’s the YouTube algorithms who are going to control the output file.


  • After creating the video with your edition software, find out how that software generates a YouTube ready video. What you’ll get doing it like this:
  • Smaller video (will upload way quicker) the bigger the file the longer it takes the higher chances of something interrupting the upload.
  • YouTube won’t edit at all a YouTube ready video.
  • Your video will be available right away after the upload without waiting so you can start working on it right away.

Uploading the video and working with subtitles:

  • We suggest you to upload it in one place, in our case in YouTube. So since you are indie and small try to concentrate all the viewers, visits, and comments in one spot.
  • Create your own channel. If people like it they will subscribe and your updates will reach people who’s actually interested in your game.
  • Create a good description of your game, you obviously know what is about, but explain that clearly to people. In our case it’s a 2D Classic Point-and-Click Adventure Game. Help people know where they can find out more about the game, add a link to your website or social media in the description.
  • Work with the best quality you can, in our case is 4K but YouTube automatically creates duplicates in lower resolutions so anyone can see it.
  • Fill all the information about the video, tags, description, suitable for all viewers, etc.

Make all your effort worth it!

Let people know about all the languages of your game, IN THEIR LANGUAGE, so make sure your website has at least one page where you can talk about the game in every language your game is going to be available to. In our case, we made the whole website in English, except the press kit, our press kit is in 16 languages, and it auto-generates the content depending on the preferred language of your browser, give it a try if you want:
Press Kit

Point-and-Click Graphic Adventure Game - 3 Minutes to Midnight (From Scarecrow Studio) (2).png

Point-and-Click Graphic Adventure Game - 3 Minutes to Midnight (From Scarecrow Studio) (3).png

Point-and-Click Graphic Adventure Game - 3 Minutes to Midnight (From Scarecrow Studio) (4).png

Point-and-Click Graphic Adventure Game - 3 Minutes to Midnight (From Scarecrow Studio) (5).png

Point-and-Click Graphic Adventure Game - 3 Minutes to Midnight (From Scarecrow Studio) (6).png

Point-and-Click Graphic Adventure Game - 3 Minutes to Midnight (From Scarecrow Studio) (7).png


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By Seer
      I have programmed an implementation of the Separating Axis Theorem to handle collisions between 2D convex polygons. It is written in Processing and can be viewed on Github here. There are a couple of issues with it that I would like some help in resolving.
      In the construction of Polygon objects, you specify the width and height of the polygon and the initial rotation offset by which the vertices will be placed around the polygon. If the rotation offset is 0, the first vertex is placed directly to the right of the object. If higher or lower, the first vertex is placed clockwise or counter-clockwise, respectively, around the circumference of the object by the rotation amount. The rest of the vertices follow by a consistent offset of TWO_PI / number of vertices. While this places the vertices at the correct angle around the polygon, the problem is that if the rotation is anything other than 0, the width and height of the polygon are no longer the values specified. They are reduced because the vertices are placed around the polygon using the sin and cos functions, which often return values other than 1 or -1. Of course, when the half width and half height are multiplied by a sin or cos value other than 1 or -1, they are reduced. This is my issue. How can I place an arbitrary number of vertices at an arbitrary rotation around the polygon, while maintaining both the intended shape specified by the number of vertices (triangle, hexagon, octagon), and the intended width and height of the polygon as specified by the parameter values in the constructor?
      The Polygon code:
      class Polygon { PVector position; PShape shape; int w, h, halfW, halfH; color c; ArrayList<PVector> vertexOffsets; Polygon(PVector position, int numVertices, int w, int h, float rotation) { this.position = position; this.w = w; this.h = h; this.halfW = w / 2; this.halfH = h / 2; this.c = color(255); vertexOffsets = new ArrayList<PVector>(); if(numVertices < 3) numVertices = 3; shape = createShape(); shape.beginShape(); shape.fill(255); shape.stroke(255); for(int i = 0; i < numVertices; ++i) { PVector vertex = new PVector(position.x + cos(rotation) * halfW, position.y + sin(rotation) * halfH); shape.vertex(vertex.x, vertex.y); rotation += TWO_PI / numVertices; PVector vertexOffset = vertex.sub(position); vertexOffsets.add(vertexOffset); } shape.endShape(CLOSE); } void move(float x, float y) { position.set(x, y); for(int i = 0; i < shape.getVertexCount(); ++i) { PVector vertexOffset = vertexOffsets.get(i); shape.setVertex(i, position.x + vertexOffset.x, position.y + vertexOffset.y); } } void rotate(float angle) { for(int i = 0; i < shape.getVertexCount(); ++i) { PVector vertexOffset = vertexOffsets.get(i); vertexOffset.rotate(angle); shape.setVertex(i, position.x + vertexOffset.x, position.y + vertexOffset.y); } } void setColour(color c) { this.c = c; } void render() { shape.setFill(c); shape(shape); } }  
      My other issue is that when two polygons with three vertices each collide, they are not always moved out of collision smoothly by the Minimum Translation Vector returned by the SAT algorithm. The polygon moved out of collision by the MTV does not rest against the other polygon as it should, it instead jumps back a small distance. I find this very strange as I have been unable to replicate this behaviour when resolving collisions between polygons of other vertex quantities and I cannot find the flaw in the implementation, though it must be there. What could be causing this incorrect collision resolution, which from my testing appears to only occur between polygons of three vertices?
      Any help you can provide on these issues would be greatly appreciated. Thank you.
    • By Rio Lloyd
      Hey all!
      we are a team of 3 looking for more members, 
      we are making an isometrical Survival RPG.
      we are looking For Members who can make low poly 3D artists who can do character models, environments, tools and more.
      if interested and want to know more email me at rioishere14@gmail.com
    • By sidbhati32
      How do I detect the mouse event of moving my mouse left or right and wheel up or down?
      I have used Get_X_LParam for mouse movement and WParam for wheel movement.
      Like DWORD x = HIWORD(wParam) but both of these events return continuous values.

      for eg. if(x>0)
      //do this

      //do this

      the Wparam only returns the same value every time even if I am moving my wheel downwards. Same with Get_X_LParam
    • By FluffexStudios
      Hi everyone,
      Stitched has been released for almost a year now and our game has gone through numerous great updates and revisions thank to feedback from everyone! To conclude a wonderful summer, our game is currently on sale for 30% off on Steam from September 17th to October 1st. Check us out here: Store.steampowered.com
      Also, we would want to showcase some of our artworks for our game. Below are some of the concept arts that we did in the past.
      Firstly, the main subject we wanted to focus on before any art is the primary color of the game. We decided to choose purple as it's a color that stands out and somewhat fitting in a horror game.
      Below is the original title screen and the finalized version of the title screen of Stitched. We original wanted to give Catherine long hair but decided against it because we feel the long hairstyle was done too many times. We wanted to give Catherine a unique look hence we decided upon the new shorter hairstyle. We also touch up on her expression to make the player see that Catherine is terrified. Thirdly, we wanted to emphasize the title of the game by making it glow with light purple color.

      The below three images represent design stage for the doll character in Stitched. The first image is the original sketch. The second image is an updated version to give the character a more serious tone. The final sketch is to give the character her color which include her hair, face, and dress colors. We went through a large amount of revisions for this character to get the right color, facial expression to match her personality.

      And lastly, check out some amazing fan art for our game through this youtube video!

      For anyone who is interested in our art. Check out our deviant art page here.
      For those who have further interest in our game, check out our website here and our Steam developer page here for future projects!
      Fluffex Studios

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!