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

A new job listing for a ‘Narrative Scripter’ has appeared on Infinity Ward’s job page, suggesting that Call of Duty 2019 will in fact have a campaign mode.

The job listing overview says:

Come work with the game industry’s brightest on a new, exciting, unannounced title for multiple next gen platforms.

In this hands-on role, you’ll collaborate with scripters, sound designers, writers, and directors to implement voice-over performances in-game across a wide variety of player experiences – from combat to set-pieces.  

In addition, one of the roles of the job is to have “a strong desire to bring life to game characters through naturalistic and cinematic implementation of vocal performance.”

Many fans have been wondering about the state of campaigns in future Call of Duty games, as this year’s Call of Duty: Black Ops 4 is ditching a traditional campaign and instead focusing on delivery narrative story throughout the MP, Zombies, and Blackout modes of the game.

Call of Duty: Black Ops 4 is the first Call of Duty title that will launch without a traditional campaign. Treyarch stated that it was their own design decision to do so, and focus more on the other aspects of the game versus the traditional narrative story.

Infinity Ward has been known for delivering on stories. Call of Duty: Infinite Warfare had arguably one of the best Call of Duty campaigns.

Activision has not confirmed any details about Call of Duty 2019.

SOURCE: Job Listing  

comments below