La distribution éducative pour débutants et initiés.

Vous n'êtes pas identifié(e).

Annonce

PrimTux3-Raspberry Pi est disponible pour tests ici

  • Pour être automatiquement informé des réponses à vos messages sur le forum, n'oubliez pas de cliquer sur "Suivre cette discussion" en bas de page. Mieux, en vous abonnant au flux RSS du forum, vous pourrez suivre tout nouveau message sur l'ensemble du forum.
  • En allant dans votre Profil, ligne "Vie privée", vous pouvez également cocher "Suivre automatiquement les sujets auxquels on a répondu.", vous n'aurez plus à cliquer sur "Suivre cette discussion" lorsque vous postez un message.
  • Carte des membres pouvant aider et des écoles sous PrimTux, merci de nous envoyer un email si vous souhaitez y apparaître.
  • Abonnez-vous à la newsletter sur le site principal pour être informé des nouveaux paquets, nouvelles versions, bugs...

#1 23-07-2017 13:34:49

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 429

Jeu de Puissance 4

Bonjour,

J'aimerais vous sensibiliser sur un nouveau projet de jeu de puissance quatre open-source.

A première vue, rien de bien neuf : ça existe déjà dans GCompris.

Oui mais le puissance quatre de GCompris est un jeu sur le même écran à tour de rôle.

Voici ce qui (à mon sens) présente de l'innovation :

- full responsive avec un format vectoriel => parce que tous les projets que je connais sont en réalité des formats images donc pixelisés sur des grands écrans.
- jeu en réseau : s'affronter en live sur des écrans différents
En plus, on peut envisager des modes tournois organisés par des admin (profs, parents etc.) !
- un mode ai avec un niveau de difficultés
- un choix entre plusieurs GUI :
    - mode cli pour les plus geeks
    - mode web : l'interface accessible de partout => aussi bien téléphone, tablette, ordi fixe etc.
    - mode appli en GTK : principalement dédié aux ordis reconditionnés, c'est top car ça évite de lancer un navigateur complet (et les ressources gargantuesque nécessaires)
- open source
- internationalisation
- Partie serveur et client non web écrit en Rust et client web en html/javascript/css

Bien évidement le cadre du jeu en réseau autorise tout naturellement à un joueur en mode cli d'affronter aussi bien un autre joueur en mode cli qu'en mode web ou appli GTK.

Ce projet assez simple sera pour moi une entrée en matière pour envisager des jeux plus complexes (je pense fortement au stratégo) avec toujours les mêmes prérogatives et par conséquent une libraires de code commun !

Le jeu sera gratuit mais je ne cache pas un intérêt de financement participatif si la mayonnaise prend. (au moins pour payer les hébergements d'instances de serveurs)

J'ai déjà commencé à dev un bon morceau (juste le nécessaire pour jouer un peu avec ma fille qui m'a lancé sur l'idée) mais cherche avant tout à communiquer sur l'idée.

1. Est-ce que c'est suffisamment enthousiasmant ?
2. Si oui, qu'est ce qui vous parait le plus novateur ? Quels seraient vos suggestions, propositions d'amélioration etc.
J'en suis à la phase brainstorming donc tout est bon à prendre et entendre !

Hors ligne

#2 24-07-2017 08:55:27

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 593

Re : Jeu de Puissance 4

Il existe beaucoup de jeux de puissance 4 et de scripts. Pour moi la nouveauté résiderait dans le réseau et les tournois, un peu comme le boggle. Après faut voir... On peut prévoir des alignements de 5, de la 3d dans les options, des jetons personnalisables, une option où le pc te balance un jeton aléatoire n'importe quand, pourquoi ne pas envisager des grilles différentes (autre forme, plus grande, plus petite...)...

Hors ligne

#3 24-07-2017 19:46:50

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 429

Re : Jeu de Puissance 4

Ok, des bonnes idées, j'en prend note !
Que veux-tu dire par scripts ?
Réseau et tournois : c'est la partie la plus intéressante à dev donc je vais me concentrer dessus !

Hors ligne

#4 24-07-2017 20:15:52

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 593

Hors ligne

#5 25-02-2018 13:26:13

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 429

Re : Jeu de Puissance 4

Bonjour, après de nombreux mois d'absences, j'ai enfin dev quelque chose d'utilisable et de cohérent.
La preuve en est (même si c'est qu'à moitié objectif) que ma fille de 9 ans n'a pas eu besoin de longues explications et que nous jouons en moyenne 4 à 5 parties par jour depuis 2 semaines sans rencontrer de soucis majeurs.

Je me suis pour le moment concentré sur l'essentiel : un serveur de jeu avec une interface web pour les joueurs le tout en réseau.
Pas encore d'interface en GTK stable ni de mode tournoi. (même si j'ai déjà réfléchi à toute la mécanique de cette dernière sous forme papier : wireframes et organigrames)

Le tout est utilisable en mode réseau local.
Ce que je sous-entend par là : c'est que c'est fonctionnel avec des utilisateurs connus physiquement.
En effet, il y a encore quelques cas non gérés pour des utilisateurs qui ne se connaissent pas du genre :
- que faire quand un utilisateurs ne répond pas à une invitation

Voilà, ça c'est la partie Onirique de ce nouveau projet.

En effet, il y a des manques sur la partie déploiement qui est encore rude.
Elle n'est pas idéal et j'en ai concience.

J'aimerais :
- mettre à dispo un serveur de démo public (sans doute 1 VPS OVH)
- Proposer d'empaqueter le tout pour une installation aisé sous PrimTux (j'aurais peut-être besoin d'aide à ce sujet)
- mettre en place une doc et aide

Dernière modification par mothsart (27-02-2018 14:29:04)

Hors ligne

#6 27-02-2018 14:34:21

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 429

Re : Jeu de Puissance 4

J'ai mis un descriptif du projet sur mon site : https://mothsart.github.io/puissance4.html
Dedans, il y a la procédure d'installation, des imprim écrans etc.
Pour vérifier que tout ce déroule sans accros, j'ai créé une image docker : https://github.com/mothsART/docker_connect_four.git
Je vais sous doute retester dans une virtualbox.

Hors ligne

#7 18-04-2018 17:40:22

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 429

Re : Jeu de Puissance 4

Plusieurs semaines ont passés.
J'ai appris à empaqueter des projets Rust (Le langage est un peu jeune) : https://forum.ubuntu-fr.org/viewtopic.php?id=2023943

Pour accéder aux paquets : https://launchpad.net/~jerem-ferry/+arc … /+packages

J'ai dût  me pencher sur Systemd (mon inspiration : http://alesnosek.com/blog/2016/12/04/co … -systemd/) et adapter le code aux contraintes d'une mise en prod.

Néanmoins, le soft reste en béta et demande votre indulgence.
Pour l'instant, après installation du paquet, ça nécessite de lancer les services systemd à la main (en root) :

systemctl start connectfour.service
systemctl start connectfour_web.service
systemctl start connectfour_ws.services

Ces derniers lancent respectivement le serveur web et le serveur websocket.
Lorsque le serveur websocket est arrêté ou redémarré, les données du jeux liés à la session sont vidés. (Ceci évite les enregistrements fantômes qui pourraient se cumuler)

Pour accéder au jeu, il faut donc lancer un navigateur puis :

* Si l'on est sur la même machine que le serveur : 127.0.0.1:8000 (ou localhost:8000) suffira

* Si l'on est sur une autre machine appartenant au même réseau locale : ip_du_poste_serveur:8000

Evolution à venir : J'aimerais rapidement créer un petit applicatif d'admin (en gtk) qui viendrait piloter le service systemd pour éviter la ligne de commande. (au moins au premier lancement)

Hors ligne

#8 19-04-2018 18:54:39

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 429

Re : Jeu de Puissance 4

Le source github intègre la config pour l'empaquetage (dossier debian) https://github.com/mothsART/connect_four

Hors ligne

#9 11-05-2018 21:24:15

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 593

Re : Jeu de Puissance 4

Ben écoute ça marche, c'est pas mal, j'ai joué contre moi-même. Alors attention dans le .deb l'exécutable est dans /usr/share/bin/connectfour au lieu de /usr/bin.
Si on ne lance pas le serveur en root (ou sudo), le terminal devient fou et il faut redémarrer à l'arrache!

Hors ligne

#10 11-05-2018 21:32:13

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 429

Re : Jeu de Puissance 4

Ok, merci beaucoup pour le feedback!

Steph a écrit :

Si on ne lance pas le serveur en root (ou sudo), le terminal devient fou et il faut redémarrer à l'arrache!

Ah oui, à ce point ? T'avais lancé systemd en espace utilisateur ?

Hors ligne

#11 11-05-2018 21:34:03

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 593

Re : Jeu de Puissance 4

Les 3 services oui, il m'a demandé de m'authentifier mais la boîte ne m'a pas mis de fenêtre pour écrire le mot de passe et là plein de fenêtres de roxterm se sont manifestées!

Hors ligne

#12 11-05-2018 21:39:10

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 429

Re : Jeu de Puissance 4

Ok, bon, faut vraiment que je dev une petite appli qui gère ça alors.   cry

Hors ligne

#13 12-05-2018 08:01:09

Steph
Administrateur
Inscription : 03-06-2015
Messages : 4 593

Re : Jeu de Puissance 4

Tu ne peux pas inclure l'allumage des 4 dans un script bash ?

Hors ligne

#14 22-09-2018 08:27:52

mothsart
Modérateur
Inscription : 31-10-2016
Messages : 429

Re : Jeu de Puissance 4

Je viens de tenter un script mais ça me lance un dialogue pour donner les droits root par service (soit 3 fois  cry ).
Lancer ce type de service nécessite des droits super utilisateur, certe mais il faudrait un prompt pour donner les droits puis lancement des services.

Je n'arrive pas à trouver de solution élégante et je suis preneur de toute idée.

Y'a bien entendu l'utilisation de postinstall dans le paquet debian mais je suis pas fan car ça impose le lancement d'un daemon.

Hors ligne

#15 22-09-2018 08:48:29

Philippe Dpt35
Modérateur
Lieu : Ille-et-Vilaine
Inscription : 28-10-2015
Messages : 2 131
Site Web

Re : Jeu de Puissance 4

mothsart a écrit :

Je viens de tenter un script mais ça me lance un dialogue pour donner les droits root par service (soit 3 fois  cry ).

Si le script est lancé avec les droits root, il devrait être en mesure de lancer des services exigeant des droits root. Donc un seul mot de passe au lancement du script principal.

Hors ligne

Pied de page des forums