Jeu de plateforme en Python : Melting Saga

a marqué ce sujet comme résolu.

Par gameplay, il voulait parler de scénario je pense. Est-ce un jeu de type arcade ? avec des vagues d'ennemis comme tu as pu le laisser supposer ? un jeu de quête ? un jeu avec des objectifs ?

C'est vrai que ça peut laisser confus alors je vais essayer ça d'expliquer ça au mieux.

En cours de développement avec Python j'ai atteint la fameuse limite des 60 FPS, alors que je n'avais même pas implémenté le quart des choses (et il est vrai que pygame n'est pas spécialement adapté au scrolling), pourtant j'avais déjà essayé d'optimiser tout ça mais j'avais atteint les limites de performances de Python :/

Je me suis dis que j'allais donc me mettre au C++, il est vrai qu'il existe de nombreux moteurs mais je préfère tout faire de moi même (bien que des fois j'ai failli abandonner devant le côté casse-couille de la chose), ce jeu me permet d'apprendre et de ne pas m'embêter avec des histoires de royalties / licences. Changer de langage m'a fait passer sur SFML qui utilise une philosophie bien différente de pygame et j'ai du tout réadapter. Mais au moins maintenant j'ai de la marge : ~1000FPS je pourrais faire mes effets de lumière / climatiques / sorts tranquillement sans avoir besoin de me soucier du framerate.

Le C++ apporte également un avantage non négligeable : La distribution. Je peux maintenant passer mon jeu à quiconque sans avoir besoin de lui expliquer comment installer Python / Pygame / PyQt4 et plein de choses rébarbatives.

Et pour l'instant, "le jeu" en lui même n'est pas encore fait en fait, là j'essaie d'implémenter une base la plus modulable et la plus pratique possible avant de passer au jeu. Après il suffira de créer les maps avec l'éditeur, de créer les scripts de map (Par exemple tel téléporteur amène à telle position, tel ennemi apparait là à tel moment), enfin quand la base du jeu sera terminée tout va aller très vite après en fait.

Le GDD est disponible ici pour la consultation : Le GDD

Ce que je veux dire c'est qu'une fois que le moteur sera fini, 70% du travail sera fait, il ne restera plus qu'a implémenter tout le scénario dans le jeu.

Je tiens à dire qu'un compositeur et plus récemment un graphiste ont rejoint l'équipe. Niveau musical tout est prêt pour la démo mais niveau graphisme la majeure partie des choses reste à faire comme il a rejoint l'équipe tardivemment :)

Merci, c'est déjà un peu plus clair ^^

Je te propose tout de même 2 choses : éditer le premier post (c'est anecdotique, mais c'est plus sympa pour ceux qui débarquent), et penser un peu ton jeu avant de continuer la programmation. Tout du moins, de ne revenir nous voir que lorsque ce sera fait, histoire que tu aies quelque chose à présenter, et que l'on puisse enfin se dire que c'est bien un jeu qui va être créé.

edit : par contre, tes arguments sur le moteur ne tiennent pas franchement. Les royalties / licences, tu comptes le vendre ton jeu ? Et même dans ce cas, il existe des moteurs 2D gratuits qui auraient tout à fait rempli leur office.

+1 -0

Je pense que le modèle de vente sera quelque chose du type "Pay what you want", en gros tu donnes ce que tu veux pour le jeu sans obligation de payer et oui il existe des moteurs gratuits mais ça reste mieux de tout faire soi-même (enfin sauf pour le temps). Je reviendrais quand j'aurais quelque chose de plus abouti dans ce cas, merci des retours :P

Voilà un petit Teaser qui montre certains nouveaux éléments de GAMEPLAY (Pour toi Phigger). On voit notament la barre de vie / mana. Les sorts disponibles classés par éléments (Terre/Feu/Vent/Eau). Le walljump, les animations etc..

Je préfère vous prévenir, les Sprites sont temporaires, on est en train de modifier tout ça :D Trailer ICI

Yeah, on a enfin l'impression de voir un jeu en dev ! :p

Alors effectivement, ça commence à devenir potentiellement intéressant. Mais maintenant j'attends de voir l'effet des sorts :p

ps : Par ailleurs, j'ai vu un petit move raté avec un perso qui finit dans le vide :p

+0 -0

Je reviens donner quelques nouvelles du projet qui n'est pas à l'abandon (Loin de là). Voici en gros les nouveautés majeurs depuis la dernière fois :

  • Les lumières
  • Les collisions

Je m'explique un peu plus sur ce point : Je n'arrivais pas à trouver un système qui me convenait et le PixelPerfect avec des formes générées au lancement était assez lourd et pas forcément très élégant. J'ai donc décidé de partir avec des Polygones et donc un système bien plus léger et simple !

  • Intégration de Lua (Possibilité de scripter des GameObject)
  • Système événementiel (Des Triggers pour toute la partie scripting justement)
  • Refonte de beaucoup de parties du code (Un code plus clair et plus organisé)
  • Ajout de MathExpObject (Objet dont les attributs sont gérés par des expressions mathématiques)
  • Ajout d'une console (Customisable, intégrée avec Lua)
  • Refonte des animations (Création d'un langage simple pour gérer les animations)
  • Ajout d'une GUI (Faite entièrement par un autre membre de l'équipe)
  • Ajout d'un système de particules
  • L'éditeur de map refait en C++ (Oui avant je faisais mes maps avec l'éditeur Python pour le jeu C++)

Voilà, ça fait déjà un paquet de choses, cependant, toujours pas de Gameplay !

Je vais essayer de m'expliquer un petit peu sur le manque d'ajout de Gameplay qui fait défaut à ce projet depuis le début : Ce jeu est conçu depuis le début avec comme objectif principal de rester le plus modulaire possible.

Modulaire pour une raison simple, en plus d'être un jeu, ce projet se veut également être un moteur de jeu de plateforme minimaliste. C'est pourquoi je m'attèle à créer les bases les plus solides possibles.

Petite vidéo qui montre rapidement les possibilités des lumières, des collisions et des MathExpObject (En effet, une des lumières possède une trajectoire gérée par une sinusoïde). La vidéo ici !

J'essaierais de sortir une vidéo sous peu pour montrer la Console, les possibilités avec Lua, la GUI et l'éditeur ainsi que tout le reste !

Merci d'avoir tout lu ce petit pavé :)

Si vous êtes curieux de savoir comment Melting Saga est fait, vous pouvez vous diriger par là : https://github.com/Mizugola/MeltingSaga

Gardez en tête que le code est pas forcément très propre partout et je serais ravi d'entendre vos corrections, vos suggestions et vos idées.

Si vous rencontrez des problèmes de compilation ou d'exécution n'hésitez pas à demander ici ou par MP :)

