File size: 937 Bytes
5effdd5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from typing import NamedTuple
import chex


class State(NamedTuple):
    mu: chex.Array
    Sigma: chex.Array
    alpha: chex.Array
    beta: chex.Array


class Char(NamedTuple):
    """
    difficulty, 1-5 * as per in game
    archetype_vec: zoner, grappler, strikethrow, etc...
    execution barrier: harder to quantify, would an ebedding be better?
    footsies/neutral, how brainded is the char. 2mk -> dr = -points. harder buttons, less pokes = more neutral that needs to be played
    tier: float/int, using like a couple of pros' tier lists maybe

    """
    difficulty: float
    archetype_vec: chex.Array
    execution_level: float
    neutral_required: float
    tier: float


class UserInfo(NamedTuple):
    """
    the one that should be updated over time. 
    """
    skill_level: float
    games_played: int
    chars_attempted_mask: chex.Array
    wr: chex.Array
    playtime: chex.Array
    pref_archetype: chex.Array