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 :

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 Dina
1

2

3 4 5 6 7 8 9 10

2022-08-10

Jeu ''Curse of Paradise Islands''

Curse of Paradise Islands

Vous pouvez télécharger le jeu ici : https://asthegor.itch.io/curse-of-paradise-islands

Résumé de la GameJam

Il y a 2 semaines commençait la Weekly Game Jam - Week 264. Elle m'avait inspirée par sa durée suffisamment longue mais pas trop.

Puis le thème est apparu : "Many islands".....
Il m'a fallu plus d'une journée pour trouver une idée de jeu : un navigateur qui doit trouver la Fontaine de Jouvence.

Je vais passer sur le temps qu'il m'a fallu pour trouver des images correctes car on sait tous que c'est super long pour trouver ce qui matcherait avec nos idées.
 

Toutefois, grâce au moteur Dina, j'ai eu rapidement le début, à savoir :

En moins d'une demi-journée, le travail était fini (version 0.1)

Puis une idée un peu folle m'a traversé l'esprit : avoir une partie navigation et une partie exploration.
Mais pour cela, il me fallait une ile....Enfin, plusieurs.... Pour coller au thème.

J'ai donc décidé de générer les iles à l'aide du bruit de Perlin !

Heureusement, j'avais fait un prototype qui m'a permis d'accélérer ce générateur d'iles. Mais pas vraiment....
J'ai alors eu une autre idée (toute aussi folle que la première, surtout pour une GameJam) : générer une carte pour pouvoir l'utiliser avec mon LevelManager.
Quelques modifications toutes simples au LevelManager m'ont permis de rapidement le faire (ouf sinon je n'aurais jamais pu finir le jeu).
Avec ça, j'ai pu mettre en ligne la version 0.2.

 

Des problèmes dans la gestion des collisions et les ajustements pour la génération de la carte m'ont énormément retardés dans l'avancée du gameplay.
J'en ai profité pour rajouté l'écran de sélection du type de navigateur (version 0.3).

Au lieu de bloquer sur ces problématiques, j'ai décidé de rajouter les options pour configurer le controlleur (version 0.4).

Quelques ajustements dans l'écran de sélection ont été abandonnés car non fonctionnels (version 0.5).

Puis, après une démonstration à ma femme, elle m'a suggéré de rajouter une animation du bateau dans le menu principal (merci à elle).

À la fin du temps imparti (avant les votes), on pouvait :

 

Il manquait quand même un truc important : il n'y avait aucune fin de jeu ! Pas de "Game Over" ni de "Victory".
Bref, c'était encore inachevé.

Mais j'ai tout de même décidé de continuer sur le temps des votes.

Il faut savoir qu'à ce moment-là, les iles générées étaient ridicules et tenait dans la fenêtre.
Ce fut la première modification faite durant le temps des votes (version 0.7).

Une fois ce (gros) détail réglé, j'ai pu ajouter la nourriture placée aléatoirement sur l'ile. Quand elle était sur la zone de sable, je remplaçait l'image de baies par celle d'un crabe.
J'en ai profité pour mettre une interface utilisateur (UI) afin d'indiquer la quantité de nourriture que le joueur possède ainsi qu'un effet visuel (un tonneau qui se vide) pour montrer le temps entre les repas.

Et, cerise sur le gâteau : j'ai pu enfin implémenter une fin (Game Over). Bon, elle est ultra-simpliste puisque ce n'est qu'un message mais cela permet de finir le jeu et de pouvoir le recommencer (version 0.8).

Je me suis ensuite attaqué à rajouter du gameplay pour chaque type de navigateur et augmenter la quantité de nourriture transportable (version 0.9).

Puis, un truc complètement dingue : un autre participant m'a proposé de rajouter les musiques et sons à mon jeu 😱😱😱
Je n'en revenais pas ! Bien entendu, j'ai dit "Let's go!". Pour lui faciliter le travail, j'ai mis en place une partie de l'infrastructure permettant de recevoir les sons et musiques.
J'en ai aussi profité pour rajouter la fontaine et la boussole (genre de LogPose à la One Piece) dans cette version 1.0.

