Messagerie


Comment repérer s'il y a deux cession d'un même programme lancées en même temps

Yazorius
200 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5
mercredi 21 mars 2018 à 22:02
Bonsoir. De nouveau, face à un questionnement pour lequel je ne trouve aucune réponse seul, je me tourne vers votre communauté qui, comme toujours, trouve l'art et la manière de jouer avec les principes de CTF pour lui faire faire tout ce que vous désirez.

Mon problème est celui-ci.

Je désire que le joueur, pour une raison implicite au jeu, doive lancer une deuxième fois le jeu. Il y a donc deux cessions du même jeu à l'écran. Mais je désire que le programme (qui est, je le rappelle, le même fichier du jeu) soit capable de savoir si le jeu est déjà lancé ou non, et combien de fois. Afin de permettre des possibilités d'actions différentes selon les fenêtre (et donc, qu'il y ait un possibilité de distinguer les deux cessions simultanées : celle qui était lancé au départ, et celle qui l'a été en deuxième).

D'ailleurs, les variables globales sortent-elles de la "fenêtre" du jeu ? C'est à dire, ais-je le risque que si mon programme change des valeurs globales dans la "première session", ce soit effectif pour les autres ?

Merci encore pour votre aide.
Kloug
1497 messages
Fusion 2.5
jeudi 22 mars 2018 à 09:13
"lancer une deuxième fois le jeu"

Pour quel objectif à atteindre?

:D

