Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Asci : un moteur pour jeux de rôles en Python
Shadow15510 Hors ligne Administrateur Points: 5317 Défis: 16 Message

Asci : un moteur pour jeux de rôles en Python

Posté le 13/08/2021 11:36

Bonjour à tous !
Avec la Graph 90 et son Python très… limité pas simple de faire un jeu de rôle… Asci est un moteur conçu pour vous simplifier la vie !

En terme d'utilisation, Asci est assez ergonomique avec notamment des choses plutôt agréable comme la détection des entités par leur nom, ou la gestion de Tiled qui permet de créer des cartes très simplement. Mais si vous voulez exploiter le moteur au maximum, il y a quelques points un peu plus délicat…

Concrètement, à quoi sert ce moteur ? Asci a avant tout pour but de rendre plus simple la création de jeux de rôles en Python. Ainsi, le moteur va se charger en grande partie de l'affichage, de l'avancée du scénario et de toute l'interface utilisateur. Vous de votre côté, il faudra que vous fournissiez une carte et un scénario sous forme d'évènements.

>> Le dépôt gitea <<

>> Télécharger Asci <<


La carte du monde
  • c'est à vous de la faire dans une variable à part, mais il faut respecter quelques règles/li]
  • vous évoluez dans le monde façon pokémon : la carte bouge tout autour de vous



Les mécaniques
  • les combats sont laissés au développeur du jeu
  • une liste des données du moteur est modifiable, sauf si vous savez ce que vous faites, n'y touchez pas, ce n'est, en général, pas nécessaire.
  • une liste de statistique est laissée libre, vous pouvez l'utiliser comme vous voulez. Ces statistiques peuvent être modifiée par les dialogues, bien que ce ne soit pas toujours la solution la plus élégante
  • les touches 1, 2, 3 et 5 sont prises pour les déplacement, vous ne pouvez pas y associer de fonctions.


La mise en place du scénario
  • les évèvements se découpent en catégories, à chaque catégorie correspond une fonction dans le code et un (ou des) symbole(s) qui déclenche(nt) ces évènements lorsque le joueur le(s) rencontre
  • les évènements ne sont pas très dur à prendre en main, il s'agit de liste : [XP_gagnée, "texte"].
  • vous pouvez tout à fait mettre en place des dialogues complexes dans lesquels le joueur choisit sa réplique dans une liste



Les entités
  • il s'agit d'une liste de tuples stockée avec la carte ; chaque carte a sa liste d'entités
  • toutes les entités sont repérées par un identifiant (à vous de faire en sorte qu'il soit unique)
  • les entités peuvent être animées et vous pouvez modifier les entités comme vous le souhaitez



Mb88 En ligne Membre Points: 142 Défis: 0 Message

Citer : Posté le 21/02/2022 11:37 | #


Avec une version pour calculette monochrome ça serait parfait !
(Je préfère clairement le Python au Casio Basic)
Shadow15510 Hors ligne Administrateur Points: 5317 Défis: 16 Message

Citer : Posté le 21/02/2022 12:56 | #


J'ai jamais essayé parce que je n'ai pas de modèle monochrome avec le Python officiel, mais Asci doit être compatible avec le Python de la Graph 35+E II. Les tailles d'écran sont les mêmes (en terme de ligne / colones)
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5317 Défis: 16 Message

Citer : Posté le 27/02/2022 10:00 | # | Fichier joint


Version 1.7.3

Pas beaucoup de changements, mais ça me semblait pertinent de faire une nouvelle version. Au programme : une nouvelle gestion des entités. Concrètement :
  • Dans le jeu, chaque entité doit avoir un identifiant unique (ce qui n'était pas le cas)
  • Les entités sont maintenant centralisées dans un dictionnaire alors qu'elle étaient gérées séparément par carte avant (ce qui explique le point ci-dessus)
  • Grâce à cette nouvelle gestion des entités, on peut maintenant téléporter des entités où on veut dans le monde


Vous pouvez télécharger la nouvelle version sur la page de téléchargement ou directement en fichier joint.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5317 Défis: 16 Message

Citer : Posté le 27/02/2022 13:50 | #


Version 1.8.0

Attention : cette version n'est pas compatible avec la précédente (le format des cartes est différent, avec les entités stockées à part).
  • Correction des bugs sur les entités
  • Mise à jour de la conversion Tiled
  • Refonte du chargement des entités et du système de carte


Téléchargez la nouvelle version depuis la page de téléchargement ou directement en fichier joint.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5317 Défis: 16 Message

Citer : Posté le 28/02/2022 14:51 | # | Fichier joint


Version 1.8.1

Désolé pour les version aussi rapprochées, vous l'aurez compris, IDK me sert aussi de premier test à grande ampleur, du coup pas mal de subtilités au niveau du moteur sont en train de se rôder. La bonne nouvelle c'est que ça avance.

Donc, au programme, pas mal de nouveaux types d'animations pour encore plus de possibilités (la phrase est con, vu que vous pouvez programmer vos animations vous-même, il y a déjà une infinité de possibilités ) disons "Pour encore plus de simplicité !".
Bon, en bref, deux nouvelles animations à découvrir :
  • walk to : l'entité se déplace jusqu'à la case donnée
  • follow by player : comme walk to mais si le joueur est trop loin, l'entité stoppe son mouvement pour permettre au joueur de la suivre.


L'ancienne animation walk qui correspondait à une marche "en boucle" a été renommée en walk between. Et l'algorithme de déplacement a été revu : vous pouvez dès lors directement préciser les points de départ et d'arrivée, l'entité se déplacera ensuite en ligne droite et / ou en diagonale pour rejoindre sa case d'arrivée. Néanmoins, il ne s'agit pas d'un algorithme de pathfinding, donc, si il y a un obstacle, l'entité restera coincée.

Comme d'habitude, le téléchargement peut se faire :
depuis la page de téléchargement
ou directement depuis ce lien
@RDP
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5317 Défis: 16 Message

Citer : Posté le 17/04/2022 22:28 | # | Fichier joint


Version 1.8.2

Une petite mise à jour dont KikooDX est à l'origine.

On peut donc utiliser la barre en bas de l'écran. Par défaut, la carte est affichée, mais vous pouvez aussi créer une fonction qui prend en argument les listes data et stat et qui renvoie une chaîne de caractère de 15 caractères maximum. Cette chaîne sera alors affichée en bas de l'écran.

Vous pouvez retrouver Asci sur la page de téléchargement et en fichier joint.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Shadow15510 Hors ligne Administrateur Points: 5317 Défis: 16 Message

Citer : Posté le 18/04/2022 12:25 | # | Fichier joint


Version 1.8.3

Une toute petite mise à jour qui finalise une fonctionnalité déjà pensée depuis le début mais qui n'étais pas encore fonctionnelle : la taille variable de l'écran. C'est maintenant chose faite, on peut ajuster la taille de l'écran comme on veut, ce qui permet, entre autre de pouvoir jouer sur ordinateur avec une bien meilleure vision de la carte. L'intérêt étant aussi de s'ouvrir aux autres plateforme dans le monde de la calculatrice comme la Graph 35+E et le port MicroPython de Zez ou la Numworks (encore qu'Asci n'est pas adapté à la Numworks qui, elle possède une gestion du clavier).

La nouvelle version est disponible sur la page de téléchargement et en fichier joint.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque


LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2022 | Il y a 53 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd