Friday, October 30, 2020

Running 360 Esports Reviews Using APEX - Part 2

This is Part 2 of my blog post exploring using Oracle Application Express to develop an esports 360 review process! If you haven't already please go give Part 1 a read.

After sending everyone their own customized links it took around 24 hours to receive all the player feedback, and my next step was to put together the player-facing dashboards.

Step 3 - Building the Player Dashboards


I wanted players to only be able to view their own information to allow some privacy. I could have made a bunch of user accounts to accomplish this, but instead just used a hidden page item passed via the URL and a unique code for each player. A few additional items I wanted to be able to show for each category evaluated:
  1. The range of scores teammates gave, anonymized so as to give no hard feelings.
  2. The average score from teammates.
  3. The coach's score.
  4. The self-score, or how each person self-evaluated.
That's a lot of information to display at once, but APEX provides a range chart which combined with some line series with line disabled provided this:


The most difficult part was not so much the charting as assembling the data. I had used a flat table structure which didn't fit well with the charting, so I created a view with some UNION queries and the Oracle min/max/avg analytic functions to better align the data structure with what the chart needed. Most players scored themselves within the range provided, although one player we discovered scored himself much higher than both his teammates and coach consensus.

Step 4 - Building the Coach Dashboard


The coach decided not to do the self evaluation, but I still wanted to provide him his ratings as seen by his players in a similar fashion. I also wanted to give the coach the ability to view each player dashboard individually. That was accomplished by simply copying the page above and turning the hidden page item into a visible drop down list to allow the coach to cycle through the player dashboards. This is one feature I love about APEX, how you can easily leverage and reuse prior work. Finally I made a new range chart to provide the coaching data like so:



Part of the reason for evaluating the head coach on these criteria is to help better divide his responsibilities for the next season, allowing him to focus on where he's strongest and adding more staff to provide deeper dives in other areas. I'm happy to see agreement with the team on areas I felt the coach was strongest in - Itemization/Runes, Micro, and Picks & Bans.

The one area I had disagreement on was in Macro/Strategy, where I felt the coach had a great grasp on this but the team at times struggled in game to think on their feet, so I felt a disconnect between player and coach. However the team clearly felt they gained in this area, so I'll need to factor that in for next season's planning. The areas of Team Fight Analysis, Video Review, and Vision are going to to be split into two new video analyst positions next season, and I may or may not seek to fill a third analyst position for Macro/Strategy.

Future Esports Dashboards


The dashboards above have already been helpful as management held a call and stepped through the data with the coach to help make some decisions towards next season. Here are some other ideas I've come up with for dashboards I'd like to develop in the offseason:

  1. Signups for Open Tryouts - We're planning to move into next season with two teams, a Silver/Gold and a Plat/Diamond, so I'll be creating a dashboard to handle signups and gathering of player information.
  2. Player Stats - The game has some nice new built in deep stat analysis, and I would like to explore the API to see if I can pull stats into a dashboard for tracking player progress and areas of improvement.
  3. Accountability - An important piece to the team's continued development is accountability at all levels. Are players showing up for practice or game review? Are coaches doing their individual responsibilities? Is everyone actively playing the game and staying fresh? We can find ways to track this and understand week to week what areas need the most help.
If you have a beginner understanding of SQL and would like to try building your own dashboards I would definitely recommend checking out Oracle Application Express - you can grab a free workspace here to test around with. I've found it a great tool at helping to gather data and solve problems!


The newly constructed Pudong football stadium in Shanghai, China will hold its inaugural event this Saturday 10/31 at 6 am EDT - the League of Legends World Championship featuring SN Gaming (China) vs. Damwon Gaming (South Korea). Stadium will operate at 20% capacity due to COVID.

Sunday, October 18, 2020

Running 360 Esports Reviews Using APEX - Part 1

Life's been weird since COVID reached the US in March. New York being one of the hardest hit first, saw a strong reaction from state government, and my small gaming business along with movie theaters, bowling alleys, and other entertainment venues were among one of the first shut down as non-essential. We've been unable to open since, and even when we are cleared may not open right away until the picture's looking a bit better.

A few months after the business closing, I was let go of my day job of 8 years as the airline industry had tanked. That series of events at the time felt brutal personally, but what I've learned now looking back is those are just bumps in the road. Myself and my family remaining healthy through the pandemic, when so many are not as lucky, is what's really the most important thing. I'm very grateful for that every day.

If 2020 is the bear from The Revenant, we are all Leonardo Dicaprio

One thing that has survived 2020 is the esports program we started in late 2016 at the shop. The League of Legends team kept at it practicing weekly and entering into tournaments, and we're just winding our season down now with worlds coming to an end. Every year we've changed things up, and we try to take the off-season as a time to review and understand what we learned, and make plans for the upcoming year.

I've conducted 360 reviews once before at the gaming center, and thought it may be good to apply to the esports program as a way of evaluating the players and coaches. For those that do not know a 360 review is when you evaluate yourself, your coworkers, your subordinates, and your supervisors. This gives a rounded feedback and helps to show areas each person may be overvaluing or undervaluing themselves. It also allows feedback to flow both ways, in this case the coach being able to evaluate the players, who in turn get a chance to evaluate the coach. APEX felt like the right tool for gathering data from the players and providing dashboards for both the players and coaches to explore that data. Here are the steps I took:

Step 1 - The Questions

I have a lot of time on my hands now so I spent some of that thinking about the game, the players and coaches we have, and what the core competencies are. League of Legends is such a complex game, partly what makes it so much fun to watch and play, like a giant chess game if only the chess pieces could be different every game. I ultimately settled on the following criteria for player evaluations:

  1. Communication - Both verbally and pings, and both in lane and during team fights.
  2. Team Fighting - It is like the game within the game, and requires deep understanding.
  3. Champ Proficiency - To do well in this game you need to have at least a few champs.
  4. Laning - The early-mid game, most players are able to master this first.
  5. Vision - What you can see, and what the enemy cannot, is vital to the game.
For coaching, we mainly had one coach for 2020, a player that reached Master rank for the first time this year. He wore many hats and I'm hoping to break up his responsibilities next year to help him focus on the areas he thrives at, and add more coaches to improve on other areas. I landed on the below criteria for evaluating the coach:

  1. Micro
  2. Macro/strategy
  3. Teamfight Analysis
  4. Vision
  5. Itemization/Runes
  6. Picks & Bans
  7. Video Review

Step 2 - Developing the Survey

I had admittedly not touched APEX in some months - after 13 years at it I didn't mind a little time away. But APEX seemed liked a good tool to develop the surveys so I took a crack at it tonight. I went with a flat table structure to save some time - one wide table to save all the feedback. My amazing web host MaxApex is always up to date with the latest version, and version 20 felt GREAT - no bugs or hiccups, and some nice new features like friendly URLs. Most of the questions I used the star rating item with a maximum of 10 stars.


The whole survey took me only two hours to code up, and I used a hidden page item to send a unique link to each of the players that would pull up a personally written thank you for them, and also help track who had submitted the survey. APEX is easy! It's like riding a bike it comes right back to you! After a few minutes of testing I fired off the links to the players confident that everything was working great.


So maybe I could have spent a little more time testing. Some custom columns I had set on the page for formatting were causing strange behaviors in various browsers.

I have half of the surveys submitted so far and am starting now on the player & coach facing dashboards, which I'll detail in Part 2 of this blog!