// 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); }; });

GameInformer has shared a rapid fire interview with Infinity Ward’s Studio Art Director, Joel Emslie, asking the studio 129 questions about Call of Duty: Modern Warfare.

The video is live now, and we have summary here of what they talked about:

  • Modern Warfare is a whole new story line
  • No missions will mirror any old MW series missions in the campaign
  • In regards to remakes of COD4 maps: “We’ll have to wait and see…”
  • There are “many” MP modes that have not been announced
  • Joel’s favorite mode is Ground War because he “likes larger player counts”
  • Vehicle controls are different than that of Black Ops 4. “We’re creating a totally different game here.”
  • The game has realistic ballistics to weapons in all modes
  • You’ll notice bullet drop “through a well magnified optic”
  • “Engineers tell me its difficult” in regards to making cross platform play a reality
  • “Not focused on microtransactions” at this point
  • “We’ll have to wait and see” in regards to a Battle Royale mode in Modern Warfare
  • Campaign in MW is in similar length in that of the original MW games
  • The game is “not political”
  • Game story has made him cry
  • Spec Ops mode “has so much more depth than it did before”
  • Spec Ops is a “continuation of the campaign”
  • They intend to support Spec Ops post launch
  • Spec Ops does support split-screen
  • MP supports split-screen
  • “We didn’t want to put a number on Call of Duty 4” but always wanted it to be Modern Warfare
  • “I’m just focused on this” game in a response to Modern Warfare 2 Remastered
  • Beenox, High Moon, and Raven helping with Modern Warfare
  • It’s a new engine, not a “new” engine
  • No Zombies
  • Emsile really wished he worked on Call of Duty: Ghosts

You can watch the entire video here.

More GameInformer coverage will be releasing all month long. Stay tuned!

comments below