Facilitez vous la création de jeux vidéo !

"Dina" est un moteur en Lua qui se 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 :

Vous trouverez des tutoriels (avec leur code source) et des exemples d'utilisation à télécharger.

Alors, n'attendez plus et lancez-vous ! Vous garderez toujours le contrôle de votre création !

Téléchargez Dina

2020-04-18

Version 1.3.1

Le système de gestion des dialogues fonctionnait. Toutefois, je trouvais que le fichier à créer par le développeur était bien trop compliqué. Lorsque j'ai commencé à me remettre à regarder mon moteur et sa gestion des dialogues, je dois vous avouer que j'ai eu quelques difficultés à bien tout comprendre.
Et quand j'ai ouvert le fichier des données à afficher, j'ai pris un instant pour me dire : "Respire un grand coup ! C'est toi qui l'a écrit donc tu DOIS savoir comment le lire !".
Pour que vous preniez la mesure de la tâche, voici un exemple de la version 1.3 :

local dialogs =
  {
  Dialog1 =
    {
    sound= { file="datas/music/Jessica_1_From_GC.mp3", type="stream" },
    image = "datas/dialogs/Image1.jpg",
      { -- First text to display
      position = { x= 0, y= 500 },
      title =
        {
        text="Dialog1-1", --ok
        font = { name= "datas/font/SairaStencilOne-Regular.ttf", size=20 },--ok
        align="center"
        },
      text = "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
      font = { name= "datas/font/TurretRoad.ttf", size=12 }
      }, -- Dialog1-1
      { -- Second text to display
      image = "datas/dialogs/Perso1.png",
      position = { x= 0, y= 500 },
      font = { name= "datas/font/TurretRoad.ttf", size=12 },
      title =
        {
        text="Dialog1-2",
        font = { name= "datas/font/SairaStencilOne-Regular.ttf", size=20 },
        align="left"
        },
      text = "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
      } -- Dialog1-2
    } -- Dialog1
  } -- dialogs
return dialogs

Comme vous le constatez, c'est une écriture assez fastidieuse et un risque d'erreur est plutôt facile.
Même si les erreurs sont rapidement détectés (surtout dans mon cas de test), il m'a fallu tout de même faire de la rétro-ingénierie sur toute le système de gestion des dialogues.
J'en ai profité pour repenser le fichier dans son ensemble. Le résultat obtenu est plus que satisfaisant comme vous pouvez le constater ci-dessous :
START
NAME=Dialog1
DEFAULTMUSIC=datas/music/Jessica_1_From_GC.mp3
DEFAULTFONT=datas/font/TurretRoad.ttf|12
POSITION=0|500
TITLE=Dialog1-1|datas/font/SairaStencilOne-Regular.ttf|20|center
TEXT=Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
IMAGE=datas/dialogs/Image1.jpg
TITLE=Dialog1-2|datas/font/SairaStencilOne-Regular.ttf|20
TEXT=Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
IMAGE=datas/dialogs/Perso1.png
STOP

Un "START" permet d'indiquer le début du dialogue et un "STOP" permet d'indiquer sa fin.
Seules les balises reconnues par le système sont traitées. La liste complète des balises sera présente dans la documentation ultérieurement.
Bien que je mette à disposition cette version, elle contient encore quelques bugs importants à corriger. Un nouvelle version devrait arriver d'ici demain.


Vous pouvez télécharger la nouvelle version ici : Téléchargements


2020-04-10

Reprise

Cela fait plus de 6 mois que je n'ai pas travaillé sur le moteur.
Plusieurs choses sont arrivées :

  1. la démotivation (le facteur le plus important)
  2. une nouvelle activité personnelle

 

 

Lors de la publication de la version 1.3, j'étais plus qu'excité de la présenter. Je l'ai publiée sur un site de développeurs pour la proposer à certains concepteurs de jeux.
Vous me direz : "ce n'était pas la meilleure place pour le diffuser !" et vous avez raison.
Un commentaire d'un des participants m'a totalement déstabilisé...Et il m'a fallu plus de 6 mois pour m'en relever.


Maintenant, j'ai décidé de continuer même si des remarques désobligeantes me sont faites !


2019-10-12

Version 1.3

Cette version ajoute une importante fonctionnalité au moteur : le système de gestion de dialogues.
Ce système, encore relativement rudimentaire, permet tout de même de faire les choses suivantes :

Voici un résultat obtenu lors des développements :
Dialog demo 4

Edit du 21/10/2019 :

Plusieurs bugs ont été détectés lors de tests qui n'ont pas permis de mettre rapidement en ligne une version stable.
De nombreuses corrections ont été nécessaires pour renforcer l'ensemble du moteur.
De plus, de nouvelles fonctionnalités ont été rajoutées telles que :


Vous pouvez télécharger la nouvelle version ici : Téléchargements

Vous pouvez télécharger les nouveaux exemples ici : Exemples


2019-10-06

Version 1.2.1

Cette version est une optimisation de la version 1.2 et donc n'intègre aucune réelle nouveauté.
Le traitement du z-order était déclenché, en version 1.2, un nombre de fois trop important.
Le nombre de déclenchement a été réduit de plus de 85% (passant de 30 appels à seulement 4 durant mes tests).
Cependant, j'ai du créer une forte dépendance entre le moteur et tous les éléments (templates et managers).


Vous pouvez télécharger la nouvelle version ici : Téléchargements

Vous pouvez télécharger les nouveaux exemples ici : Exemples


2019-10-06

Version 1.2

Cette version inclut seulement 2 nouvelles fonctionnalités :

Le z-order permet de positionner devant ou derrière une image ou un texte (pour le moment).
Si le z-order est positif, l'élément sera affiché en premier (on dessine toujours le fond en premier ^^). Et si la valeur est négative, alors l'élément sera affiché en dernier (juste devant).


Vous pouvez télécharger la nouvelle version ici : Téléchargements

Vous pouvez télécharger les nouveaux exemples ici : Exemples


1 2 3

4

5