// 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 Activision Blog post has gone up with a discussion with Infinity Ward’s Art Director, Joel Emslie, who talks a lot about the new technology they are utilizing to ensure that Call of Duty: Modern Warfare looks as good as it does with realistic environments and more.

As part of that new blog post, there was a discussion about the multiplayer character selection screen where Operators can be selected to play as. As a reminder, Operators only feature cosmetic differences — there’s no special abilities and there’s no specialist in this game.

Infinity Ward has put a focus on making the character selection screen more realistic, allowing players to get an in-depth look at their characters design before heading into a match with players. The team at Infinity Ward went to an actual prop house and put out all the props for the selection environment to ensure its real and feels realistic when you see it in action in-game.

This standard, naturally, extends to the outfits and garb each entity in the game wears or carries on their person. Even the screen where you choose an Operator to play as in Multiplayer was painstakingly realized. “The [operators] and characters you work with are all standing in a photographic real environment. If you zoom in and zoom out you can see the environment parallax, it’s dimensional; it’s a photographic projection technique. This is a real space that we went to – a prop house – we got everybody out of the studio that day, and we got props, and we set-dressed, and we shot all of this, creating a realistic environment, but our goal is that every time we show you something, it needs to feel real. It can’t be just a character spinning in a black space, or some kind of low-res, crappy environment.”

The entire screen lets to you zoom in and out and see the details on what you have on the characters and the different effects the added assets have on the character designs.

Breaking out real-life props and making photo-realistic in-game versions of them, leads to some truly impressive results. Take Operator Grinch, who wears the ghillie suit, for example:

“I’ve been chasing after stuff like this for years.” Joel tells us, with a laugh: “I did the original ghillie suit,. I don’t get to [design] this, a character artist that I work with now totally kicked my ass, so they get to do it, and I get to kind of admire how badass that is.” It’s not only impressive to look at, but like the atmospheric environments, it’s also designed to aid gameplay. “What’s cool about this is; it’s concealment. You can crawl round, smith your gun a certain way, put some ghillie on it, and crawl around and use it properly.”

As we watched another playable Operative (“Zane”) on-screen, we marveled at the utterly believable torso-length cape flapping and draping over the character’s body armor. Joel was quick to correct us:

“That is not a cape, it’s a tactical poncho. I saw this thing a few years back and thought it was awesome, so we went after it, and found the right character for it. This is stuff I’ve been wanting to do for years that we couldn’t. At one point I was told I couldn’t do high collars or low jackets on characters, and now we can do a full poncho. This dude’s badass!”

Joel brings up another character, an operative named Kreuger, wearing a helmet with camouflage “frogman” netting shrouding the entire face and shoulders. “We’ve been chasing this type of character design for I don’t know how long. I’ve tried, and failed miserably until now, when we’ve got it right. There’s so much happening to make this look right. The cloth and the netting on his hat have to look a certain way, to render a certain way, and you have to see through it.”

Full details on MP for Call of Duty: Modern Warfare has not been announced yet. Activision has not shared details on when to expect the MP reveal, so stay tuned for more info.

SOURCE: Activision

comments below