La version suivante n'a été que des corrections de bugs (de collisions principalement) et de préparations pour les sons (version 1.1).

J'ai ensuite implémenté un écran pour la boussole. Si la fontaine n'est pas dans l'ile, l'aiguille bouge de manière aléatoire.
Dans le cas contraire, vous l'aurez deviné, elle indique au joueur la position de celle-ci (version 1.2).

Enfin, The_Runner_01 m'a livré le code modifié incluant les musiques et sons (version 2.0). Un gros boulot de sa part !
Et je suis super content du résultat !

Il manque encore d'animer le joueur lors de ses déplacements.
Mais, avec le temps qu'il reste et la complexité du développement à faire, je n'aurais pas assez de temps.

Toutefois, ce jeu me servira pour réaliser ces développements.

 

Mot de la fin

Au moment d'écrire ces lignes, je n'ai pas le résultat des votes.
Je sais qu'il y a de meilleurs jeux que le mien mais ce n'est pas important.

Je suis fier de moi : je n'ai rien lâché jusqu'au bout !

Et, bien que je vais faire une pause pendant quelques temps, je reprendrais encore plus en forme et plus motivé !


2022-07-23

Version 3.3.0

Nouvelles fonctionnalités

MenuManager

Controller

 

Correction de bugs

Composant Text

Composant Group

Composant Button


Vous pouvez télécharger la nouvelle version ici : Nouvelle version


2022-07-22

Participation à la Mini Jam 111

J'ai décidé de participer à la Mini Jam 111. Le thème est Colors.

J'ai prévu de faire un jeu où on doit "attraper" des rectangles de couleur qui tombent de l'écran.

À un certain score (je ne sais pas encore lequel), on va rajouter des zones qui vont changer la couleur des rectangles. Plus le score sera élevé, plus il y aura de zones.

Je ferais également des niveaux intermédiaires pour laisser souffler un peu le joueur mais ce sera pour le peaufinage final.

 

Vous trouverez le jeu ici : https://www.lacombedominique.com/project/29

 


2022-07-16

LevelManager - Nouveau tutoriel

Un nouveau tutoriel est disponible pour le LevelManager.

Il s'agit du tutoriel sur la gestion des objets.

Vous y apprendrez :

 


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

Vous pouvez consulter les nouveaux tutoriels ici : Tutoriels


2022-07-09

LevelManager - Corrections pour les objets

Durant de la rédaction du tutoriel sur les objets, j'ai pu constater quelques soucis dans la gestion des objets.

En premier, tous les objets étaient affichés dans le canvas. Cela faisait que lorsque l'on déplaçait l'objet, il était toujours affiché à la même place sur la carte.
En modifiant la carte (par exemple, en changeant l'ID d'une tuile), l'objet était enfin dessiné à sa vraie place... tant que le joueur n'actionnait pas les touches de déplacement...
Vraiment pas pratique si on a décidé d'utiliser un objet de la carte comme joueur non ? C'est ce que j'ai fait dans le tutoriel.

En deuxième, tous les objets ne prenaient pas en compte le décalage de la carte.
Pour le tutoriel, j'avais décidé d'utiliser une carte centrée (ouf sinon je n'aurais pas vu ce bug génant 😅) et je me suis retrouvé avec tous les objets affichés à partir du coin supérieur gauche de la fenêtre. J'ai donc rajouté deux paramètres à mes fonctions d'affichage des objets, corriger une ligne et le tour était joué. 😁
La mise à l'échelle (scale) était déjà bien prise en compte.

Petit avertissement
L'affichage des objets est dépendant de l'ordre dans lequel ceux-ci sont organisés dans Tiled ET de l'ordre des calques des objets.
Pour les calques, c'est le calque le plus haut qui sera affiché en dernier. Pour les objets, c'est exactement pareil.

Je comptais rajouter une fonction pour trier les objets selon une propriété personnalisée mais je trouve cela inutile compte-tenu de la règle ci-dessus.

 


Vous pouvez télécharger les nouveaux outils ici : Outils


1

2

3 4 5 6 7 8 9 10