[Resolu]Jeu multijoueur Reseau local

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

[Resolu]Jeu multijoueur Reseau local

Message par EmileF » 26 Jan 2020 18:03

Bonjour,

Je cherche des renseignements pour créer un jeu multijoueur mais local, par Wifi simplement.

Mes recherches sur internet me propose des jeux réseaux avec des centaines de joueurs, de connections etc...

Je voudrais simplement pouvoir jouer avec ma femme ou mes enfants à certains jeu de ma création mais chacun sur son ordi connecté par wifi sur une box.

J'avais vu il y a quelques années que c'était possible avec Unity Unet je crois. Mais depuis tout a changé. Je pense que ce doit être encore possible aussi je cherche comment faire.

Merci de vos réponses
Dernière édition par EmileF le 03 Fév 2020 21:21, édité 2 fois.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Jeu multijoueur local

Message par Alesk » 27 Jan 2020 10:02

Salut,

Il y a confusion dans la dénomination ;)

Multijoueur local = tous les joueurs sur la même machine

Dans ton cas, c'est du multijoueur en réseau "classique", donc UNet et tout ce qui s'en suit ... et selon le type de jeu, c'est plus ou moins compliqué à mettre en oeuvre.

EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

Re: Jeu multijoueur local

Message par EmileF » 27 Jan 2020 12:16

Bon OK, mais je n'ai plus Unet sur ma version d'Unity 2019.2.
J'ai essayé de télécharger sur l'assets store et j'ai des messages d'erreur dans les scripts me signalant qu'il manque des fonctions.
Comme sur internet ils disent que Unet est obsolète et va être remplacé je me suis dit qu'il y a autre chose, mais je ne sais pas quoi.
Tu me dis qu'Unet est encore valable, alors comment faire pour l'installer.
Dailleurs, dans Composants il y avait le Network, il n'y est pas non plus. :inlove:
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

Re: Jeu multijoueur local

Message par EmileF » 27 Jan 2020 18:08

Alors en fait il reste le package HLAPI qui est encore utilisable

Avec lui j'ai retrouvé les composants de Network, je vais pouvoir avancer.

Est-ce quelqu'un peut m'aider, J'ai regardé quelques tutos et tous il parlent de déplacer des player et de se tirer dessus.

Mon jeu est plus statique. Il s'agit d'un genre de grille de lettres sur lesquelles il faut cliquer pour composer un maximum de mots en un minimum de temps.

La grille est commune aux 2 joueurs (oui, 2 joueurs c'est tout) et chaque joueur cliquera sur cette grille pour créer ses mots.
Un affichage est prévu de chaque coté de la grille pour le mot en cours, les points du mot et le score pour chaque joueur, une barre de temps et une zone de message. Bien sûr il me faudra synchroniser ces affichages.

Est-ce que quelqu'un peut me mettre un peu sur la voie pour réaliser ce projet. J'avoue que je ne sais pas par où commencer.

Merci de vos retours
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Jeu multijoueur local

Message par Alesk » 27 Jan 2020 20:57

Il faut que tu regardes les tutoriaux déjà existants, même si ça concerne des jeux de tir.
Au final ça reste de la transmission de données, donc une fois que tu sauras faire ça, tu pourras l'adapter à ton jeu.

EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

Re: Jeu multijoueur local

Message par EmileF » 27 Jan 2020 21:21

Bon ok, j'espérais trouvé un peu plus spécifique

merci
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

Re: Jeu multijoueur local

Message par EmileF » 29 Jan 2020 13:51

Je relance le post

Au secours, est-ce que quelqu'un peut me mettre sur la voie s'il vous plait

je suis en train de créer un jeu composé d'une grille de lettres et de 2 players en multiplayer.
Je voudrais que la grille soit commune au 2 joueurs et que chacun de son coté puisse cliquer sur cette grille pour composer des mots.

Je n'arrive pas à créer cette grille pour les 2 joueurs. Le joueur server trouve sa grille sans problème, L'autre m'envoie le message d'erreur que la recherche avec GameObject.Find est nulle alors qu'elle est bien présente dans la hyérarchie.

J'avais créé mon jeu avec des UI mais pas moyen de mettre en place les players dans la bonne position.
Je l'ai recommencé en utilisant les sprites 2D là j'arrive à mettre en place mais je n'arrive pas à lire cette grille avec les 2 joueur.

Au secours svp Merci
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

Re: Jeu multijoueur Reseau local

Message par EmileF » 29 Jan 2020 20:29

Au secours,

Est-ce que quelqu'un peut m'aider SVP.

Je regarde tous les tutos que je peux, j'ai lu le manuel d'unity sur ce sujet

Je n'arrive pas à faire que ma grille, générée aléatoirement, soit la même pour mes 2 joueurs, et puisse être regénérée en cours du jeu.
C'est sûrement un petit détail que je n'arrive pas à cerner.

Je crée ma grille sur le server mais il n'y a qu'un joueur qui la vois l'autre vois la grille de base.

Voilà le script que j'ai créé:

Code : Tout sélectionner

using UnityEngine;
using UnityEngine.Networking;

public class SpawnCase : NetworkBehaviour
{
    public Sprite[] sprites;
    public GameObject dicoPrefab;
    public GameObject casePrefab;
    public Transform grille;
    public int size;



    public override void OnStartServer()
    {
        var objet = Instantiate(dicoPrefab);
        Dico dico = objet.GetComponent<Dico>();
        dico.Initialise();
        NetworkServer.Spawn(objet);
        for (int y = 0; y < dico.size; y++)
        {
            for (int x = 0; x < dico.size; x++)
            {
                var Case = Instantiate(casePrefab, grille);
                Case.transform.localPosition = new Vector3(x, y, 0);
                Case.transform.localEulerAngles = Vector3.zero;
                NetworkServer.Spawn(Case);
                int i = y * dico.size + x;
                Case.GetComponent<SpriteRenderer>().sprite = sprites[dico.cases[i]];
            }
        }
    }

}
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

EmileF
Messages : 678
Inscription : 18 Mars 2017 19:39

Re: Jeu multijoueur Reseau local

Message par EmileF » 30 Jan 2020 21:06

Bon je n'y arrive toujours pas.

Dans mon jeu, j'ai un script dico, qui me crée une grille, et me cherche tous les mots possibles avec cette grille.

dans ce script j'ai les variables:
int "size" qui correspond à la taille de la grille,
et string "grille", qui correspond au lettres de la grille.
elles ont toutes les deux l'attribut [SyncVar] pour les rendre accessibles par les clients (Si j'ai bien compris)

La variable size est bien transmise,
la variable grille ne l'est pas.

J'ai passé pratiquement 2 jours à essayer de comprendre pourquoi avec les tutos de Unity Tuto fr, et avec le manuel d'Unity
sans résultat.

Est-ce que quelqu'un aurait une idée pour m'aider s'il vous plait
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Répondre

Revenir vers « Unity le logiciel »