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

As GameInformer’s coverage of Call of Duty: Modern Warfare continues, the website posted a new feature today discussing some of the controversial moments from the past – notably the No Russian mission in 2009’s Call of Duty: Modern Warfare 2.

Infinity Ward’s Art Director, Joel Emslie, says that the studio at the time was divided over how far they wanted to take the No Russian mission in Modern Warfare 2 and what they really wanted to show to the fans. The mission has received a lot of fan fare and media coverage over its intensity during its time.

“No Russian polarized this studio,” art lead Joel Emslie says. “There was a side of the studio that felt that it should be played from the perspective of a security guard that got caught up in it, then there was the other side that liked the way it was going. I remember doing all the civilians for No Russian, and I just wouldn’t … there was a point in time where we were discussing how gory we would get with the people who were getting hit. I pulled back, and I said, ‘You don’t need it. People are getting tagged and their squibs are going off; it’s all good.’”

Emslie stated that the No Russian mission actually got more blood and gore after hearing feedback from his wife for the mission lacking that. “My wife looked at it and she’s all like, ‘Where’s all the blood and guts?’ and I’m like, ‘We didn’t need to do it,’” he says. “She called me out. She calls me on my bulls—. It’s pretty funny. She looks at things in a different lens. She’s a lawyer. She doesn’t mess around, but she’s a good gut check on stuff.”

This year’s Call of Duty: Modern Warfare title is poised to have more moments like this as the studio is taking the franchise to new levels of realism with intense moments. The campaign gameplay we’ve seen thus far during our visits were quite dramatic compared to what Call of Duty has done before.

GameInformer asked the studio campaign leads if there’s a particular moment in this game that will be caught by fans as intense and maybe controversial.

They state that there is potential for many moments in this game to cause the same effect.

“People ask us that internally over and over. They’re like, ‘Where’s your blankety blank scene?’,” campaign gameplay director Jacob Minkoff says. “There are so many of those at this point that people have stopped asking that question.”

The answer is it’s the whole game,” studio narrative director Taylor Kurosaki says. “I could come up with a list of like eight different things that it could be. Who knows what it will be.”

“I suspect there will be a number of different moments and people will call out their different favorite moments,” Minkoff says. “In the same way that in Modern Warfare 1, people called out the nuke and the aftermath sequence where you crawl out of the helicopter, or they called out the AC-130, or Crew Expendable, or All Ghillied Up. There were a bunch of those, and I feel very confident that we have a bunch of those.”

Infinity Ward has still not shown gameplay of Call of Duty: Modern Warfare’s campaign publicly yet. Many members of the media and content creators have had a chance to see certain levels.

SOURCE: GameInformer

comments below