Facilitez vous la création de jeux vidéo !
Dina est un framework en Lua qui repose sur Löve2D.
Il offre de nombreuses fonctionnalités tout en laissant le contrôle au développeur.
Voici quelques unes des fonctionnalités qu'il intègre :
- la prise en charge de cartes issues de Tiled (voir "LevelManager" dans la section Outils)
- un gestionnaire de menus
- des éléments pour personnaliser l'interface utilisateur
- un gestionnaire de clavier et gamepads (avec possibilité de faire du multi-joueurs en local)
- un gestionnaire de traductions

- et bien d'autres à découvrir...
Vous trouverez des tutoriels (avec leur code source) et des exemples d'utilisation à télécharger.
Alors, n'attendez plus et lancez-vous !
N'oubliez jamais que VOUS garderez toujours le contrôle de VOTRE création !
Je serais plus qu'honoré si vous pouviez mettre un lien vers cette page dans les crédits de votre jeu.
Téléchargez Dina2021-05-09
Post-mortem du tutoriel pour le jeu d'exploration spatiale
Je suis fier d'avoir terminé ce tutoriel.
Pour les détracteurs, je sais qu'il manque beaucoup de choses dedans : musiques, sons, et j'en passe.
Mais j'ai pris du plaisir à le faire, bien qu'il m'ait fallu plus de 2 mois pour le finaliser (j'ai une autre vie en plus de celle-ci 😉).
Petit fait : la version du jeu disponible dans la page Mes projets est une version améliorée par rapport à celle du tutoriel (même si elle ne contient toujours pas de sons).
Vous pouvez télécharger la nouvelle version ici : Nouvelle version
2021-05-08
Tutoriel et documentation
Tutoriel
La 4ième partie du tutoriel du jeu d'exploration spatiale avance à grands pas.
Encore quelques ajouts pour finir le mini-jeu de type Lunar-landing et il sera complet.
Si tout se passe bien, je devrais l'avoir fini d'ici demain.
IMPORTANT
De nombreuses petites corrections ont été apportées à l'ensemble du tutoriel pour corriger des oublis et de nombreux bugs.
Il est donc plus que fortement recommandé de relire toutes les parties du tutoriel.
N.B. : Ce premier tutoriel m'aura appris qu'il faut bien contrôler le résultat de son code avant de le diffuser.
Documentation
Je viens de rajouter une petite fonctionnalité qui manquait dans la documentation : le composant Parent !
On peut consulter le composant parent du composant en cours de lecture via un lien en haut de la page.
Je vous laisse le voir par vous-même dans la Documentation.
2021-05-02
Ratio et point d'origine
Lors de la préparation de la 4ème partie du tutoriel du jeu d'exploration spatiale, j'ai pu découvrir un fait intéressant.
Si on applique un ratio à une image comme par exemple un ratio de 1.5 puis qu'on positionne l'origine au centre de l'image, l'image est décalée vers le haut et à gauche.
Si le ratio est inférieur à 0.5, l'image est décalée vers le bas et à droite.

Le rectangle rouge représente l'espace où devrait se trouver le vaisseau.
Grâce à ce "souci", j'ai pu trouver un bug majeur dans l'application du ratio : le code ne tenait pas compte du ratio en Y, seulement du ratio en X.
Mais ce n'était pas tout ! Il a fallu que je change le ratio pour le mettre à 1:1, changer le point d'origine puis remettre l'ancien ratio.
La prochaine version (3.1.7) contiendra la correction.
En attendant, vous pouvez appliquer la méthode de contournement suivante :
local osx, osy = Objet:getScale()
Objet:setScale(1,1)
Objet:centerOrigin()
Objet:setScale(osx,osy)
Avec Objet, le composant Image que vous souhaitez modifier.
2021-04-26
Documentation
Je viens de finaliser un outil me permettant de générer automatiquement les pages Web de la documentation.
Cela me permettra de vous fournir plus rapidement toutes les informations sur chacune des fonctions.
Je sais que certains composants sont peu voire pas du tout documentés.
Je vais repasser sur toutes les fonctions pour :
- les mettre à jour avec le plus d'informations possibles
- les mettre en français
J'étais parti dans l'idée de mettre la documentation en anglais mais comme j'intègre le traducteur de Google dans ma page, il est préférable de tout mettre dans la même langue pour que la traduction puisse se faire.
Donc mon prochain "challenge" : mettre à jour la documentation.
Quand même un gros travail en perspective...
2021-04-25
Version 3.1.6
Cette version apporte un grand nombre de petites modifications sur les composants suivants :
Panel- Toutes les fonctions pour modifier une image ont été supprimées. Le composant
Imageest mieux placé pour traiter cela.
- Toutes les fonctions pour modifier une image ont été supprimées. Le composant
Text- Une correction a été apportée au calcul de la hauteur d'un texte lorsque sa largeur est à 0.
MenuManager- Lors de l'ajout d'une image, on force le ratio à 1/1 et le Z-Order à -100.
- Lors de l'ajout d'un item au menu, on ne retire plus le composant du moteur.
Un message d'erreur a également été reformulé. - Lors de la validation d'un item, un message était affiché dans la console. Il a été retiré.
Keyboard- Des variables inutilisées ont été retirées.
Gamepad- Une nouvelle fonction
resetpour permettre d'effacer les données a été ajoutée. - Des variables inutilisées ont été retirées.
- Une nouvelle fonction
Controller- Des variables inutilisées ont été retirées.
- Si un gamepad est branché, on fait appel à la fonction
resetlors de la dissociation des contrôles.
Image- Ajout de la gestion de la rotation (en degrés).
DialogManager- Une harmonisation de toutes les fonctions a été faite
- Bien qu'une refonte globale de ce composant soit nécessaire, seuls quelques ajustements ont été faits pour utiliser au mieux la gestion des contrôles.
Vous pouvez télécharger la nouvelle version ici : Nouvelle version
Me contacter