// initialize jwplayer var playerInstance = jwplayer('player');// player dom elements var playerContainerEl = document.querySelector('.player-container');// returns video player position from top of document function getElementOffsetTop(el) { var boundingClientRect = el.getBoundingClientRect(); var bodyEl = document.body; var docEl = document.documentElement; var scrollTop = window.pageYOffset || docEl.scrollTop || bodyEl.scrollTop; var clientTop = docEl.clientTop || bodyEl.clientTop || 0; return Math.round(boundingClientRect.top + scrollTop - clientTop); }// returns the current y scroll position function getScrollTop() { var docEl = document.documentElement; return (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); }// configure jwplayer instance playerInstance.setup({ autostart: true, playlist: 'https://cdn.jwplayer.com/v2/playlists/mYdavspX', primary: 'html5', setFullscreen: true, width: '100%' });// when jwplayer instance is ready playerInstance.on('ready', function() { var config = playerInstance.getConfig(); var utils = playerInstance.utils; // get height of player element var playerHeight = config.containerHeight; // flag determining whether close has been clicked var closed = true; // CHANGED // flag determing whether player is playing var playing = false; // ADDED // eventhandler for when close button is being pressed document.getElementsByClassName('icon-close')[0].addEventListener('click', () => { closed = true; onScrollViewHandler(); }); playerInstance.on('play', function() { closed = false; playing = true; // ADDED }).on('pause', function () { playing = false; // ADDED }).on('adPlay', function() { closed = false; // ADDED playing = true; // ADDED }).on('adPause', function() { playing = false; // ADDED });// get player element position from top of document var playerOffsetTop = getElementOffsetTop(playerContainerEl);// set player container to match height of actual video element playerContainerEl.style.height = playerHeight + 'px';// below we handle window scroll event without killing performance function onScrollViewHandler() { var minimized = getScrollTop() >= playerOffsetTop;if (closed && minimized) { minimized = false; jwplayer().pause(); playing = false; // ADDED } else if (!minimized && !playing) { closed = true; // ADDED } utils.toggleClass(playerContainerEl, 'player-minimize', minimized); // update the player's size so the controls are adjusted playerInstance.resize(); }// namespace for whether or not we are waiting for setTimeout() to finish var isScrollTimeout = false;// window onscroll event handler window.onscroll = function() { // skip if we're waiting on a scroll update timeout to finish if (isScrollTimeout) return; // flag that a new timeout will begin isScrollTimeout = true; // otherwise, call scroll event view handler onScrollViewHandler(); // set new timeout setTimeout(function() { // reset timeout flag to false (no longer waiting) isScrollTimeout = false; }, 80); };});

Downloadable Content Season has become a big part of Call of Duty ever since Modern Warfare 2. With MW3, Infinity Ward introduced a season of content, and they used Call of Duty ELITE to deliver that. For Black Ops 2, Treyarch brought back the original, map pack style DLC, which was successful for Activision.

Let’s take a look at how Call of Duty DLC was before, and what IW should do for Ghosts.

Modern Warfare 3 – 

Infinity Ward used Call of Duty Elite to deliver a nine month season of content. ELITE was a paid or free service back then. If you paid, you got access to new DLC first, every month for nine months. But with the DLC, they brought what everyone expected: new maps, new spec ops missions, and a new game mode. They didn’t deviate much from that. Many fans complained and asked for variety in DLC, including new weapons, but IW said that memory allocation was the biggest issue that resulted in no weapon DLC.

Black Ops 2- 

Treyarch did not use the ELITE service (as it has become a free service), but instead went to the classic four DLC packs style. They had a Season Pass, which gave you the four packs at a discounted price.  These DLC packs were also nothing big – new MP maps and new Zombies maps. The first DLC pack – Revolution – was the first Call of Duty DLC to ever include a new weapon for MP as past of DLC. Many fans were excited to see that Treyarch is finally brining that to the table, but the first map pack was the only pack to bring a new weapon.

Treyarch also introduced these Micro Item purchases, which brought new camos, calling cards, extra space, and more. The camos were released at different times throughout the year and were separate from the season pass.

What should Infinity Ward do with Ghosts for DLC?

So far, Infinity Ward has confirmed that they will be offering four DLC packs, which will be released in 2014. They will also offer a season pass which will give you the four map packs at a discounted price. That’s all they’ve confirmed thus far.

But what should IW bring with the DLC packs? We think they need to start brining new variety of content with every pack. New weapons, new characters, new campaign missions, new maps, new killstreaks, and so much more. With next-generation consoles, and new ways to allocate space, they should have a lot more freedom and options to help a new variety with DLC to Call of Duty.

What do you think Infinity Ward should bring to Ghosts with DLC? (Xbox getting DLC first is based upon a contract between Activision and Microsoft; Infinity Ward does not decide the release timings) 

comments below