Si vous voulez tester le jeu, voici l'updater :) http://188.226.212.159/updater/Updater.zip

Pour lancer le jeu, premièrement, lancez Updater.exe puis cliquez sur le bouton "Update" Attendez que la vérification de fichier se fasse puis il devrait commencer à télécharger les fichiers du jeu. Une fois que l'update est terminée (Update Done), allez dans le dossier MeltingSaga nouvellement créé et lancez MeltingSaga.exe.

Si il vous manque des DLL, allez faire un tour par ici : https://www.microsoft.com/fr-fr/download/details.aspx?id=48145

Voici les signatures du fichier :

Signatures

MD5 c9013ce3e7cb3fe77675c26944ef07c1

SHA-1 aa803e8f745320690c4e2323717905d301ecda3e

SHA-256 e6995069c1d65f4d1241d566c1884c18c53c3b3ec235451b0b330f64279a053f

SHA-384 c27fcff035f50cd9b04e44df1e7e759c0551d52d4d0557c396b20c57ddec74899cc8a6c8127aeb32d8fc1de40fd31988

SHA-512 7fefff4d92e3850ee188848798ab89b997186040506c34a83b475697e0768fdf259e3c796c6e685db79068d7eb9a87dadde7921297faa63c35876c4f48f3298d</code>

VirusTotal : https://www.virustotal.com/fr/file/e6995069c1d65f4d1241d566c1884c18c53c3b3ec235451b0b330f64279a053f/analysis/1461879289/

+0 -0

J'ai voulu tester. Bon, la première fois l'updater a planté, du coup il l'a manqué certaines DLLs de la SFML. Mais après je l'ai relancé et ça a fonctionné.

Après je n'ai pas pu tester des masse en réalité : je n'ai pas trouver comment ouvrir la porte au début. :-°

+0 -0

Salut! Ce jeu m'a l'air très prometteur! :D (Bien que je ne sois pas trop intéressé par ce type de jeu ^^') Sinon quelques remarques après avoir regardé la vidéo, je ne sais pas si c'est ce type de jeu qui est comme ça mais je t'en fait part : les déplacements ne m'ont pas l'air très réalistes, comptes tu les développer ? Je ne sais pas quel est le degré de difficulté pour le faire, mais te suggère par exemple de faire une animation d'atterrissage après saut, et aussi des animations de saut contre les murs.

Encore plus titillant: Le personnage semble ne pas être très connecté avec le sol sur lequel il marche, je veux dire par là que les mouvements de jambes et le mouvement du personnages ne sont pas les même, et les accélérations me semblent trop grandes (ou peut être la vidéo est en accéléré ?)

L'environnement est bien fait ! les plans qui se déplacent à des vitesses différentes donne un rendu très joli :)

J'ai voulu essayer le jeu (étant sous linux), j'ai remarqué qu'il fallait utiliser kaguya (dans ton README) pour pouvoir compiler, bibliothèque qui n'est pas dans les dépôts de ma distro, j'ai abandoné… xD

Voilà voilà! Bon courage!

Au niveau des animations du personnage, c'est temporaire ! On a pas de graphiste donc on a du chipper des ressources venant d'internet qui ne sont peut-être pas super adaptées :/ Sinon pour Kaguya y a rien à compiler ! C'est une librairie en header only, il faut juste récupérer les fichiers sur Github. Et pour le déplacement, tout va être refait puisque la gestion des Entités va migrer de C++ à Lua :)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte