Journal Un jeu vidéo en encart de Jeux et Stratégies : Le Sceptre Maudit v0.2

Posté par  . Licence CC By‑SA.
Étiquettes :
24
20
oct.
2024

D'où ça vient ?

Depuis un temps certain, je souhaite programmer des jeux vidéos. Un de mes plus vieux exemples est un (début de) jeu que j'avais appelé Sorciers et Sortilèges et que j'avais programmé en Basic.

sets-basic.gif

Je n'ai jamais terminé ce jeu pour des raisons techniques de gestion de mémoire, mais surtout parce que je n'avais aucune idée de ce que je voulais réaliser. Bref, à titre d'archive, ce jeu est disponible sous licence CC BY-SA 4.0 si quelqu'un est intéressé à y jeter un oeil : https://gitlab.com/jlaumonier/sets-qb.git

Implémenter un jeu : le Sceptre Maudit

Mais ce n'est pas pour ça que je fais cette annonce aujourd'hui. En fait, comme je n'ai pas arrêté d'essayer de programmer des jeux, je me suis pour l'instant réorienté vers la réimplémentation de jeux existants, et principalement des jeux de plateau. Ça me permet de me concentrer sur la partie technique pour la base et en parallèle, je pense à quelle sorte de jeu je veux vraiment faire.

Donc, je me suis mis au Python et j'ai commencé par "Le Sceptre Maudit" provenant du Jeux et Stratégies no 38 et je sors aujourd'hui la version 0.2. Cette version permet de créer un personnage, de se déplacer sur le plateau et d'ouvrir/casser des portes. Il permet aussi de jouer à plusieurs via un réseau local.

À 1 seul joueur :
sceptremaudit-v0.2-solo.gif

Et à plusieurs :
sceptremaudit-v0.2-2players.gif

La version 0.2 est disponible pour linux et win64 : https://gitlab.com/jlaumonier/encartgames/-/releases/v0.2. Le code source est disponible sous licence CC BY-SA-NC 4.0 sur gitlab : https://gitlab.com/jlaumonier/encartgames.git

Py MAS Engine Plateform

Ce jeu est basé sur une bibliothèque multiagent, que je développe en parallèle, Pymasep (qui vient de sortir en version 0.2 aussi), et que je n'ose pas vraiment appeler un moteur de jeu, mais que je ne sais pas vraiment comment classer. C'est un mélange entre moteur de simulation et moteur de jeu, mais sans avoir totalement les caractéristiques propres à chacun.

Sans trop rentrer dans les détails, cette bibliothèque vise à utiliser des concepts le plus près possible des véritables concepts des jeux en général, un peu à la manière d'une architecture orientée domaine et bien sûr avec une architecture orientée agents. Pour cela, elle s'appuie sur des modèles théoriques comme le DEC-POMDP et les Graphes conceptuels. D'un point de vue technique, elle est basée sur pygame-ce et pygame-gui pour la partie affichage.

Elle est disponible comme paquet pypi et sur gitlab sous license MIT :

https://pypi.org/project/pymasep/

https://readthedocs.org/projects/pymasep/

https://gitlab.com/jlaumonier/pymasep

Pour un exemple d'utilisation de Pymasep avec une implémentation simple de l'algorithme Q-Learning sur le jeu de Chat et Souris : https://gitlab.com/jlaumonier/pymasep-examples

Cat/Mouse Qlearning

Si vous trouvez ça intéressant, faites-moi signe, ça m'indiquera à quel point je continuerai les annonces des nouvelles sorties. Aussi, si vous connaissez des communautés sur Internet qul pourraient être intéressées, dites-le-moi ou n'hésitez pas à partager l'annonce.

  • # moi ça m'intéresse

    Posté par  . Évalué à 5 (+3/-0).

    Merci pour ce journal.
    Je me souviens du sceptre maudit, présent dans le premier J&S que j'ai acheté. Je l'ai encore quelque part.

    Pour causer du dev, tu peux essayer le chan irc que j'ai en signature. Ca répond parfois lentement, mais c'est la qualité plutot que la quantité ;)

    Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr

  • # Très sympa

    Posté par  . Évalué à 3 (+2/-0).

    Sympa le jeu, j'aime bien l'aspect du plateau !
    Jeux & stratégies, super magasine.
    J'aimais bien acheter "casus belli" de temps en temps aussi.

  • # cool

    Posté par  (site web personnel) . Évalué à 5 (+3/-0). Dernière modification le 21 octobre 2024 à 14:12.

    j'adore ton jeu en Basic :-) ça me rappelle une soirée avec des potes où j'avais ajouté la possibilité de jouer à 3 au snake fourni en exemple en GW-Basic (bin oui, on était 3 et il n'y avait qu'un mode 2 joueurs voire 1 seul :p), bon le clavier était un peu petit :D
    C'est sympa de l'avoir mis en libre, dommage de l'avoir mis en CC-by-SA qui est peu adaptée au code :/ c'est plutôt pour les images / logos / sprites… La MIT ou la GPL pour du code c'est plus standard.

    Sinon pour le jeu de plateau, ça rend bien, attention tout de même à ne pas reprendre une copie d'image : c'est protégé par le droit d'auteur (à peu près la seule chose protégeable pour un jeu, les règles étant assimilables à des recettes de cuisine non soumises au droit d'auteur). L'idée c'est de garder les fonctions mais d'avoir des graphismes en propre (pas trop proche pour éviter le plagiat…).

    Bref, n'hésite pas à te rapprocher de communautés de jeux qui pourront t'apporter des conseils sur les aspects de licence, voire des illustrations ou des musiques en complément de ce que tu proposes ! Il y en a qui traînent sur LinuxFr.org

    Au plaisir d'avoir des nouvelles ;-)

    • [^] # Re: cool

      Posté par  . Évalué à 4 (+4/-0).

      Ah ben, merci pour les commentaires !

      Je viens de découvrir qu'effectivement les licences CC ne sont pas adaptés au code, je vais donc changer la licence pour le petit jeu en Basic.

      Pour l'image du plateau, c'est effectivement une préoccupation que j'ai. Je ne ferai clairement pas ça pour d'autre jeux mais dans ce cas, je tente ma chance pour les premières préversions pour plusieurs raisons. Les images sont accessibles sur internet sans trop chercher, Gildas Sagot est malheureusement décédé en 2018 :( et trouver qui possède le copyright de Jeux et Stratégie semble être très complexe à cause des rachats successifs. Alors, je suis d'accord que ça ne justifie rien mais c'est aussi pour ça que j'ai mis la clause NC. Si un jour j'ai un message d'un ayant droit, cela ne me dérangera pas de retirer les images (Et en vrai c'est prévu pour la version 1.0 et sûrement avant mais je suis nul en graphisme) et/ou de négocier avec eux pour une utilisation. En vrai, j'attends qu'ils viennent.

      Bref, à suivre, je vous tiendrais au courant s'il y a du développement en ce sens.

      • [^] # Re: cool

        Posté par  (site web personnel) . Évalué à 4 (+2/-0).

        En pratique tu ne risques rien (ton jeu est confidentiel et ne génère pas d'argent), tous comme des milliers de petits jeux amateurs qui reprennent des assets de jeux commerciaux.

        En revanche ça reste évidement une violation de licence, tu ne peux pas prétendre que ton jeu (donc code + assets) est libre, et il ne pourra pas par exemple intégrer une distribution Linux un tant soit peu sérieuse. Mais rien ne dit que c'était ton objectif au départ évidemment.

        • [^] # Re: cool

          Posté par  . Évalué à 2 (+2/-0).

          C'est effectivement un excellent point. Même si c'est sûr qu'être intégré dans une distribution n'est absolument pas l'objectif. Je fais ça pour le plaisir de le faire et pas du tout pour le résultat.

          Par contre, et même si j'ai personnellement de nombreuses réserves sur le concept de licence, cela m'a fait réfléchir et je vais très certainement prioriser pour la prochaine version de générer des assets "perso" (et libre) même si la qualité visuelle diminuera probablement de manière drastique :)

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.