CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Find Your Next Game
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [Dev Diary] KNIGHT (serveur)

DébutPage précedente
1234
Page suivanteFin
florent6262100 florent6262100
MP
Niveau 9
09 janvier 2017 à 18:20:43

Le 09 janvier 2017 à 17:42:35 DavidAaronson a écrit :

Le 30 décembre 2016 à 13:17:05 Auteur blacklisté a écrit :
D'autant plus que si le jeux est petit et communautaire tu peux instaurer un système de délation pour permaban pour les cheaters.

[[sticker:p/1jnc]]

Mauvaise idée. Sur la plupart des jeux en ligne, on se fait traiter de cheater dès qu'on est bon et qu'on commence à battre la plupart des gens.

Exacte

DavidAaronson DavidAaronson
MP
Niveau 35
09 janvier 2017 à 19:28:45

Le 04 janvier 2017 à 16:33:48 florent6262100 a écrit :
Merci :-)

Là je viens de mettre en place le système de spawn des mobs coté serveur.

J'ai mis au point un système qui fait que si il y a un joueur présent dans la zone ça spawn les mobs

Je m'explique:

Dans une boucle qui s'exécute toutes les 3 secondes (pour éviter le flood)

Un joueur est proche de la zone ?
Oui > (1)
Non > Supprime les mobs si ily en a au bout de X temps (n'est pas encore implanté)

(1) Les mobs de cette zone sont spawns ?
Oui > On envoie les données à tous les joueurs proches de cette zone
Non > On spawn les mobs et on envoie les données à tous les joueurs proches de cette zone

Et actuellement je fait la réception des données coté client, qui va spawn les mobs :-)))

J'avais pas vu de GOTO dans un programme depuis longtemps :coeur:

PS : je me doute bien que c'est juste pour simplifier...

Message édité le 09 janvier 2017 à 19:29:59 par DavidAaronson
Ulfberht[plus] Ulfberht[plus]
MP
Niveau 7
11 janvier 2017 à 11:18:58

Intéressant :oui:

Donc les mobs spawn à la vue de joueur. Est-ce que ça veut dire que deux joueurs différents n'auront pas les mêmes mobs?

florent6262100 florent6262100
MP
Niveau 9
11 janvier 2017 à 19:02:48

Le 11 janvier 2017 à 11:18:58 ulfberht[plus] a écrit :
Intéressant :oui:

Donc les mobs spawn à la vue de joueur. Est-ce que ça veut dire que deux joueurs différents n'auront pas les mêmes mobs?

Non, dutout, enfaite voici la logique:

  1. Boucle dans chaque spawn, et chaque joueurs pour savoir si il est dans son rayon
  2. Si un joueur est dans le rayon, est ce que des ennemies sont spawn et liés a ce spawn ?
    • Oui > Envois les mobs au joueur, et si le joueur les a déjà spawn, les met à jour

Donc tout les joueurs on les mêmes mobs :-)))

Voici un exemple:
https://www.noelshack.com/2017-02-1484157405-unity-2017-01-11-18-56-31.jpg

Mais du coup tu m'a fait penser que j'ai pas fini l'update de la vie des mobs :hap:

florent6262100 florent6262100
MP
Niveau 9
11 janvier 2017 à 19:34:50

Voilà
https://www.noelshack.com/2017-02-1484159685-unity-2017-01-11-19-34-33.jpg

florent6262100 florent6262100
MP
Niveau 9
12 janvier 2017 à 02:39:30

