StudioTwey / league-of-bingo

https://bingo.binkytothehead.com/
0 stars 0 forks source link

Issues with Bingo tile creations #3

Open ThomsonTran opened 8 months ago

ThomsonTran commented 8 months ago

There seems to be some issues with Bingo, making it hard/impossible to win.

Bingo creation state is pretty basic right now, boiling down to condition or !condition

It would be nice if we had specific tiles that had more complex logic giving us more granular tiles

conditon1 && condition2 or !condition1 && condition2 etc. trey && aubrey or !warframe && tyler to name some possibilities examples.

ThomsonTran commented 8 months ago

@tpolito please discuss with leadership on what the goals are for this project in Q1

tpolito commented 7 months ago

After consulting our engineering team we have decided on this solution:

We will be adding a new field to the JSON that contains the bingo tiles

Currently looks like:

 "exclusive": {
    "league": [
      "My teammates",
      "<100 CS at 20",
      ">100 cs at 20",
      "Flames teammate",
      "1 for 1",
      "ff",
      "flames duo partner",
      "Elo check",
      "Dies and pans camera to jungle",
      "Dies and pans camera to jungle",
      "Blames jungle",
      "Disables or enables chat",
      "flames player carrying him",
      "rapidly pings teammate",
      "vote ff",
      "'outplay'",
      "jungle misses smite",
      "twey-ades",
      "misses a free kill",
      "positive kd @ 20",
      "negitive kd @ 20",
      "baron throw",
      "types unprovoked",
      "gets flamed by teammates"
    ],
}

After our update it will look like: Currently looks like:

 "exclusive": {
    "league": [
      "My teammates",
      creepScore: [ "<100 CS at 20", ">100 cs at 20"],
      kd: [ "positive kd @ 20", "negitive kd @ 20"],
      "Flames teammate",
      "1 for 1",
      "ff",
      "flames duo partner",
      "Elo check",
      "Dies and pans camera to jungle",
      "Blames jungle",
      "Disables or enables chat",
      "flames player carrying him",
      "rapidly pings teammate",
      "vote ff",
      "'outplay'",
      "jungle misses smite",
      "twey-ades",
      "misses a free kill",
      "baron throw",
      "types unprovoked",
      "gets flamed by teammates",
    ],
}

When parsing the bingo tiles if we run into an array we randomly select one of the values to include in the pool. Keeps it easy and avoids bankrupting the company with DB costs.