Tes troupes qui sont en train d'aller chercher des armes au dépot X25, elles partent au timestamp t0 pour arriver à t20, et le dépot se fait détruire à t10 ..
Donc, ton daemon qui traite ta pile, comment il sait que c'est l'event 2 qu'il doit traiter ? il va petre obligé de traiter tous les events dont le timestamp de fin dépasse le timestamp actuel(t10), donc logiquement à peu près tous les events de la pile quoi.
Et à chacun il va leur faire revérifier les variables qui les concernent.
ça me semble lourd mais si tu fais ça en C ou en C++, pour un jeu amateur je pense que ce sera tellement rapide que ce n'est pas un problème. mais perso je ne le ferais pas en asynchrone, je prendrais les events dans l'ordre de la pile. ça sera très puissant car C est très rapide. Même php pourrait s'en sortir humblement, il faudrait voir un peu quelles sont ces variables dont nous parlons, si elles sont nombreuses, volumineuses, etc..
Concernant les processus, je parlais de processus BEAM, la VM sur laquelle tourne les programmes erlang. la je viens de faire un petit test, il me crée 10000 processus en moins de 2 secondes.. (bon c'est des processus qui meurent rapidement mais c'est pour dire ..). Rien à voir avec des processus de l'OS qui vont, oui, tuer ta machine si tu fais ce que je disais avec !
(edit: en fait il le fait en moins de 500 ms, c'est les print console qui prennent du temps xD
Comme je ne prends qu'un seul processus par joueur quelques soient ses troupes, villages, etc.. je ne vais pas saturer car si j'ai un jour 10000 joueurs (champomy!) alors j'espère que ça génèrera assez d'argent pour avoir un gros serveur multicoeurs et tout plein de RAM. (ou bien 3 ou 4 ordinateurs différents, mais je ne sais pas vraiment si je pourrais distribuer ainsi la base de données si je prends postgres, mais je ne connais pas bien d'autres SGBD et les api REST pour les données c'est vraiment sympa pour des appli web genre twitter, todolist, trucs comme ça mais pour un jeu ça va vite être casse couilles)
Donc, ton daemon qui traite ta pile, comment il sait que c'est l'event 2 qu'il doit traiter ? il va petre obligé de traiter tous les events dont le timestamp de fin dépasse le timestamp actuel(t10), donc logiquement à peu près tous les events de la pile quoi.
Et à chacun il va leur faire revérifier les variables qui les concernent.
ça me semble lourd mais si tu fais ça en C ou en C++, pour un jeu amateur je pense que ce sera tellement rapide que ce n'est pas un problème. mais perso je ne le ferais pas en asynchrone, je prendrais les events dans l'ordre de la pile. ça sera très puissant car C est très rapide. Même php pourrait s'en sortir humblement, il faudrait voir un peu quelles sont ces variables dont nous parlons, si elles sont nombreuses, volumineuses, etc..
Concernant les processus, je parlais de processus BEAM, la VM sur laquelle tourne les programmes erlang. la je viens de faire un petit test, il me crée 10000 processus en moins de 2 secondes.. (bon c'est des processus qui meurent rapidement mais c'est pour dire ..). Rien à voir avec des processus de l'OS qui vont, oui, tuer ta machine si tu fais ce que je disais avec !
(edit: en fait il le fait en moins de 500 ms, c'est les print console qui prennent du temps xD
Comme je ne prends qu'un seul processus par joueur quelques soient ses troupes, villages, etc.. je ne vais pas saturer car si j'ai un jour 10000 joueurs (champomy!) alors j'espère que ça génèrera assez d'argent pour avoir un gros serveur multicoeurs et tout plein de RAM. (ou bien 3 ou 4 ordinateurs différents, mais je ne sais pas vraiment si je pourrais distribuer ainsi la base de données si je prends postgres, mais je ne connais pas bien d'autres SGBD et les api REST pour les données c'est vraiment sympa pour des appli web genre twitter, todolist, trucs comme ça mais pour un jeu ça va vite être casse couilles)