Ce que j'ai fait ce soir:

  1. Affichage des dégâts que prend un mob ( à tout les joueurs )
  2. Récupération des mobs mort ( quand on entre dans la zone ou quand on ce connecte )
  3. Envois des dégats a tout les joueurs ( même si les joueurs ne ce voient pas encore entre eux, il peuvent attaquer un même mob et donc cumulé les dégats et voir les dégats de l'autre sans soucis )
  4. Ajout de plusieurs attaques ( pour preview de niveau supp )
  5. Respawn d'un mob quand un mob est tuer
  6. Ajout d'un effet lors d'une attaque (trail volumétrique)
  7. Modification de la caméra
Ulfberht[plus] Ulfberht[plus]
MP
Niveau 7
13 janvier 2017 à 23:16:00

Ouah... je commence à comprendre la complexité d'un mmo. :ouch:

florent6262100 florent6262100
MP
Niveau 9
18 janvier 2017 à 01:52:13

Alors au nouvelles pour ceux qui ce demandent ce que je fou a ne plus rien mettre
Je suis entrain d'arranger la structure réseau, j'ai mis en place un sendrate et j'ai optimiser les requêtes

Ce qui fait qu'au lieu de surcharger le serveur de requêtes (ce qui prend du temps au serveur de déchiffrer le tout, entre la reception des position, les dégats etc a dispatcher)
Et bien le client et le serveur envois a un certain rythme ( client à 1/10ème de seconde et serveur 1/30ème actuellement)

Voilà, en gros de la réorganisation

TheUnreaL34 TheUnreaL34
MP
Niveau 8
18 janvier 2017 à 15:40:20

Le 18 janvier 2017 à 01:52:13 florent6262100 a écrit :
Alors au nouvelles pour ceux qui ce demandent ce que je fou a ne plus rien mettre
Je suis entrain d'arranger la structure réseau, j'ai mis en place un sendrate et j'ai optimiser les requêtes

Ce qui fait qu'au lieu de surcharger le serveur de requêtes (ce qui prend du temps au serveur de déchiffrer le tout, entre la reception des position, les dégats etc a dispatcher)
Et bien le client et le serveur envois a un certain rythme ( client à 1/10ème de seconde et serveur 1/30ème actuellement)

A tes souhaits :rire:

Message édité le 18 janvier 2017 à 15:41:52 par TheUnreaL34
hself hself
MP
Niveau 7
18 janvier 2017 à 15:43:57

Le 18 janvier 2017 à 01:52:13 florent6262100 a écrit :
Alors au nouvelles pour ceux qui ce demandent ce que je fou a ne plus rien mettre
Je suis entrain d'arranger la structure réseau, j'ai mis en place un sendrate et j'ai optimiser les requêtes

Ce qui fait qu'au lieu de surcharger le serveur de requêtes (ce qui prend du temps au serveur de déchiffrer le tout, entre la reception des position, les dégats etc a dispatcher)
Et bien le client et le serveur envois a un certain rythme ( client à 1/10ème de seconde et serveur 1/30ème actuellement)

Voilà, en gros de la réorganisation

Pourquoi tu sync pas les ticks des clients et du serveur ?
Tu vas etre obligé de faire de l'interpolation du coup.... a moins que tout ne soit pas géré par le serveur, ce qui laisse la porte ouverte a pas mal de cheats :(

Message édité le 18 janvier 2017 à 15:48:34 par hself
florent6262100 florent6262100
MP
Niveau 9
18 janvier 2017 à 18:39:18

Le 18 janvier 2017 à 15:43:57 hself a écrit :

Le 18 janvier 2017 à 01:52:13 florent6262100 a écrit :
Alors au nouvelles pour ceux qui ce demandent ce que je fou a ne plus rien mettre
Je suis entrain d'arranger la structure réseau, j'ai mis en place un sendrate et j'ai optimiser les requêtes

Ce qui fait qu'au lieu de surcharger le serveur de requêtes (ce qui prend du temps au serveur de déchiffrer le tout, entre la reception des position, les dégats etc a dispatcher)
Et bien le client et le serveur envois a un certain rythme ( client à 1/10ème de seconde et serveur 1/30ème actuellement)

Voilà, en gros de la réorganisation

Pourquoi tu sync pas les ticks des clients et du serveur ?
Tu vas etre obligé de faire de l'interpolation du coup.... a moins que tout ne soit pas géré par le serveur, ce qui laisse la porte ouverte a pas mal de cheats :(

Car ce serait trop casse cou**** pour aucun intérêts
Le serveur gère la position des joueurs, mais pas la simulation, une détection de position cheaté est en place pour éviter les speed hack et les TP (coté serveur évidemment)
Donc oui, dans tout les cas qu'importe le système il faut faire de l'interpolation pour avoir un minimum de fluidité :-)

hself hself
MP
Niveau 7
18 janvier 2017 à 19:00:40

J'avais mal lu en fait, je pensais que c'etait le serveur qui etait en 10hz pour justement éviter la surcharge.
C'est pour ca que je parlais d'interp :-p

florent6262100 florent6262100
MP
Niveau 9
19 janvier 2017 à 19:18:13

Qu'importe la fréquence du serveur, il faudra du lerp pour éviter les micro freezes dans les déplacements :-)

C'est vrai qu'au lieu de parler de 10ème et de 30ème j'aurais du parler de hertz

Ulfberht[plus] Ulfberht[plus]
MP
Niveau 7
19 janvier 2017 à 19:40:22

Le mieux ce n'est pas de faire avancer les autres personnages avec une IA qui va vers une cible (la prochaine position) ?

florent6262100 florent6262100
MP
Niveau 9
19 janvier 2017 à 19:47:46

Quel avantage ?
Niveau désavantage je vois clairement une utilisation énorme des ressources
Autant directement assigner via un lerp la nouvelle position du joueur, ce qui prend quasi aucune ressource, et qui ce plus rapide a mettre en place

hself hself
MP
Niveau 7
19 janvier 2017 à 19:47:56

Au passage, meme c'est pas pour du MMO, cet article est tres bon https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking

florent6262100 florent6262100
MP
Niveau 9
19 janvier 2017 à 19:51:27

Merci hself :-)
Oui il est connu ce lien :-p

hself hself
MP
Niveau 7
19 janvier 2017 à 20:01:23

Oui j'imagine :D

florent6262100 florent6262100
MP
Niveau 9
19 janvier 2017 à 20:02:20

Depuis quelques temps je fait le pour et le contre sur le changement d'architecture de dev, et j'ai donc décidé d'écouter votre avis

Je vais passer a une architecture Server simulation & client input au lieu de Client simulation & server data
Ce sera même plus simple pour moi au niveau dev de contenu (pas besoin de mises a jours pour certains trucs, anti cheat plus restrictif etc)

C'est vrai que ça ne sert a rien de rester borner, le but c'est de faire quelque chose de qualité !

Alors, AU BOULOT !

PS: Je vais pourvoir faire du spam de post en montrant l'avancé :V

hself hself
MP
Niveau 7
19 janvier 2017 à 20:16:04

Et aussi, si tu veux un peu de lecture :

Minecraft: http://wiki.vg/Protocol
ArcEmu (serveur WoW open-source) http://arcemu.org/wiki/Getting_the_source_code

Message édité le 19 janvier 2017 à 20:16:21 par hself
DébutPage précedente
Page suivanteFin
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
La vidéo du moment