Belle-Ve Bricks

Custom Creations,
Unforgettable Impressions.

IMAGE  BATMAN  BATMOBILE BLOG
IMAGE  BATMAN  BATMOBILE BLOG

LEGO Set Review: The Classic TV Series Batmobile (76188)

Trusted by Over 392 Distinctive Clients
Custom model
Bring Your Idea to Life
lego-batman-76188-batmobile-1

Holy new release, we have another Batmobile to add to our collection! For this blogger, this new model represents the second best version of the Dark Knight’s mode of transport: the first being Anton Furst’s sleek vehicle from Tim Burton’s 1989 Batman.

When it first premiered in 1966, a colourful television series starring Adam West and Burt Ward as the Caped Crusaders, made its appearance during prime time on the ABC network in the United States and, at that time, was considered to be the most faithful adaptation of a bona fide superhero ever seen on the screen. Now regarded as something of a camp classic, the sixties TV version of the Batman has been overshadowed by the darker, crunchier versions of the Gotham legend, starting with Tim Burton’s gothic vision of the franchise, taken down a more realistic path by Christopher Nolan and more recently given murky heft by Zack Snyder who controversially broke Batman’s cardinal rule by letting the Caped Crusader actually kill his arch-villains in the process of protecting Gotham’s citizens.

The sixties’ television show was a perfect blend of the Saturday matinee movie serials, with its episodic same-time-next-week plotting and the comic books of the time. It became famous for a series of catch-phrases, used mainly by the Robin The Boy Wonder AKA Bruce Wayne’s ward Dick Grayson, who ran the alphabetic gamut with 352 ‘holy phrases’ from ‘Holy Agility’ to ‘Holy Zorro’. Its camp style, intentionally humorous yet simplistic morality and catchy upbeat theme music have all earned the show its cult place within popular culture.

A revolving coterie of iconic villains populated the show, many of whom played by actors getting their first big break in Hollywood: the main four were Cesar Romero as The Joker, Frank Gorshin as The Riddler, Burgess Meredith as The Penguin and Julie Newmar as Catwoman.

Another beloved staple of the show was its use of unique onomatopoeic word overlays that sprang up on screen, with pop art sound effect graphics, to punctuate the Dynamic Duo’s fight sequences: ‘Zzzzzwap!’, ‘Boff!’ and ‘Pow!’ were just a few of the 88 terms used to visually mark the moments when Batman or Robin dished justice out to one of Gotham’s deserving bad guys.

lego-batman-76188-batmobile-box-front

The Batmobile of the television series was a customised 1955 Lincoln Futura which had been previously used in ‘It Started With A Kiss’ (1959). According to custom car builder George Barris, five Batmobiles were made during the series.

lego-batman-76188-batmobile-box-back

But how does Lego’s latest addition to Bruce Wayne’s garage of vehicles measure up?

The fact that this model is stamped with an age guidance aimed at 7+ and comes in at 345 pieces should moderate one’s expectations for this set, especially those of us lucky enough to be the proud owner of the 1989 Batmobile (76139). At first glance, the LEGO® Store display nearly had me re-holstering my wallet, for this Batmobile seemed a bit of a disappointment up close but, spurned on by the VIP points burning a hole in my pocket, I plonked down my card ready to make the purchase.

lego-batman-76188-batmobile-box-side

Holy rip-off, what’s with the US/UK price differential? Stateside, this will set you back US $29.99 but in the UK £34.99 seems like daylight robbery, but hey the box sure is pop art snazzy, feels weighty enough and by the time I had gotten it back home to my own Bat cave, my eagerness to crack it open had all but banished any second thoughts I had indulged earlier. As Batman himself would say: ‘Quick, to the Batmobile!’

lego-batman-76188-batmobile-bag-contents

Cue spinning Bat insignia icon (actually Bat-fans, it’s a rotating image of the start button on the Batmobile’s instrument console!)

lego-batman-76188-batmobile-instructions

For a set of such meagre size and low brick-count, comprised mainly of standard components, it is quite astonishing just how successfully the designers have replicated the original look of this iconic vehicle in such an easy, no-fuss build.

