bonjour,
déjà j'espère etre dans le bon forum pour mon premier post ^^
y'en a tellement... j'ai hésiter a poster dans le sous forum "physique" mais comme il est aussi question du contexte réseau, j'ai poster ici.
j'suis en train d'élaboré un game design.
le concept de base est asser asser simple, mmorpg aventure avec un game play action seulement j'ai touché a pas mal de domaine sauf la programmation ou encore moin la programmation réseau qui demande vraiment des connaissance appronfondi et une pratque de tous les jours ( ce dont je n'aurai pas forcement besoin tout du moin pour l'instant avec le game design, j'ai juste qq notion de logique c/c++ et j'ai scripté pour divers jeu ),
donc j'ai un peu de mal a établir un concept de structure pour une architecture réseau et qui plus est pour le la collision simulé ou non.
mon but étant quand meme d'inové au niveau du game play, j'essaye de trouver une solution afin d'inclure une pseudo collision aux personnages de mon monde pour qu'il y a aussi "contact" pendant les phase de combat voir autre...
bref, voici un peu l'idée que j'ai eu :
Chaque entité avec lesquelle je veux ma pseudo collision seront des forme géométrique simple tous représenté par un id, une position et plusieur type en gros.
Exemple :
Le corp d’un personnage : id1, pos1 x, y, z, type A, B
Le corp d’un autre personnage : id2, pos2 x, y, z, taille1 x, y, z, type A, B
Une arme : id4, pos4 x, y, z, taille3 x, y, z, type C, D
etc...
Ensuite dans ma base de donné j’aurai donc :
-les id repertorié id1, id2, id3, id4 selon le joueur ou l'entité.
-les type A, B, C, D
A = est solide ( facon de parler... )
B = peu prendre des domage
C = n’est pas solide ( j'suis pas forcement obliger de définir ce type mais c'est pour l'exemple )
D = provoque des domage
-la vitesse v1, v2, v3, v4, v5 par exemple
-les direction ( 26 pour la 3D si je ne me trompe pas ) fin bon genre nord, est, sud, ouest mis dans tous les sens avec diagonales donc d1, d2, d3, etc….
le role serveur/client dans l’histoire
1/ le serveur envoi l’id de base au client pour que le client genère sa liste de trucs, pour qu'il nome ou définisse les objet "créer" par le joueur par l'intermédiaire d'un id.
2/ le client envoie au serveur chaque id, pos, taille, type des forme géométrique du joueur
3/ le serveur les recoi et les ajoute au donné du monde persistant qu’il connaît deja
4/ il observe les position de chaque point ainsi que leur vitesse ( chaque point étant par exemple le centre des forme géométrique et j'pourrais définir la taille de ceux ci en fonction des type par exemple, pour que le serveur calcul si il y a collision ou non en fonction ).
5/ si collision il y a, il calcule en fonction des info recu et de la base de donné et renvoie au client un type, une direction, une vitesse ou info divers.
ca reste conceptuel la, mais déjà, j'y vois quelque problème.
-faut pas oublier que le serveur envera l’info a tous les client alors que ca sera pas forcement necessaire, peu etre faire ca mais par systeme de zone en fonction de la position du joueur en sachant que j’aimerai qu’il n’y pas de zone proprement dite pour les map du mmorpg. ( streaming )
-les calculs, j’sais pas trop si ca fera une masse considérable de calcul, j’avais pensait a deux serveur, un serveur qui gère exclusivement ca un peu a la manière d’un moteur physique pour une sorte de collision simulé et un autre serveur qui gèrerais les truc commun a la plus part des mmorpg en fonction de la base de donné.
-meme si il est possible qu'un serveur calcule ce genre de truc faut voir aussi le nombre d'infos généré...
-la structure qui peut paraître asser bancale, j'ai du oublié des trucs mais ca reste a titre d’exemple, d’un autre coté ca demandera enormement de boulot pour définir la db, chaque type, optimiser, etc…. mais si c’est necessaire pour avoir une pseudo collision digne de ce nom, c’est pas le boulot qui me fait peur car ca en vaudra la peine, je ne crois pas que le dialogue server/base de donné demande beaucoup de ressource.
Bref, vous en pensais quoi ?
merci
Partager