IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets Discussion :

[Jeu web] Snake Multijoueur OpenSource


Sujet :

Projets

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2016
    Messages : 5
    Points : 4
    Points
    4
    Par défaut [Jeu web] Snake Multijoueur OpenSource
    Bonjour, je m’appelle Jimmy. J'ai 23 ans et je programme depuis l'âge de mes 10 ans. J'ai appris à programmer en autodidacte . J'ai d'abord commencé à apprendre le html/css/javascript, puis le php/mysql et je me suis ensuite tourné vers le C/C++.
    Je travaille également en tant que développeur web : Plus précisément je crée des extensions WordPress à mon travail.
    En ce moment je me penche beaucoup sur NodeJS.

    En savoir plus sur le projet

    Depuis 1 mois je programme un projet de Snake Multijoueur dans le même style de Agar.io, finalement arrivé au bout de la démo que je voulais pour la publier sur le web, je me suis rendu compte au moment de vouloir prendre le nom de domaine que déjà deux snake qui sont très prometteur et beaucoup plus avancés existaient depuis peu.
    Revenons encore plus en arrière, je voulais créer des tutoriels, mais comme à mes habitudes, je suis allé trop loin et j'ai voulu conquérir le monde avec mon projet... Haha. Mais grâce à ces deux snake déjà créé, je me suis réveillé.

    Technologie et langage

    NodeJS : Gestion du serveur, et des sockets.
    Javascript : Le langage utilisé côté serveur et client.
    Socket.io : Permet de communiquer entre le serveur et le client
    Pourquoi cette présentation de projet ?

    Tout simplement parce que j'ai vraiment besoin de critique extérieure sur mon code source, conseille, critiques, tout est bon à prendre et j'en réclame !

    Les sources

    Les sources sont disponibles sur github en cliquant ici.



    Merci d'avoir lu, j'espère que vous aurez plein de critique à me faire au niveau du code source et surtout la gestion du réseau.
    Je remercie d'avance tous ceux qui prendront le temps de regarder le code source.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Y a t-il une version jouable en ligne, pour voir la réalisation (je sais que l'on peut tester hors ligne, mais la flemme d'installer ) ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2016
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonsoir,

    voilà qui est fait : http://164.132.50.8:3000/.

    Toujours à la recherche de critique sur le code.

    Cordialement.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 575
    Points
    218 575
    Billets dans le blog
    120
    Par défaut
    Sympa la réalisation. Lorsque je fais flèche haut ou bas, la page entière bouge.
    Le snake pourrait accélerer à chaque pois mangé ?
    Si je change d'onglet, le jeu se met en pause, mais pas possible de sortir de la pause .

    (Je ne regarde pas le code, car je ne connais pas vraiment ces technos.)
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2016
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Pour les flèches haut ou bas, cela vient certainement du fait que tu utilises Firefox, et que j'ai oublié de mettre un overflow: hidden.
    Oui je pourrai effectivement augmenter la vitesse, même celle à l’apparition du snake qui est de 1.

    Pour le problème du changement d'onglet : Si le client ne donne pas de réponse au serveur au moins une fois toutes les 5 secondes, le serveur déconnecte le client. Il manque juste un paquet qui indique au client que le serveur l'a déconnecté pour leur renvoyé vers la page ou on doit entrer son login.

    Seulement je ne pense pas continuer le jeu comme dit plus haut.

    En tout cas merci d'avoir pris du temps pour le tester.

    Cordialement.

  6. #6
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Hello,

    J'ai testé rapidement; quelques remarques:
    - Ya un gros soucis de performance : ~40% cpu load en permanence et ça saccade énormément; j'imagine qu'activer la VSync devrait permettre de réduire la charge CPU (config : Win 10 64bits / Firefox 45.0.2 / i5 3570k / HD7850).
    - Le jeu commence peut être un peu trop lentement.

    A part ça, c'est un bon début.

    J'ai pas pu tester les interactions entre joueurs, sur ce point il y a la reconnaissance de son snake qui m'intéresse.
    Est-ce que notre Snake est facilement reconnaissable ? (Exemple : le notre est rouge; tous les autres sont verts, ou tous les autres sont un peu plus fin, etc...)

    Sinon, la map est infinie ? Les pastilles respawn ?

    edit : même soucis de perf sous Edge, donc c'est pas un problème lié à Firefox.

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2016
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonsoir, merci de ta réponse Iradrille.

    Au sujet de la performance, j'utilise requestAnimationFrame qui est censé d'après ce sujet http://www.paulirish.com/2011/reques...art-animating/ ce que tu dis être la VSync.
    Seulement dans ma boucle d'animation, je fais seulement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    graph.fillStyle = '#f2fbff';
    // windowWidth = largeur du navigateur
    // windowHeight = hauteur du navigateur
    graph.fillRect(0, 0, windowWidth, windowHeight );
    Et la je monte déjà à 25% cpu load.
    Donc j'ai du mal à comprendre, soit canvas, ça bouffe. Soit je dois mal faire un truc.

    Dans cette version tous les snakes sont pareilles. Mais notre snake est centré au milieu du canvas.
    La map fait 5000x5000 pixels. A chaque fois que quelqu'un mange une pastille, une autre respawn.

  8. #8
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut
    Bonjour,

    C'est vraiment sympas. Une des composantes d'Agar est que plus la taille augmente plus la vue s'éloigne. Ca donne une dimension je trouve.

    Vraiment chouette !

    Krock

  9. #9
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2016
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    ah oui c'est vrai que Agar.io fait cette effet avec la caméra.

    Pour le moment j'essai de me focaliser sur le problème du cpu qui est beaucoup trop utilisé.

    Par ex dans ce screenshoot ( en pièce jointe ): Je suis à 26% et si je comprend bien le gestionnaire de tâche de Google Chrome je suis à 16%.
    Au final j'me demande s'il y'a un problème de processeur ou pas.

    Cordialement.

    edit : J'ai ajouté dans config.json un moyen de régler la vitesse du snake, donc j'ai également augmenté la vitesse en début de partie de 1 à 2.
    Images attachées Images attachées  

Discussions similaires

  1. [Projet en cours] [Jeu Web Multijoueur] Zombiz ! Team Survival
    Par whiteslash dans le forum Projets
    Réponses: 88
    Dernier message: 25/09/2015, 20h57
  2. Réponses: 3
    Dernier message: 19/01/2014, 21h47
  3. Chobodo, projet de jeu web-based
    Par appzer0 dans le forum Projets
    Réponses: 8
    Dernier message: 01/03/2007, 21h14
  4. Quelle régie de pub pour financer un jeu web ?
    Par Info-Rital dans le forum Publicité
    Réponses: 2
    Dernier message: 20/09/2006, 15h33
  5. Quel technologie pour jeu web ?
    Par elfugu dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 02/02/2006, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo