Giter Site home page Giter Site logo

maelstromeous / ps2alerts-website Goto Github PK

View Code? Open in Web Editor NEW
10.0 5.0 1.0 7.17 MB

This project has moved!

Home Page: https://github.com/ps2alerts/website

License: GNU General Public License v2.0

JavaScript 47.98% CSS 8.34% HTML 39.66% PHP 4.02%
statistics angular planetside planetside2 gaming javascript php docker

ps2alerts-website's Introduction

PS2Alerts

Planetside 2 Alert Statistics

ps2alerts-website's People

Contributors

maelstromeous avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

alextend

ps2alerts-website's Issues

Alert Leaderboard additions

In talking with The1337Boss / Definia, he made a suggestion to add:

  • Kills as Infantry
  • Kills as Vehicle
  • KPM

Re-write Real Time Alert Monitor

Since the introduction of the new territory mechanics, the Real Time Alert Monitor is in a sorry state. It's constantly "double decking". The logic behind it as well is very confusing at the moment.

Alert Leaderboard mobile performance woefully slow

Mobile rendering of the leaderboards results in a very poor experience. Loading times are slow for redraws, although do improve once a user searches for something.

Also the headers of the table don't line up with the data upon horizontal scrolling.

Need to investigate if these issues can be mitigated or somehow changed on mobile devices. May have to paginated for mobile.

Create Alert History Page

Features:

  • Last 24 hours of all servers (no limit)
  • Last 24 hours of a selected server (no limit)
  • Filter by Server
  • Filter by Zone
  • Filter by Time Bracket
  • Filter by Faction
  • Alerts between a date range
  • Alerts between a date range and on a selected server
  • Alerts won by a selected faction, between a date range
  • Dynamically append alert upon websocket end alert
  • Represent dynamically added alerts that may not be part of the selected filters
  • Show In Progress Alerts

Facility captures on Indar outside of the "T Meta"

So we all know Indar has a T like shape to activity on the continent, it might be good to know which facilities are classed as being within the T, and provide metrics on those, such as captures for bases in and out of the T.

Hall of Fame

Hall of Fame, highlighting things such as:

Definates:

  • Top Farmers (top by kills)
  • Top Crops (top by deaths)
  • Top Backstabbers (top by TKs)
  • Top Daredevil (top by suicides) - may change name of this to prevent {{triggers}}
  • Top Outfits (by kills initially)
  • Top Outfits by Captures
  • Top Vehicles - will see if server filtering is possible
  • Top Weapons - will see if server filtering is possible
  • Top Alerts by Kills, Deaths, Tks and Suicides
  • Most contested facilities

Possibles:

  • Top Tanker (top by Tank to everything)
  • Top Ace (top by ESF to ESF kills) - might be a bit difficult but I'll try
  • Top Medic
  • Top Platoon leader - possibly, depends how hard the data is to get
  • Top Classes (top players by each class by metrics (kills initially))
  • Top Players by Sanctioned Weapon kills - this is an interesting one... does anyone have a definitive list of what is classed as a "Sanctioned Weapon"?
  • Top Cheese Grater - Top MAX players
  • Top Ammo Donkey
  • Top Tank Mine Tosser
  • Sticky Gren Supremo
  • Top Welder
  • Turret Meister - kills with MANA turret
  • Pocket Engi (Top max repairs)
  • Bubble Gum Vendor (Top medic bubble shield points)
  • Necromancer (Top revives)
  • On point (Top point captures)

Suggestions:

  • Top players by kills with sanctioned weapons
  • Top vehicle killer - need to confirm I collect this info
  • Have monthly, weekly and daily leaderboards

Etc

Add sitemap generation

Add PHP script to generate the sitemap.

Will have to add this into the API. Simple call listing all alerts then adding static routes should suffice.

Image fix

Boss told me how to fix the image invisible margin issue:

Add display: block to the image itself, will trip away whitespace.

Facility statistics with heatmap

Generating maps using the vast amount of capture data to hand would be useful.

For example, on a per continent basis, I should be able to show heat map of all captures recorded. This would give a very nice indication of which bases are the most contested.

Filters:

  • Server
  • Continental
  • Faction wins (bit more tricky / intensive as we'll have to get all alerts first then filter by that)
  • Outfit captured (may expand to a separate outfit section)

Re-write Websocket Logic

The current websocket connection logic is a complete mess. Ideally, should be modular so I can include certain files.

Maybe look into using RequireJS to implement the appropriate script loading.

Real Time Monitor alerts only showing up occasionally on Staging

On local, the realtime alert monitor shows up consistently. However on Staging, there is just a blank div there with the headings.

I believe this may be to do with the ng-repeat is somehow firing before the data is there?

This also may have to do with the eventing system.

Alert Detail leaderboards may be showing incorrect outfits accrediations

This may be related to recent reports I've been getting of INI not getting enough participants to count for an alert. This may be related to reports I've been getting where people are also in the wrong outfit.

I suspect BIGINTs are having an affect here. May need to typehint the ID as a string then reference that.

Faction performance in different time brackets

Situation:
People play at different times, outfits have ops at different times, and people from different locations play in different time zones. Different outfits do OPs or are more active on different days of the week.
Faction overpop can be timezone dependent too. The competitiveness of servers is highest from early evening through to late night, peaking at primetime.

Suggestion:
It would be useful to have some sort of way of seeing performance by different time brackets.

The best case scenario might be the user being able to specify custom time brackets.

  • Days of the week and/or time of day. Time of day is most commonly useful. Outfits OPS on certain days would make being able to specify multiple brackets interesting to some players.
  • If custom time brackets is are not possible: examples of possible buckets might be afternoon, evening, primetime (around 6 to 9 PM?), late night.

Problems:

  • Unequal starting positions and skewed population distribution.
  • Legitimately focusing on non Alert VPs complicates things.

Performance metrics:

  • Simplest might be total wins.
  • The best case might be custom weighting based on average population imbalance, taking into account unequal starting positions.

Convert server victories to stacked bars

It makes a ton more sense to convert these to a set of bars rather than just numbers as you can see a overall percentage as well as the metrics themselves.

Added benefit is that we won't need to rely on a responsive table either.

X and Y axis will need to be flipped round.

Create Alert Detail Page & Features

Showing the statistics of the alert and details on what went on.

Features:

  • Basic Alert Information

Statistics:

  • Territory Capture Bar

General Combat Statistics

  • Kills, Deaths, TKs, Suicides counts
  • Faction Kills timeline

Leaderboards

  • Players Leaderboard
  • Outfits Leaderboard
  • Weapons Leaderboard
  • Vehicles Leaderboard

Class Combat

  • Totals
  • Player Leaderboards

Map Stats

  • Map Timeline
  • Real Time Map
  • Capture Log
  • Facility Capture Statistics
  • Faction territory combat (who taken who's territory)

Other Stats

  • XP Statistics
  • Need X more bases to win

Player / Outfit Profiles

Idea's been brewing in my head for some time now.

The ultimate user experience is to be able to see their own impact in the game. To this end, I believe User profiles will be the best way to do this.

E.g. A user can search for themselves or another player and see their statistics across the board, such as how many alerts they've been involved in, how many kills have been recorded for them, etc.

Same can go for outfits.

Players

  • Total Kills
  • Total Deaths
  • Total TKs
  • Total Suicides
  • Total Headshots
  • Number of Alerts participated
  • Using above, KPA and DPA
  • Weapon Statistics
    • Kills per weapon
    • TKs per weapon
    • Headshots per weapon
  • Vehicle Statistics
  • List of all alerts participated, along with basic metrics (kills, deaths, K/D), which will link them to the actual alert itself.
  • XP Types (with ribbons)
    • Revives
    • Heal
    • Repairing

Census Info: https://census.daybreakgames.com/get/ps2:v2/character/5428010618035323201?c:resolve=stat,stat_by_faction

Outfits

  • Total Kills
  • Total Deaths
  • Total TKs
  • Total Suicides
  • Total Members
  • Number of Alerts participated (may have to somehow restrict this to prevent 1 man alerts always contributing to this metric
  • KPA and DPA
  • List of members, showing all their statistics (this will have to be heavily cached)
  • List of all alerts participated, along with basic metrics)

Add Draw compatability

Until now Draws have been broken in the site. Need the ability to use them correctly.

Create Homepage & Features

  • Victory Statistics
    • Victory Timeline
    • Server victory distribution table
    • Continental victories distribution table
    • Last Week's Victories
    • Last Week's Graph
    • Last 30 days Victories
    • Last 30 days Graph
  • Combat Statistics
    • Totals
    • Kills by Weapon - Added button to leaderboard
    • Kills by Class
    • Avg Kills per person
  • Population Statistics
    • BR distribution by server
    • Avg BR by Server
  • Vehicle Statistics
    • Kills / Deaths by Vehicle
    • V->V Vehicle combat distribution (what vehicle killed what)
    • V->I Totals

Frost the current data rather than remove

If a user has a list of alerts, then clicks filter, because I'm removing them from the DOM, it's causing the user to be jumped higher up in the page.

Ideally need to keep the space that the data already occupies. Might be able to do this by "frosting" out the current data while the new data loads in then swap it out.

ParseAlert Bug

TypeError: Cannot read property 'wins' of undefined
    at Object.factory.parseAlert (main.js:1)
    at main.js:1
    at deps.js:2
    at m.$eval (deps.js:3)
    at m.$digest (deps.js:3)
    at m.$apply (deps.js:3)
    at g (deps.js:2)
    at t (deps.js:2)
    at XMLHttpRequest.u.onload (deps.js:2)

Performance metrics taking population imbalance into account

Situation
Populations can get quite imbalanced during the course of Alerts. The imbalance can vary quite a bit.
There is a end of the Alert swing towards the wining faction, caused either by players on losing factions logging off or switching sides.

Servers can have extended periods of overpop or underpop for different factions. During these times, the actual performance of the faction is of interest to leaders/vets on underpop factions, and a morale booster if performing strongly.

In the new VP system, ganging up on a faction is common and something Daybreak should look at. A faction can perform quite strongly and still lose an Alert, so performance would be very interesting to those factions and bragging rights.

Suggestion:

A custom performance metric that takes pop imbalance into account. If this isn't possible a measure of pop imbalance would be interesting to a lot of people.

Possible metric

  • Pop imbalance on each front needs to be taken into account. A slightly overpop faction may be getting zerged by the other two factions - or the most underpop faction could be ganged upon.
  • Ideal distribution of forces: Factions should proportionally distribute forces based on the relative sizes of the other two factions.
    • e.g. Enemy faction 1: 20%, Enemy Faction 2: 40%. Faction distribution of forces should be 1:2.
  • Territory score could be weighted by average ratio population to enemies faced.
    • Population could be sampled at intervals to get the average population imbalance (e.g. 1 min)
    • To prevent a faction gaining ground on another faction during a pop spike, perhaps each time territory changes, the change could be weighted by the overall population imbalance.
  • Problems:
    • Un-equal starting positions are a concern. Perhaps only net change in territory could be considered?
    • Continent bonuses. Facility benefits should be fair game.

Presentation:

  • Alternate win condition? Perhaps Alert cards could be coloured by who won based on Daybreak's scoring and performance metric. If the performance metric turns out good, it can be given a larger area.

Would it be possible to bring back Alert population statistics?

Hey Maelstrome,

I realize you still have lots of plans for the new and improved PS2alerts, I was just wondering if this feature would be making a comeback. Since VPs came to be, and people can just switch factions in the last few minutes of an alert, it seems 4th factioning is a major issue again. It would be great to see the population throughout the alert, like the previous version of PS2 Alerts. Previously it was real-time, and that is not at all necessary. If even it pulled the population every 10 minutes, that would give us plenty of info on how the population played out throughout an alert.

Thanks for all the hardwork, it is by far my most used Planetside 2 related site!

Angular v1 rewrite

It simply makes sense for me to attempt this. Would make things miles more simplier and will help out a LOT when it comes to Alert detail pages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.