(Occupé par mes études, je n'ai pu continuer le développement que depuis début juillet)
Pour créer des objets, pourquoi ne pas faire un éditeur d'objet ?
Cela a peu de chance d'arriver car les objets sont codés en Lua et contiennent des scripts. Il serait assez compliqué de permettre l'écriture de scripts à l'intérieur du jeu.
avec des peintures et des couleurs différentes qu'on peut assembler avec des calques, possibilités de rajouter des images sur l'objet
Pour le moment, les objets ne peuvent avoir qu'une image (avec des animations possibles). Je compte néanmoins rajouter la possibilité de combiner plusieurs images avec différents offsets et d'ajouter d'autres types de textures : textures répétées / 9-patch (comme cela il serait possible de redimensionner des éléments dans l'éditeur de niveaux).
Mise à jour 0.4.2-alpha
Changements depuis la version 0.3.0-alpha
Moteur de jeu
- [feature] Les différents modèles d'entité (templates) sont maintenant séparés en paquets (actuellement, il y a un paquet avec des objets qui utilisent les fameuses textures créées par Kenney et un autre qui utilise des ressources faite maison)
- [feature] Gestion de la vie (mais pas de HUD actuellement !)
- [feature] Ajout d'un écran de chargement de niveau (chargement effectué sur un thread séparé)
- [feature] Ajout d'un écran d'erreur en cas de plantage de script Lua pendant un niveau (permet au créateur des modèles d'entités de déboguer facilement ses scripts) ou en cas de chargement de niveaux
- [feature] Amélioration de l'éditeur de niveau (la gui de l'éditeur de niveau est maintenant ImGui à la place de SFGUI). Il est prévu d'utiliser à terme TGUI pour la GUI du menu principal / menu des options et des niveaux (ImGui restera utilisée pour l'éditeur de niveau, plus orienté développeur/créateur)
- [perf] Indexation spatiale pour les entités pour améliorer les performances des tests de collisions (performance ~ x10 avec un niveau possédant 3000 entités)
- [bugfix] Correction d'un bug lors de l'édition du point de spawn dans l'éditeur de niveau
Scripting (lua):
- [feature] L'accès aux variables membres d'un composant est maintenant direct (exemple :
position(entity).x
pour récupérer l'attribut membre X du composant position de entity
à la place de as_float(entity:get_attribute("Position", "x"))
)
- [feature] Séparation complète entre le masque de collision utilisé par le moteur de plateforme (PlatformerSystem) et les masques de collisions du système de détection de collision (CollisionSystem)
- [feature] Le système de Collision permet d'avoir plusieurs masques de collisions nommés et de réagir à leur collision avec d'autres entités
- [feature] La ligne d'arrivée n'est plus un objet avec un composant spécial mais juste un objet qui déclenche la fin du niveau grâce au scripting
Contenu:
- Ajout de nouvelles textures
- Ajout d'ennemis (une grenouille et un slime)
- Ajout de nouveau modèles de joueurs
- Tous les modèles d'entités ont été retravaillés pour suivre la nouvelle syntaxe
Technique:
- Compilé avec MinGW-w64 (GCC 6.1) sur Windows
- Mise à jour de SFML vers SFML 2.4.0
- Mise à jour de Sol de la version 2.4 à la version 2.11.2
Téléchargement
Cette version est disponible pour Windows uniquement : YAPG 0.4.2 Windows x86
Documentation de modding
La documentation de modding est toujours disponible à cette adresse mais n'a pas encore été mise à jour. et vient d'être mise à jour (encore du travail pour parler des paquets, etc.).