Il existe l'objet S.A.
Pièces jointes
Yazorius
200 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5
jeudi 22 mars 2018 à 10:05
Je participe à une gamejam amicale : MetaGameJam. Il faut réaliser un jeu qui "sorte du cadre du jeu". J'ai personnellement traité l'idée d'un échange d'inventaire entre deux cessions d'un même jeu, la difficulté du joueur étant de devoir penser à sortir du cadre de son jeu pour profiter d'un élément présent qu'au début du jeu pour débloquer la fin où l'élément a été détruit (même s'il n'y a que deux scènes début-fin : pas le temps de faire plus élaboré, et c'est juste une gamejam ^^). Bref, il faut deux sessions du même jeu, tout bonnement. Non pas une "sous-application" proposant deux fenêtres (car même ça moi je sais faire), mais bien lancer deux sessions réelles du même jeu (c'est ce geste spécifique de relancer le jeu alors qu'il est déjà lancé qui, selon moi, représente le thème imposé pour la GameJam).

Mais j'y ai pensé cette nuit et j'ai peut-être une solution :
- lancement de l'application = vérifier présence d'un fichier texte spécifique
- si fichier absent, créer (avec "1" dedans) et lancer application avec valeur globale A = 1
- si fichier déjà présent avec "1", changer "1" en "2", et lancer application avec valeur globale A = 2
- si fichier déjà présent avec "2", quitter application
- si joueur quitte application et fichier avec "2", remettre "1" et quitter l'application
- si joueur quitte application et fichier avec "1", effacer fichier texte

Normalement, j'ai ainsi deux cessions que la variable globale A permet de distinguer.
Je n'ai pas encore eu le temps de le faire/tester, mais à votre avis, ça peut fonctionner dans le concept ?
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 22 mars 2018 à 10:26
Je crois qu’il y a une extension qui permet de voir les processus actifs. Il suffirait de regarder si celui de ton jeu est actif.

Une autre idée serait d’utiliser un fichier ini avec une variable qui passe à true quand tu lance le jeu, puis à false quand tu quitte. Et du coup si la variable est déjà à true quand tu lance le jeu, c’est que tu le lance une deuxième fois.
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 22 mars 2018 à 11:30
Bonjour pour faire se que du demande utile l extension Données Partagées.
ou il y a aussi l extension Instance Communicator qui peu etre aussi utils pour envoie des donnes et des messages.
Modifié le lundi 6 mai 2019 à 10:04 par Emmanuel
Yazorius
200 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5
jeudi 22 mars 2018 à 12:52
J'aurais plutôt tendance à vouloir trouver une extension capable de "voir les processus actifs", et de les compter. L''envoi de données d'un programme à un autre est de moins importance (je pense que si je dois passer par la création d'un fichier via l'extension INI, je peux y inscrire aussi les données à partager). Bref, le chemin à parcourir est encore long, et le délai se rapproche dangereusement. Je sens que malgré mon projet hyper court, je risque fort ne pas être prêt à temps ^^" Merci malgré tout pour votre aide  :)
Cyberclic
664 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
jeudi 22 mars 2018 à 15:17
Il suffit d'utiliser l'extension Process Viewer, dispo uniquement avec la version Dev de CTF2.5. Ensuite tu énumères les processus en cours et tu comptes le nombre d’instance de ton jeu.exe

Edit :
J'ai bricolé un truc avec l'extension Get and Kill Process qui apparemment n'a pas besoin de la version Dev de Fusion.
Modifié le jeudi 22 mars 2018 à 15:44 par Cyberclic
Pièces jointes
Yazorius
200 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5
jeudi 22 mars 2018 à 16:35
Merci à toi Cyberlink. Je vais jeter un oeil à ton exemple.
Pour ce qui est de l'extension Process Viewer, j'ai la version dev, donc je vais aller la voir de plus près ^_^

EDIT :
J'avoue ne pas avoir trop compris comment utiliser "Process Viewer" malgré le fichier d'aide.
En revanche, ton exemple fonctionne à merveille et est particulièrement facile à adapter.
Merci à toi pour ce coup de main fort appréciable ! ^_^
Kloug
1497 messages
Fusion 2.5
jeudi 22 mars 2018 à 22:17
Merci pour tes explications Yazorius.

:D

Cyberclic, comme d'habitude.

:bravos  :sonic
Yazorius
200 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5
lundi 26 mars 2018 à 16:46
Je ne sais pas si ça vous intéressera de le tester, mais le programme créé pour la MetaGameJam est fini et uploadé. Il demeure quelques petites imperfections (notamment un texte de dialogue qui part trop vite, ou les icônes du jeu qui restent les standards de CTF alors que je pensais les avoir changées), mais c'est jouable. De plus, vous êtes les seuls à avoir la solution pour voir la fin (quelques personnes ont déjà essayé, et le fait de devoir lancer deux sessions du jeu semble vraiment tordu. Pourtant, ça me paraît super logique pour faire coincider les portes menant à rien ...). Bref, si le coeur vous en dit, suivez le lien ! Sinon, quoi qu'il en soit, merci encore à vous.

https://yazorius.itch.io/enantio
Cyberclic
664 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
mardi 27 mars 2018 à 08:33
Je veux bien la solution, car même en lançant 2 instances de ton jeu, je suis bloqué  :D
Sinon, sans indice, c'est quasi impossible qu'une personne ai la jugeote de lancer 2 sessions parallèles du jeu.
Yazorius
200 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5
mardi 27 mars 2018 à 08:55

Je veux bien la solution, car même en lançant 2 instances de ton jeu, je suis bloqué  :D
Sinon, sans indice, c'est quasi impossible qu'une personne ai la jugeote de lancer 2 sessions parallèles du jeu.


En lançant deux instances, tu es bloqué ? O_o" Aurais-je laissé un bug ?
A moins que tu aies lancé les deux instances sans raison (il faut que le jeu en soit au moment où il boucle).
Bref, voici la logique :
- prendre la clef sur le micro-ondes et aller dans la salle à droite pour faire exploser le perso
- reprendre la clef sur le micro-ondes et faire enfermer la flèche dans le micro-ondes
- le perso part seul dans la salle de droite et tourne en boucle
- lancer une deuxième session du jeu : les fenêtres, après quelques secondes, se collent pour coincider
- prendre la clef sur le micro-ondes dans la fenêtre de droite et amener le perso sur la porte de gauche pour cliquer sur la porte ouverte
- les deux persos finissent le jeu automatiquement sans l'aide du joueur en se retrouvant dans la même fenêtre (celle de gauche)

Dans ce déroulement, où as-tu bloqué ?
Sinon, plusieurs joueurs s'y sont mis, et pour l'heure, deux ont trouvé la solution.
Je prévois évidemment de donner des indices et solution dans le descriptif du jeu sitôt que les votes pour la GameJam seront ouverts.
D'ici là, je laisse les joueurs chercher par eux-même : rien n'est plus satisfaisant que de trouver tout seul une solution à un pareil problème.
Cyberclic
664 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
mardi 27 mars 2018 à 09:47
C'est bon, je lançais les 2 sessions dès le début, du coup, impossible d'aller dans l'autre pièce.
Tu devrais faire en sorte qu'il ne soit pas possible de lancer 2 instances tant que le jeu ne le requiert pas.
Yazorius
200 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5
mardi 27 mars 2018 à 10:18

C'est bon, je lançais les 2 sessions dès le début, du coup, impossible d'aller dans l'autre pièce.
Tu devrais faire en sorte qu'il ne soit pas possible de lancer 2 instances tant que le jeu ne le requiert pas.


LOL !
Qui aurait l'idée de lancer deux instances simultanées dès le départ, sans déjà être au courant de la solution ?
Déjà que c'est difficile d'y songer alors qu'il faut le faire, je doute que les joueurs le fassent naturellement sans raison ^^
Mais ton expérience est intéressante, et montre bien qu'avoir une partie de solution n'est pas toujours salvateur.
Je préciserai donc bien, dans les indices/solution sur la page d'info du "jeu", le moment où lancer cette deuxième session.
Merci encore à toi pour ton aide précieuse.
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
mardi 27 mars 2018 à 10:40
Bonjour l'ide et bonne
il mais arrive que le personnage reste en mouvement de marche l ordre qui et a cote de la table ou il y a la bombe.
si non du peu faire que le jeux lance tout seul une deux  instances quand le personnage explose ou faire apparaitre dans la nouvelle partie un objet a clique.
si non  :bravos d’avoir fini le jeux pour la gamejame . 
Yazorius
200 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5
mardi 27 mars 2018 à 10:58

Bonjour l'ide et bonne
il mais arrive que le personnage reste en mouvement de marche l ordre qui et a cote de la table ou il y a la bombe.


Ca m'est arrivé hélas aussi. Les conditions de changement de position et animation du perso ne sont probablement pas optimales. Probable que je doive regarder ça de plus près, mais ce ne sera pas fait avant la fin de la gamejam, car il faut sûrement reprendre beaucoup de choses, pour un petit soucis de gameplay relativement négligeable.



J'avoue que j'ai beaucoup et longtemps hésité à procéder exactement comme ça. Mais finalement, le fait que le joueur doive le faire lui même m'a semblé la meilleur façon d'illustrer le thème de la GameJam : forcer le joueur à sortir du cadre visuel du jeu. Et s'il bloque, il faudra qu'il cherche sur le Net une solution (ce qui devrait l'amener sur ce forum). Ce projet regroupe donc, dans cette version "active" (plutôt qu'une version "passive" où ça se ferait tout seul), plusieurs possibilités d'interactions en-dehors du jeu lui-même. Cela augmente en revanche la difficulté, c'est certain. Mais quelque part, cette fin se mérite un minimum ;)

[quote]si non  :bravos d’avoir fini le jeux pour la gamejame .


Merci à toi pour avoir testé cette "expérience interactive"  :)
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 18 visiteurs au total

Derniers messages