lego-batman-76188-batmobile-stickers

Once you have carefully applied the 8 stickers, marvel at the sheer economy of brick design, the cantilevered, angled Batwing-tips and printed red Bat-insignia hubcaps. The iconic, striking delineation between red and black is what ultimately sells this Batmobile and will have you, if you’re of a certain age that is, reliving memories of Sunday morning TV and humming that theme tune: ‘Nana-nana-nana-nana-nana-nana-nana-nana Batman!’ whilst imitating the oft-repeated sped-up footage of Batman tearing out of the Batcave.

This Batmobile measures over 2.5” (6cm) high, 7.5” (20cm) long and 2.5” (7cm) wide and combines easily with other LEGO® DC Batman set, especially the aforementioned 89 Batmobile. Basically, this model upgrades the Batmobile from 2016 Classic Batcave set (76052) as a stand-alone display piece with an overall sleeker aesthetic which hews closer to the look of the vehicle from the television series.

Bat-Details:

The large red Bat-phone famous from the TV series, iconic exhaust and ridged back panel have all been included, as have the Bat-screen (represented here simply as a tan venting brick), the red flashlight and rocket-launchers.

The original 1966 Batmobile didn’t feature any shooters, therefore extra bricks have been added as have alternate build pages, to this set so the car’s hood can easily be rebuilt to more closely resemble the design form the TV show.

The Mini-Figures

This blogger has read comments on social media LEGO® groups charging that the mini-figure supplied here does not, even in the slightest, resemble the Adam West incarnation of the Caped Crusader form the sixties television show! Au contraire say I, for not only have they gotten the cowl just right, with its blend of black and blue colouring, with tiny ears and distinctive lining to denote a Bat-scowl; they have also nailed the torso printing, where they have even added subtle ‘man boobs’ and ‘fat rolls’ to depict the actor’s ever-so-out-of-shape condition for his super heroic role. The light grey and blue tights are spot on but unfortunately, Batman’s legs have not been dual-moulded. Crucially, the Bat-insignia adorning the torso is accurate to Adam West’s depiction.

Cesar Romero’s Joker is just as distinctive as Jack Nicholson’s, Heath Ledger’s and Joaquin Phoenix’s memorable portrayals of the clown-faced villain, he was the first to essay the role and, in many ways, his performance still casts a long shadow indeed over every other actor’s attempts to take on the role. Apart from developing that Joker laugh, one of Romero’s uncanny contributions to the Joker’s look was the actor’s steadfast refusal to shave off his luxuriant moustache, given that the role was a recurring one at best and not a steady week-in week-out job. Once you know this particular piece of trivia, you will never be able to unsee Romero’s upper lip hair follicles again, barely masked by the white clown make-up. This alone distinguishes him from other jokers in the pack, for there have been many in the pantheon of LEGO® mini-figures.

The Joker mini-figure here goes that extra mile and nails this geeky titbit for discerning Bat-fans. Ditto also the Joker’s garish green mane of hair and shocking pink with zoot suit striping running down the legs.

But where is The Boy Wonder I hear you cry? Robin’s absence here is riddle-me-this lunacy as Batman looks a trifle lonely without his trusty catch-phrase spouting sidekick. Perhaps, The Riddler had something to do with it, that fiend!

The turntable with accompanying plaque (fun Bat-fact: the Batmobile runs on ‘Batfuel’ of course!) is a nifty addition and marks this nostalgic model as a neat companion piece to the ’89 Batmobile. My only quibble is that we didn’t get any of those exclamatory word overlays to position on stands behind this fun addition to Lego’s fleet of Batmobiles:

lego-batman-76188-batmobile-built

‘Holy Missed Opportunity, Batman!’ – perhaps, but otherwise Bat-perfect…

(Here is a photo of yours truly running a signing for Adam West’s Back to the Batcave memoir at London’s Forbidden Planet circa 1995. Fun fact: this was taken moments after your humble blogger had damn near blown off Mr West’s toupee with a fan borrowed from their mail order dept. but that’s another blog Batfans!)

Share this on social media and let us know what you think by dropping a comment below!

<div class="badge-base LI-profile-badge" data-locale="en_US" data-size="large" data-theme="dark" data-type="HORIZONTAL" data-vanity="ferdi-vol" data-version="v1"><a class="badge-base__link LI-simple-link" href="https://www.linkedin.com/in/%E2%9C%85-ferdi-vol-corporate-gifts/?trk=profile-badge"></a></div>
/* Auto generated, hash = 5dceu9kevqjdyuy2uw1atqrsu */
//TODO: Break this file down so that we can actually unit test it.
(function(window) {
  /**
  * Renders all unrendred LinkedIn Badges on the page
  */
  window.LIRenderAll = function () {
    var CALLBACK_NAME     = 'LIBadgeCallback', //Must match callback on helpers.js
        BADGE_NAMES       = '.LI-profile-badge, .LI-entity-badge',
        // TODO -- tracking param for other badge types
        TRACKING_PARAM    = 'profile-badge',
        responsesReceived = 0, //Keeps track of number of responses recieved for proper cleanup when finished
        expectedResponses = 0, //Keeps track of number of responses to expect
        scripts           = [ ], //Keeps track of scripts added for proper cleanup when finished
        childScripts      = {}, //Keeps track of child scripts to render
        badges            = Array.prototype.slice.call(document.querySelectorAll(BADGE_NAMES));

    var i, len, badge, rendered;
    for (i = 0, len = badges.length;  i < len; i++) {
      badge    = badges[i];
      rendered =  badge.getAttribute('data-rendered');
      if (!rendered) {
        expectedResponses++;
        badge.setAttribute('data-rendered', true);
        renderBadge(badge);
      }
    }

    function isCNDomain() {
      if (typeof window !== "undefined") {
        var hostName = window.location && window.location.hostname ||  '';
        return (/linkedin(-ei)?.cn$/).test(hostName);
      }

      return false;
    }

    function generateUrl(isEI) {
      var domainPrefix = isEI ? 'https://badges.linkedin-ei' : 'https://badges.linkedin';
      if (isCNDomain()) {
        return domainPrefix + ".cn/";
      }

      return domainPrefix + ".com/";
    }

    function getBadgeKeyQueryParams(badge) {
      return Array.prototype.slice.call(badge.attributes).filter(function (attr) {
        return attr.name.lastIndexOf('data-key-', 0) !== -1;
      }).map(function (attr) {
        // Most browsers automatically lowercase the attribute name when its being read
        // We are calling lowercase on it again to ensure consistency for any browsers that are lagging behind.
        return encodeURIComponent(attr.name.replace('data-', '').toLowerCase()) + '=' + encodeURIComponent(attr.value);
      });
    }

    /*
    * Renders a single badge on the page
    * @param badge: div element of badge to render
    */
    function renderBadge(badge) {
      var size       = badge.getAttribute('data-size'),
          locale     = badge.getAttribute('data-locale'),
          type       = badge.getAttribute('data-type'),
          theme      = badge.getAttribute('data-theme'),
          vanity     = badge.getAttribute('data-vanity'),
          version    = badge.getAttribute('data-version'),
          isEI       = badge.hasAttribute('data-ei'),
          entity     = badge.getAttribute('data-entity'),
          isCreatePage = badge.hasAttribute('data-iscreate'),
          uid        = Math.round(1000000 * Math.random()),
          baseUrl = generateUrl(isEI),
          queryParams = [
            'locale=' + encodeURIComponent(locale),
            'badgetype=' + encodeURIComponent(type),
            'badgetheme=' + encodeURIComponent(theme),
            'uid=' + encodeURIComponent(uid),
            'version=' + encodeURIComponent(version)
          ],
          url;

      if (version === 'v2') {
        baseUrl += 'view';
        queryParams.push('badgesize=' + encodeURIComponent(size));
        queryParams.push('entity=' + encodeURIComponent(entity));
        queryParams = queryParams.concat(getBadgeKeyQueryParams(badge));
      } else {
        baseUrl += 'profile';
        queryParams.push('maxsize=' + encodeURIComponent(size));
        queryParams.push('trk=' + encodeURIComponent(TRACKING_PARAM));
        queryParams.push('vanityname=' + encodeURIComponent(vanity));
      }

      if (isCreatePage) {
        queryParams.push('fromCreate=true');
      }

      url = baseUrl + '?' + queryParams.join('&');
      badge.setAttribute('data-uid' , uid);
      jsonp(url); //Calls responseHandler when done
    }

    /**
    * Handles a response from the server. Finds badge matching badgeUid and inserts badgeHtml there
    * @param badgeHtml: String representing contents of the badge
    * @param badgeUid: UID of the badge to target
    **/
    function responseHandler(badgeHtml, badgeUid) {
      responsesReceived ++;

      var i, badge, uid, isCreate;
      var defaultWidth = 330 // max possible width
      var defaultHeight = 300 // max possible height

      for (i = 0, len = badges.length; i < len; i++) {
        badge = badges[i];
        // isCreate needed to prevent reloading artdeco script tag
        isCreate = badge.getAttribute('data-iscreate');
        uid   = parseInt(badge.getAttribute('data-uid'), 10);
        if (uid === badgeUid) {
          var badgeMarkup = `<body>${badgeHtml}</body>`
          var iframe = document.createElement('iframe');
          iframe.onload = function() {
            var iframeBody = iframe.contentWindow.document.body;
            // 5 px buffer to avoid the badge border being cut off.
            iframe.setAttribute('height', (iframeBody.scrollHeight || defaultHeight) + 5);
            iframe.setAttribute('width', (iframeBody.scrollWidth || defaultWidth) + 5);
          };
          iframe.setAttribute('frameBorder', '0');
          iframe.style.display = 'block';
          badge.appendChild(iframe);
          iframe.contentWindow.document.open();
          iframe.contentWindow.document.write(badgeMarkup);
          iframe.contentWindow.document.close();
          replaceScriptTags(badge, isCreate);
        }
      }
      tryClean();
    }

  // These functions are needed because badge markup is added via innerHtml property which does not run script tags
  function replaceScriptTags(node, isCreate) {
    if (shouldReplaceNode(node, isCreate)) {
      node.parentNode.replaceChild(cloneScriptNode(node), node);
      childScripts[node.src] = true;
    } else {
      var i = 0,
          children = node.childNodes;
      while (i < children.length) {
        replaceScriptTags(children[i++], isCreate);
      }
    }
    return node;
  }

  function shouldReplaceNode(node, isCreate) {
    return isScriptNode(node) && !childScripts[node.src] && (!isCreate || (isCreate && !node.getAttribute('data-isartdeco')));
  }

  function isScriptNode(node) {
    return node.tagName === 'SCRIPT';
  }

  function cloneScriptNode(node){
    var script  = document.createElement("script");
    for( var i = node.attributes.length-1; i >= 0; i-- ) {
      script.setAttribute( node.attributes[i].name, node.attributes[i].value );
    }
    return script;
  }

    // Gets all incoming responses
    window[CALLBACK_NAME] = responseHandler;

    /**
    * Tries to clean added tags
    **/
    function tryClean() {
      //Clean up after all requests are done..
      //Accounts for people including script more than once
      var done = (responsesReceived >= expectedResponses && expectedResponses > 0) || responsesReceived >= badges.length;
      if (done) {
        delete window[CALLBACK_NAME];

        // remove all script tags
        scripts.map(function(script){
          document.body.removeChild(script);
        });

      }
    }

    /*
    * Makes Jsonp request, responses handles by CALLBACK_NAME
    * @param url String: url of server to make request to
    */
    function jsonp(url) {
      var script = document.createElement('script');
      script.src = url;
      scripts.push(script);
      document.body.appendChild(script);
    }
  };

  if (document.readyState === 'complete') {
    window.LIRenderAll();
  } else {
    window.addEventListener('load', window.LIRenderAll, false);
  }

})(window);
Popular Posts