World Library  
Flag as Inappropriate
Email this Article

Bad Timing (Farscape)

Article Id: WHEBN0009198875
Reproduction Date:

Title: Bad Timing (Farscape)  
Author: World Heritage Encyclopedia
Language: English
Subject:
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Bad Timing (Farscape)

"Bad Timing"
Farscape episode
John and Aeryn watch as an enemy craft approaches
Episode no. Season 4
Episode 22
Directed by Andrew Prowse
Written by David Kemper
Original air date March 21, 2003
Guest actors

Raelee Hill (Sikozu); Melissa Jaffer (Noranti); Paul Goddard (Stark); David Franklin (Captain Braca); Duncan Young (Emperor Staleek); Francesca Buller (War Minister Ahkna); John Adam (Pennoch); Kent McCord (Jack Crichton)

"Bad Timing" is the series finale of the Australian-American television series Farscape, written by David Kemper and directed by Andrew Prowse.

Contents

  • Plot 1
  • Production 2
  • Reception 3
  • Guest stars 4
  • References 5

Plot

As the episode opens, the Moyans are sending Scorpius to the Peacekeeper (PK) Command Carrier that is now being led by Braca, as Grayza has been confined to quarters. They strap a nuclear bomb to his chest, threatening that it will explode if the Command Carrier tries to follow Moya. Sikozu elects to go with Scorpius.

The Moyans discover that the Scarrans have sent an attack vessel, commanded by Akhna's lover, to take over Earth in order to gain access to the bird-of-paradise flowers that they need, because John destroyed their mother plant on Katratzi in We're So Screwed Part III: La Bomba. The PKs offer to hold off the Scarrans, if John—and by extension, Earth—will form an alliance with the Peacekeepers. John says no, and speeds to the wormhole to intercept the Scarrans and figure out a way to stop them.

Harvey then argues with John in John's head, with both of them wearing fluffy pink and white rabbit suits. Harvey convinces John there's no way he can save Earth without the help of the PKs, and he's about to concede and talk to them, when Chiana talks him out of it. He begins thinking, and each Moyan suggests to him a way to unblock his mind so he can come up with a plan. Ultimately, John formulates a way to collapse a wormhole, the down side of which is that he will have lost his route to Earth. And if he fails, he will be trapped on that side of the wormhole, on an Earth controlled by Scarrans. He decides to try, and Aeryn insists upon going with him—if he is trapped, she will be with him. He, Aeryn, and a temporarily disconnected Pilot take a shuttle to Earth's moon, where John makes an emotional farewell phone call to his father. Then, they successfully collapse the wormhole, and kill the Scarrans. Unfortunately, while Moya waits on the other side, she is attacked by the Scarrans, and is damaged. When John, Aeryn, and Pilot rejoin them, they travel to an unknown water world where Moya can rest and repair.

John and Aeryn row out a short distance from Moya in a small boat, and each tells the other they have something to say. Aeryn goes first, telling John the embryo has been released from stasis and that the baby is indeed his. An ecstatic John then asks her to marry him, slips his mother's wedding ring on her finger, and she says yes. As they kiss passionately, overhead out of nowhere a flying vessel suddenly appears, targets them and hits them with a ray that shatters them apart. They collapse into a shower of thousands of tiny crystalline pieces that fall down into a heap at the bottom of the boat and overboard into the ocean. As their friends on Moya watch on helplessly, overcome with wails of grief, the parting scene is of Aeryn's engagement ring sitting half buried in a pile crystalline shards...

... and the words : TO BE CONTINUED...

As they had expected to continue the story with a 5th series of 22 episodes. This however was unfortunately not to be, as the network (going back on their word!) cancelled the 5th season. Only thanks to much fan support and upheaval, were they able to ultimately wrap up the story some years later with the 2004 mini-series, Farscape: The Peacekeeper Wars.

Production

David Kemper has stated that "Bad Timing" was meant to follow up on John Crichton's realization in "Dog with Two Bones" that he must choose between staying with Aeryn and returning to Earth by forcing him to make a definitive choice. John's scene with Noranti in his quarters and his scene with Aeryn in the docking bay were also meant to recall "Dog with Two Bones". The scene with John speaking into the tape recorder was a reference to "Family Ties".[1]

The episode was originally to be titled "No Turning Back" but it was changed to "Bad Timing" after the series was canceled.[2] Ben Browder stated that they realised the "Bad Timing" theme fit the episode well during filming and that it also referred to the untimely cancellation of Farscape as the fifth season was being set up.[1]

The "Previously on Farscape" opening to the episode features four frames (1/2 second) from every previous episode of Farscape, in the viewing order preferred by the producers.[2]

Ben Browder has stated that the cold open from "Bad Timing" is his favorite opening scene from Farscape.[1] David Kemper said that when he originally conceived Farscape with Rockne S. O'Bannon, they wanted it to be Star Trek but with a focus on the mind and emotions. Kemper wanted to leave time travel to his former colleagues Michael Piller and Brannon Braga. But director Andrew Prowse, influenced by Memento, challenged Kemper to utilize nonlinear storytelling, leading him to write the cold open used in "Bad Timing".[1]

Kent McCord filmed his lines as Jack Crichton during the telephone conversation at the same time that "Kansas" and "Terra Firma" were being filmed, three months before Ben Browder's half of the conversation was filmed.[2]

David Kemper stated that the crystal shattering sequence was originally going to serve as the finale to season three.[1]

The final scenes in the boat were shot on location on the water near the studio.[2]

Wayne Pygram and Raelee Hill improvised the sex scene between Scorpius and Sikozu, including the use of S&M elements.[1]

Reception

"Bad Timing" received acclaim from fans, many of whom regard it as the best episode of the series.[3] [4] Critics, too, widely praised the episode.

IGN bestowed an Editor's Choice Award on the episode and gave it a rating of 9 out of 10, offering particular praise for the ending. IGN's review noted, "Fans will feel like they have been kicked in the chest when the credits roll...The final shot in this episode shows why Farscape fans have stuck around for so long – the unexpected is commonplace and the results worth waiting for."[5]

A BBC reviewer called it "a worthy end to a wonderful series"[6] but also noted that while most loose ends are tied up, "a few stray threads left an irritating sense of incompleteness"[6] and that the ending prevented a happy sense of closure that the rest of the episode could have achieved. Nevertheless, the BBC reviewer praised the decision: "No compromise right to the end - how could we not have loved this programme?"[6] and concluded, "Tense, emotional, and conclusive, Bad Timing had everything a finale needs, including a sense of finality."[6]

The cliffhanger that ends the episode, as well as most remaining plot threads, would be resolved 18 months later when the two-part miniseries Farscape: The Peacekeeper Wars aired on Sci-Fi.

Guest stars

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^ a b c d e f
  2. ^ a b c d
  3. ^
  4. ^
  5. ^
  6. ^ a b c d
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.