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

League Play released on Thursday, February 21st and has gotten a positive-leaning reaction from competitive players and a majority of the Call of Duty community.

The current League Play system doesn’t display all of the information to players that one might expect and this has led to some misconceptions about the game mode and its design.

Black Ops 4’s League Play overall event ranking system (leveled by placing 25th or higher) is meant to track long-term performance of players. It will take greater effect as a display of skill after 10-15 events have been played in a few months time. Treyarch wanted this as a way to replicate pro level play where there are no certain ranks and prowess is tracked by event wins.

This has led to some confusion as all players are currently Rank 1. This rank is not the rank which is used in the skill-based matchmaking algorithm. Rather, a hidden MMR or similar skill system is used to determine opponents for each game. This MMR is determined through the 5 placement matches which are played before being placed into a division (it is unknown if the MMR is modified after this however).

With that explained, let’s take a look at a few ways League Play could be improved.

Active Visible MMR Ranking

The current hidden MMR which determines opponents cannot be seen to players at all. This should be changed to a secondary ranking shown next to the overall World League Hub rank with a division ranking system similar to Black Ops 2. Iron to Masters depending on your current MMR.

This would give players the best of both League Play experiences with the long term prowess shown through the World League Rank and short-term success within each event shown with the MMR ranking.

Additional Class Slots/Sets

Competitive Call of Duty is an intricate eSport where each game mode requires something a little different. SnD requires Dead Silence while respawn game modes can ask for Stuns and other equipment choices.

The current six classes given to players for League Play is very limited and forces players to constantly change classes in-between games. There is very little time to do so when you see which game mode and map will be played.

This problem could be alleviated by allowing players to setup sets of six classes. For example, a set of SnD, a set of Control, and a set for Hardpoint. Additionally, many players prefer to play Flex roles which means they need to setup classes for several different roles. Six classes could be increased to 10 or 12 in order to allow for more variety in class choices.

Case Prizes for Wins

The newly released Case system has gotten some well deserved heat including from us at CharlieIntel: Opinion: Supply Drops are back in Call of Duty: Black Ops 4, and they’re awful.

The time it takes to receive Cases and reserves items falls in at about 2.5 hours per Case. This is ridiculous compared other games with loot boxes and the Cases often times include items like stickers and decals which are lackluster at best.

A way to help steer the Case situation in the right direction could be to reward League Play players who win matches (perhaps consecutive matches) with Cases. Each certain number of wins (3-5) would land you a new Case. This would also incentivize players who have not tried out League Play to give it go.

At the very least, it would be a nice olive-branch from Activision to the fans after a rather negative reaction to the current Case system.

Tell us your ideas on how to improve League Play or why you currently love/like the mode in the comments or on Twitter at @CharlieIntel.

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.