Featuring stories from Eric Shanower, Troy Riser, Michael Tierney, and seventeen other masters of the form, FANTASTIC VOYAGES is all about doors --
How to Make Your Own Short Film
Error message
- Deprecated function: Using ${var} in strings is deprecated, use {$var} instead in require_once() (line 132 of sites/all/libraries/bad-behavior/bad-behavior/core.inc.php).
- Deprecated function: Optional parameter $type declared before required parameter $key is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
- Deprecated function: Optional parameter $data declared before required parameter $name is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $data declared before required parameter $name is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $file declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $account declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $entity declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $account declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $values declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $view_mode declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $langcode declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $view_mode declared before required parameter $langcode is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
- Deprecated function: Optional parameter $terms declared before required parameter $node is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
- Deprecated function: Optional parameter $args declared before required parameter $node is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
- Deprecated function: Return type of EntityStructureWrapper::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 292 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::offsetExists($delta) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::offsetGet($delta) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::offsetSet($delta, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::offsetUnset($delta) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::hasChildren() should either be compatible with RecursiveIterator::hasChildren(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::getChildren() should either be compatible with RecursiveIterator::getChildren(): ?RecursiveIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::offsetExists($delta) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::offsetGet($delta) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::offsetSet($delta, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::offsetUnset($delta) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
FTC Statement: Reviewers are frequently provided by the publisher/production company with a copy of the material being reviewed.The opinions published are solely those of the respective reviewers and may not reflect the opinions of CriticalBlast.com or its management.
As an Amazon Associate, we earn from qualifying purchases. (This is a legal requirement, as apparently some sites advertise for Amazon for free. Yes, that's sarcasm.)

You love movies and TV. In fact, you dream about someday selling something to Netflix or even seeing your work on the big screen. If this seems like something that will just have to stay a distant dream, think again. Talent, persistence and the right idea at the right time can make your dream come true, but you'll need to work hard to get there. A great way to get some experience and create a kind of calling card for yourself is to make a short film. The tips below can help you accomplish this.
Start Small
First, when it comes to short, think really short. Under 10 minutes is best. Even five minutes or less is fine. There are a few reasons for this. One is that first-time filmmakers almost always make films that are too long. Giving yourself a strict time limit will help reduce the likelihood of this kind of overindulgence. You should also start small in terms of the scope and demands of the short. This is not the time to write or commission a period script requiring hundreds of extras. Think something contained, with a small cast. You'll have enough challenges on your hands as a first-time filmmaker without further complicating things for yourself.
Make a Budget
Another reason to keep things small is so that you can keep control of your budget. You can make a short film for not very much money, but you won't be able to attract investors as you might for a feature because there's not much to be made. You might want to consider taking out a personal loan to be able to pay back over time with favorable terms and build in your budget.
Work With Pros
One reason you need a budget is because in most cases, you'll have a better result if you can offer people some money to work with you. Many don't work on short films because they want to be rich, but professionals do expect to be paid something. Unless you have a particularly talented bunch of friends, you should be looking to hire professional actors, writers, and more.
Be Critical
When you are putting the film together, keep thinking about how you can improve it. If you already know how to write a good movie review essay you can apply the same strategy to your own project as it develops. Is there any padding on the script or elements that don't work? Are all the performances what they should be? How do the shots look? You'll ultimately be limited by time and money, but work to get the best material you can. During editing, don't be afraid to cut anything that doesn't work.
Get it Out There
What happens once you are done? You could throw your film up on the internet, but if this is truly going to be your calling card, you are better off going through more conventional channels. The best way to do this is by submitting the finished product to festivals. Don't post your film online before you have exhausted this possibility since some festivals may disqualify it if they can't premiere it. Be ready with a feature length project in mind if agents or investors show interest. If your efforts fail to garner much recognition, go back to the drawing board and try it again.
More by this author
FEATURED ALBUM
Songs of faith, family and moving forward.
Latest Release




