Belle-Ve Bricks

Tailored Creations,
Unforgettable Impressions.

flintstones
flintstones

“A Modern Stone Age Family” A Blog-stone of LEGO® Ideas Set 21316

Trusted by Over 392 Distinctive Clients
Custom model
Bring Your Idea to Life

Originally conceived as an animated version of ‘50s US primetime hit ‘The Honeymooners’ but relocated to the town of Bedrock circa 10,000 years BC (population 2,500 as the iconic opening titles informed us) ‘The Flintsones’ ran for 166 episodes between 1960 and 1966 and it became so successful that it established Hannah-Barbera as the largest producer of animated TV shows and planted its flag in pop culture as the first ever prime-time cartoon series, eventually becoming a much-loved hit around the globe.

This particular franchise was always ripe for reinvention as a LEGO® Idea, and in February 2017, Andrew Clark (aka AndrewClark2 known for his popular Doctor Who Set, 21304) obliged us with his concept for what became the 24th Idea made a LEGO® reality, in 748 pieces and aimed at ages 10+. When it originally hit the shelves it cost £54.99 / $77.99, but that price has been driven towards £79.99 / $112.99 on eBay since becoming sold out and heading for retired set status.

Once you disgorge the colourful brick packaging of its six densely-filled bags and leaf through the glossy instruction manual, you are in for one Yabba Dabba Doo time of a build.

The interior of the Flintstones’ home is densely packed with fun suburban details: a TV with antenna, coffee table with fruit bowl, lamp, telephone and bowling ball box with bowling pin elements. However, these quarters do feel a little cramped, in fact the house itself is arguably on the small side given the scale of the car.

There are two floor sections which swivel out, by use of hinge-joints which expand the rear of the house for display and play purposes.

The addition of a bowling lane might have helped here. The front door also opens so that Fred or Wilma can take the milk bottle pieces outside.

Especially from an exterior vantage point, this model splendidly captures the romanticized Stone Age aesthetic of the original animation, resulting in a neat, cute look that, at a glance, when displayed, could even be mistaken for one of Hanna-Barbera’s hand-drawn cells. In particular, the outside walls of the Flintstones home, with its contoured grey slopes and mottled, chunky chimney stack, catch the eye and serve as the key visual bedrocks (sorry!) for this prehistoric suburban setting.

The windows continue this curved styling of the model. The hanging printed tiger tiles (elements unique to this set) depict the curtains and are able to sway on their joints which adds to the playability of the set.

The removable roof is a miracle of brick design, with standard elements locking together and topped with grey tiles, to form a sturdy yet decidedly-uneven surface that sits snugly and securely atop the rest of the build.

Lego could have provided hinge elements here possibly to aid with display and make it a tad more user-friendly but these feel like churlish gripes.

The green garden base-plate, with plants and flowers which surrounds the house strikes a nice contrast with the stone greys of the home, as does the buildable palm tree that attaches on the right flank.

There have been a slew of complaints from a handful of online commentators that this kit pales in comparison with the original concept for the project.

It had originally included more characters: the children, Pebbles and Bam-Bam along with the family’s purple pet Snorkasaurus Dino.

Whilst their omission might be deemed unforgivable in the eyes of many Flint-fans, this blogger would argue that, as a whole, this impressive model hews more closely that the fan submission to the simple distinctive lines of the Hannah-Barbera cartoon style, an enduring feature that earned them the handle ‘The Architects of Saturday Morning’.

Dino would have been a hit though, if scaled more suitably with the mini figures (unlike in the submission). Similarly, the added detail of a bird-operated gramophone would have been a superb touch and might have silenced any potential naysayers. Perhaps the room available was a factor here.

The earlier concept, to my eyes, was too blocky in its design but it did include a ‘Welcome to Bedrock’ sign that would have been welcome here and a handy driveway feature but we do get a mailbox set piece with an actual stamped envelope element so attention-to-detail hasn’t exactly fallen by the wayside with what became commercially available here.

The Flintstones’ car or Footmobile is replicated here with a simply effective design that comprises a tilting dashboard built and backseat on hinge elements so that the vehicle can accommodate all four mini figures.

The steamroller wheels are constructed from tan-coloured half-cylinder units that and the hub-cabs are printed with a cartoonish swirl in keeping with the Hanna-Barbera house-style that match the steering wheel, but the drum itself would have benefitted from more detailing.

Unlike the submission, the roof here is tailor-made from a unique cloth element which is nicely cut and fits over a couple of rods and held in place by plates with shafts. The fact that the roof tilts back to reveal the car’s occupants is a lovely touch, but unfortunately we do not get an open panel in the floor of the vehicle to facilitate Fred’s foot power.

The attachable, dinosaur rib really needs a car-jack element to prop the Footmobile at an askew angle and therefore this seems like a slight oversight but one easily remedied by a bit of MOC ingenuity.

‘Meet the Flintstones’:

Much has been made that the earlier release version of this model had the collectable cartoon mini-figures wearing fabric skirts and caveman rags, which apparently restricted movement of the characters. Their revision here with printed clothing keeps the original designs and increases poseable options. Many have vented their disappointment that this set of figures sticks with the classic mini-figure design, whereas a more bespoke approach, a la The Simpsons with their sculpted heads would have undoubtedly resulted in a more cartoonish look.

Fred and Wilma Flintstone

Fred Flintstone was drawn to physically resemble the first voice actor who depicted him, Alan Reed. His incarnation here in mini-figure form has that same five o’clock shadow as his cartoon counterpart, but lacks that sorrowful scowl that defined Fred. Here Fred has a Colgate-grin, he seems permanently in bliss and het most certainly doesn’t holler ‘Wilmaaaa!!!’ like he does in the cartoon.

Why not give us exchangeable expressions like most figures come with? Wilma has been adorned here with two sets that befit her character perfectly: she’s either happy or annoyed with Fred. Wilma’s bee-hive should have been much higher though. But Fred’s iconic orange with black polka dots onesie is present and correct.

Barney and Betty Rubble

Again, one expression for the agreeable Barney is provided here (‘Hey Fred’) whilst the demure Betty gets to chortle when she’s not being gorgeous (seriously, how did a lunkhead like Barney ever land a fox like her?). Both hair piece elements fit perfectly with the overall design as does the printed clothing.

To round off, this is a wonderfully nostalgic piece which captures the look of the Hanna-Barbera cartoon effectively and makes a beautifully retro item that, apart from a few nitpicky short-comings aside, actually improves upon the initial concept and achieves a successful rendering in three dimensions of the original source material. It’s a perfect way to reacquaint oneself with this modern Stone Age family.

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