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 Dina2022-08-23
Forum du site
Aujourd'hui, je vous annonce que le forum des framework Dina (Lua et SDL) est désormais ouvert !
De nombreux changements (apportant leur lot de tracas en même temps) ont été fait dans cette nouvelle version du forum.
Il est possible que vous trouviez certains problèmes.
Si tel est le cas, n'hésitez pas à m'envoyer un courriel pour m'indiquer :
- l'action que vous faisiez
- l'heure à laquelle vous effectuiez cette action (ainsi que le fuseau horaire car je suis au Canada)
Travaillant durant la journée, je ferais mon possible pour corriger rapidement toutes les erreurs rencontrées.
2022-08-17
Version 3.4.1
Composant CheckBox
Tout d'abord, ce composant ne fonctionnait pas depuis la version 3.0.
N'utilisant que rarement ce composant, je n'y avais pas fait attention jusqu'à aujourd'hui.
Il a donc été corrigé et est pleinement fonctionnel.
Documentation
Vous l'aviez peut-être remarqué mais la documentation a eu un léger problème durant quelques jours.
Cela a été généré par une modification que j'ai apportée à mon outil d'extraction de la documentation.
J'ai voulu rajouter quelques éléments dans la page et retirer d'autres mais sans vérifier le résultat.
Le problème est désormais résolu !
J'en profite également pour essayer d'améliorer la lisibilité des données.
N'hésitez pas à me faire un retour !
Vous pouvez télécharger la nouvelle version ici : Nouvelle version
2022-08-13
Nouvelle version 3.4.0
Cette version inclut les éléments suivants :
- Composant
ProgressBar
- Possibilité de choisir le mode d'affichage pour remplir la barre :
LeftRight
: de la gauche vers la droite (valeur par défaut)RightLeft
: de la droite vers la gaucheBottomTop
: du bas vers le hautTopBottom
: du haut vers le bas
- Possibilité de choisir le mode d'affichage pour remplir la barre :
- Composant
TranslatorManager
La documentation a été mise à jour.
Mais, il reste encore quelques fonctions à documenter (ce sera fait d'ici quelques jours).
Vous pouvez télécharger la nouvelle version ici : Nouvelle version
2022-08-12
Grosse nouveauté dans le moteur !
J'ai une super nouvelle à vous annoncer : on peut maintenant traduire la totalité des textes !
Pour cela, il vous suffit simplement d'un fichier Texte par langue.
Ce fichier devra contenir, sur chaque ligne, un couple Clé=Valeur.
Voici un petit exemple pour illustrer le tout.
Supposons que j'ai un texte à afficher à l'écran en français et an anglais.
Ce texte pourrait être "Bienvenue à tous !" en français et "Welcome everybody!" en anglais.
Dans le fichier contenant les traductions en français (que je vais appeler "FR.txt"), on aura une ligne qui pourra ressembler à ceci :
TITLE=Bienvenue à tous !
Dans le fichier contenant les traductions en anglais (que je vais appeler "EN.txt"), on aura une ligne qui pourra ressembler à ceci :
TITLE=Welcome everybody!
Dans le programme, on aura simplement besoin de faire ceci :
-- Ici, on ajoute les fichiers de traduction
Dina:addLanguage("FR", "chemin/fichier/traduction/FR.txt")
Dina:addLanguage("EN", "chemin/fichier/traduction/EN.txt")
-- Si on ne définit pas de langue avec la fonction Dina:setLanguage,
-- par défaut, c'est la première langue chargée qui est sélectionnée (ici, le français)
Dina("Text", "TITLE", 100, 100)
MAIS ! Et il y a un grand MAIS !
Si vous choisissez de définir la langue à la fin, celle-ci sera utilisée et tous les textes changeront pour la langue voulue lors du prochain passage dans la fonction Dina:update
!
Avec cela, vous pouvez faire un écran de choix de langue comme ceci :
L'exemple ci-dessus est tiré du jeu "Curse of Paradise Islands" que vous pouvez retrouver ici : https://www.lacombedominique.com/project/30
Ce jeu a été conçu en anglais puis, après l'ajout du module de traduction dans le moteur Dina, une version française a été ajoutée.
2022-08-10
Nouvelle version de Dina (v3.3.1) et du LevelManager (v2.7)
Suite à la Weekly GameJam - Week 254, j'ai dû faire de nombreuses modifications dont :
- le LevelManager pour pouvoir intégrer des cartes générées par programmation
- le MenuManager pour avoir des menus horizontaux et non plus uniquement verticaux
J'ai également prévu de rajouter des fonctionnalités pour le composant ProgressBar.
Dans la prochaine version, on pourra choisir le sens de la progression (en incrémentation) :
- version actuelle
- de la gauche vers la droite
- prochaine version
- de la droite vers la gauche
- du haut vers le bas
- du bas vers le haut
Vous pouvez télécharger la nouvelle version ici : Nouvelle version
Vous pouvez télécharger les nouveaux outils ici : Outils