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

Langage Delphi Discussion :

Petit jeu multijoueur en ligne (commençons simple lol)


Sujet :

Langage Delphi

  1. #21
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Archaoniro
    Je pense que ce qui serait le plus adapter à ce que je voudrai faire c'est en fait que les joueurs aient le jeu en entier sur leur PC et que celui-ci analyse (pour voir où sont les autres, comment est le monde, ....) et modifier (pour signaler ce que ce joueur est entrain de faire) une base de données mysql, qui elle serait en ligne sans arrêt (sur mon serveur), il n'y aurait donc pas de programme serveur dans ce cas là.
    Cette méthode serait correcte et moins difficile à gérer non ?
    => Désolé, tu était peut-être entrain de répondre quand j'ai édité mon message d'avant.. Que penses-tu de cette solution ?

  2. #22
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par Archaoniro
    Citation Envoyé par Archaoniro
    Je pense que ce qui serait le plus adapter à ce que je voudrai faire c'est en fait que les joueurs aient le jeu en entier sur leur PC et que celui-ci analyse (pour voir où sont les autres, comment est le monde, ....) et modifier (pour signaler ce que ce joueur est entrain de faire) une base de données mysql, qui elle serait en ligne sans arrêt (sur mon serveur), il n'y aurait donc pas de programme serveur dans ce cas là.
    Cette méthode serait correcte et moins difficile à gérer non ?
    => Désolé, tu était peut-être entrain de répondre quand j'ai édité mon message d'avant.. Que penses-tu de cette solution ?
    Effectivement

    Celà dit, MySQL est une base de données locale non ?
    - Dans ce cas il te faudrais peut-être une base de données Client/Serveur (comme FireBird
    - Ou bien que tu passes par des répertoires partagés (auquel cas va pour MySQL)
    - Ou bien de bêtes fichiers textes (au format CSV si tu veux faire de la base de données) disponibles sur un serveur FTP.

    Bidouilleuse Delphi

  3. #23
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 6
    Points
    6
    Par défaut
    Je vais donc opter dans un premier temps en tout cas pour cette option.

    Il faudrait donc que j'arrive à faire déjà une modif de mon petit morpion pour qu'il sache lire et modifier une base de données.

    Comme j'aime prendre de l'avance (lol) j'ai déjà fait des recherches hier soir, qui m'ont mené à Tmysql quelque chose, hélas ça s'arrête sur Delphi 5. Quelqu'un dit dans un forum qu'il suffit de modifier un chiffre pour que l'installe fonctionne (quelque chose comme Vcl50 devient Vcl60, j'ai donc testé avec Vcl60, 70, 80, 90... rien n'y fait)

    Là, je vois qu'on peut utiliser DBExpress.. je vais donc chercher de ce côté......

  4. #24
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    @waskol : MySQL fonctionne à distance Donc pas de problème sur ce point-là.

    Pour l'accès aux bases de données à partir de Delphi, préfère en effet dbExpress qui est la solution de BD que préconise actuellement Borland, et qui est donc la plus développée.

    Mais pour l'utilisation d'une simple base de données, il faudrait d'abord être sûr que cela suffira à satisfaire les besoins de ton jeu. Sans oublier que de ne pas arrêter d'écrire dans une base de données pour indiquer les actions, ça veut dire des quantités astronomiques d'accès disque !

    Je suis persuadé qu'un programme serveur serait plus approprié. Au moins, lui peut garder en mémoire vive les infos sur les parties en cours.

    Pour l'hôte dans ce cas, c'est juste l'IP de l'ordinateur serveur (ou son nom de domaine, ou même 'localhost' si c'est le même ordi que le client). C'est le port qui permet de savoir à quelle application envoyer les données.

    Pour démarrer un programme sur ton serveur, tu peux utiliser l'instruction PHP shell_exec en indiquant un fichier pour la sortie. Tu pourras trouver des infos supplémentaires sur cette astuce sur le site http://fr.php.net/. Bien entendu tu devrais aussi pouvoir le faire via une connexion SSH, si ton serveur te le permet.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  5. #25
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 6
    Points
    6
    Par défaut
    Merci à vous !

    J'avoue que sans ces infos en texte clair je serai encore perdu à chercher encore et encore et toujours, grâce à vous j'arrive mieu à comprendre comment faire certaine chose, qui souvent font défaut dans les tutaux (parce que souvent ceux qui lisent des tutaux ont déjà un certain niveau apparemment lol)

    Sjrd, je me disais aussi qu'au niveau du nombre de requêtes (il en faudrait au moins une par seconde pour savoir en tout temps ce que font les autres, vive la misère) se serait peut-être lourd pour la base.

    Si je comprends bien ce que tu dis, je peux faire un prog en .exe donc, le mettre sur mon site web et en faire le serveur du jeu, j'indique dans le programme client l'ip du site ou son nom de domaine et un port. Mais il faut donc que quelque chose sur mon serveur Apache reconnaisse le port en question et "connecte" le programme client au programme server ?
    => Je vais lire ce qu'il y a sur tes liens, ça m'aidera sans doute à mieu comprendre cette partie.

    Je voudrais savoir une chose, bien qu'elle semble évidente à ce moment là : Si je fais de cette manière (donc programme serveur sur le site)
    Il faut que le programme serveur ai sa propre base de données (laquelle choisir dans ce cas, DBE ?) ou peut-il se contenter de retenir des variables ?
    Aussi je peux demander au programme serveur d'enregistrer de temps à autres (toutes les heures par exemples) les données du jeu ? Donc il faut que le programme serveur soit capable de récupérer ses variables (ou reconstruire sa base de données) avec les dernières données enregistrées en cas de redémarrage... ça va se compliquer effectivement lol

    Oups je suis entrain de louper le catch....

  6. #26
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Citation Envoyé par Archaoniro
    Si je comprends bien ce que tu dis, je peux faire un prog en .exe donc, le mettre sur mon site web et en faire le serveur du jeu, j'indique dans le programme client l'ip du site ou son nom de domaine et un port. Mais il faut donc que quelque chose sur mon serveur Apache reconnaisse le port en question et "connecte" le programme client au programme server ?
    => Je vais lire ce qu'il y a sur tes liens, ça m'aidera sans doute à mieu comprendre cette partie.
    Tu t'obstine à vouloir parler de ton Apache, alors qu'il n'a rien à faire dans l'histoire Apache c'est un programme comme un autre - un serveur comme un autre - qui écoute le port numéro 80 (le port HTTP). Donc ton programme va utiliser un autre port, et la connexion ne passera jamais par Apache Ce n'est pas Apache qui dispatche les connexions en fonction des ports, c'est le système d'exploitation lui-même.
    Pour ton programme, il ne doit pas être en .exe (à moins que ton hébergeur tourne sous Windows, on ne sait jamais...). Ce doit être un exécutable Linux.

    Je te conseille la FAQ Delphi, section Indy, pour bien débuter avec les clients/serveurs.

    Citation Envoyé par Archaoniro
    Je voudrais savoir une chose, bien qu'elle semble évidente à ce moment là : Si je fais de cette manière (donc programme serveur sur le site)
    Il faut que le programme serveur ai sa propre base de données (laquelle choisir dans ce cas, DBE ?) ou peut-il se contenter de retenir des variables ?
    Tu peux bien entendu te contenter (en italique parce que je ne vois pas le propos d'un verbe si péjoratif ^^) de stocker le tout dans des variables (objets de préférence bien sûr ).
    Et le serveur peut très bien accéder à la base MySQL que tu as déjà...
    Citation Envoyé par Archaoniro
    Aussi je peux demander au programme serveur d'enregistrer de temps à autres (toutes les heures par exemples) les données du jeu ? Donc il faut que le programme serveur soit capable de récupérer ses variables (ou reconstruire sa base de données) avec les dernières données enregistrées en cas de redémarrage... ça va se compliquer effectivement lol
    Dans le cas du Morpion, ce n'est même pas la peine de penser à cela. Ce n'est pas voir s'échapper une partie dans un redémarrage qui va faire fuir ton utilisateur (ça se passe finallement assez rarement quand même, hein ).
    Dans le cas d'un projet plus important, il se peut que certaines données aient à être enregistrées... Mais ce n'est pas plus compliqué que de sauvegarder une partie dans un fichier
    Te prends pas trop la tête là-dessus avant de commencer. Sache d'abord avoir un jeu fonctionnel pour te motiver
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/05/2015, 08h51
  2. Réponses: 0
    Dernier message: 07/05/2015, 16h28
  3. [Projet terminé] Transformice, un petit jeu flash multijoueur
    Par Tigrounette dans le forum Projets
    Réponses: 1
    Dernier message: 09/05/2010, 15h58
  4. Aaah, un petit jeu multijoueur
    Par Tigrounette dans le forum Projets
    Réponses: 11
    Dernier message: 12/05/2008, 16h01
  5. Petit jeu flash multijoueur en ligne
    Par mage34 dans le forum Flash
    Réponses: 1
    Dernier message: 08/01/2008, 20h49

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