26-02-2020, 11:59 AM
Salutations,
Dans Variispace, des évènements peuvent se produire, et impliquer les joueurs. Par exemple, le joueur A peut lancer une attaque sur le joueur B. Ou la flotte du joueur C peut être arrivée sur une planète. Ou la flotte du joueur D peut avoir terminé sa mission d'extraction. Ou celle-ci a été interrompue (faute de place dans les soutes). Etc.
Initialement, j'avais monté ça sous la forme d'une table (id_player; event_name; id_fleet, id_spaceship, id_other_player,...) et je stocke dedans les id des "trucs" concernés (la flotte attaquée, le vaisseau créé, etc).
Mais après avoir implémenté les attaques, au cours desquels des vaisseaux et des flottes disparaissent, j'ai un soucis: ces IDs ne référencent plus rien!
Donc, je suis parti maintenant sur la table (id_player, event_name, opt_string1, opt_string2,...) [je trouve que faire 2 table,s (id_event, id_player; event_name) + (id_event, var_name, string_value) pour faire du 1-N est trop lourd, sachant que j'aurai max 5-6 strings à stocker et que je ne veux pas batailler avec des strings magiques partout, l'event name comme string magique c'est bien suffisant) et je sauve les infos "figées" dedans (nom de la flotte, du joueur, etc).
Vous avez d'autres façon de gérer ça?
Dans Variispace, des évènements peuvent se produire, et impliquer les joueurs. Par exemple, le joueur A peut lancer une attaque sur le joueur B. Ou la flotte du joueur C peut être arrivée sur une planète. Ou la flotte du joueur D peut avoir terminé sa mission d'extraction. Ou celle-ci a été interrompue (faute de place dans les soutes). Etc.
Initialement, j'avais monté ça sous la forme d'une table (id_player; event_name; id_fleet, id_spaceship, id_other_player,...) et je stocke dedans les id des "trucs" concernés (la flotte attaquée, le vaisseau créé, etc).
Mais après avoir implémenté les attaques, au cours desquels des vaisseaux et des flottes disparaissent, j'ai un soucis: ces IDs ne référencent plus rien!
Donc, je suis parti maintenant sur la table (id_player, event_name, opt_string1, opt_string2,...) [je trouve que faire 2 table,s (id_event, id_player; event_name) + (id_event, var_name, string_value) pour faire du 1-N est trop lourd, sachant que j'aurai max 5-6 strings à stocker et que je ne veux pas batailler avec des strings magiques partout, l'event name comme string magique c'est bien suffisant) et je sauve les infos "figées" dedans (nom de la flotte, du joueur, etc).
Vous avez d'autres façon de gérer ça?