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

Combat Records have had a hard road in Call of Duty with some games containing almost no detailed stats for players. Black Ops 4 stands somewhere in the middle ground, but is that good enough?

We don’t think so. Treyarch used to be the leader in Call of Duty’s development circle for creating detailed statistics for players. Black Ops 1 introduced one of the most detailed Combat Records ever released in a game. Stats on weapons, grenades, gamemodes, etc. were displayed for players.

Zoom forward to Black Ops 4 and we have different story. Players no longer have detailed stats for individual weapons, only for their career as a whole.

For a look at what Treyarch should be aiming for, let’s take a gander at Black Ops 1’s Combat Records. It’s not a pretty comparison.

The game included heat maps for each map played, individual game modes and match data, CoD point earnings graphs, body heat maps, weapons stats, and much more.

All of these stats could not only be seen by yourself, but also by other players. You could analyze their stats, look for weaknesses, and plan out your best ways to beat the opponents. If someone said they were a “god of CoD,” you could easily dispel that notion by checking up on their 0.31 K/D.

In comparison, here’s a view at Black Ops 4’s Combat Record.

A rather bland screen with some stats on your personal performance with EKIAs tracked above direct kills. No weapon stats, no heat maps, no killstreak info.

Our suggestion to Treyarch is to learn from themselves. Treyarch were the visionaries that improved upon the success of MW2. Now it is time to look back and see the success they paved and re-implement these great features.

It would be a boon to the game as a whole and allow us all to better understand what we are doing right/wrong in our gameplay. It would help us understand each other as teammates and how we can win more games together.

comments below
A life-long Call of Duty player, Bachelor of Game Design, and a lover of eSports. Floodsye is my real name, Tommi is just the gamertag my parents gave me.