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