Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets Discussion :

[WE-JV10] First Plague


Sujet :

Projets

  1. #1
    Membre éprouvé
    [WE-JV10] First Plague
    Bonjour Bonsoir Bonne nuit!

    Après quelques heures à chercher l'inspiration puis à enfin commencer à travailler, je vous présente notre projet pour cette année.

    Pour trouver l'inspiration pour coller aux thèmes, je suis notamment allé sur l'article Wikipedia sur le nombre 10, duquel je me suis ensuite vite retrouvé sur celui des 10 plaies d'Égypte.
    J'avoue qu'en combinaison avec le thème "Vous ne devez pas arrêter de bouger pour ne pas mourir", j'ai d'abord pensé à faire un clone de Serious Sam

    Je me suis retrouvé à réfléchir à plusieurs idées de jeux poursuites, basés sur le fait de fuir quelque chose (à voiture, en bus...) pour finalement m'arrêter sur un jeu où, à bord d'un bateau sur le Nil, vous devrez échapper à la 1ère des 10 plaies d'Égypte: le fleuve de sang. Et ce faisant (si les délais me le permettent), vous devrez aussi sauver les gens à pied sur la rive qui veulent aussi y échapper.



    Je vous annonce qu'il y aura pas mal de recyclage dans ce projet vous pouvez déjà voir le même rendu de l'eau que pour mon prototype de jeu d'aventure sous-marine, dont un topic est présent quelque part sur ce forum.

    Biiscuit me fournit une précieuse aide cette année encore, elle a déjà réalisé, entre autres, le bateau ci-dessus.

    Bonne nuit encore et à bientôt,

    Guntha

  2. #2
    Membre éprouvé
    Bonne jam ! Et que les dieux (égyptiens) soient avec vous !
    Sur Youtube je suis "Le développeur des cavernes"
    https://www.youtube.com/channel/UCSz...bYl_pSNMv_zerQ

  3. #3
    Membre éprouvé
    Bonjour,

    Le fleuve de sang peut maintenant vous poursuivre et vous rattraper pour vous faire perdre la partie.

    J'ai aussi ajouté de l'inertie dans le déplacement du bateau.

    J'ai perdu un peu de temps à corriger des bugs de rendu, mon eau n'était pas vraiment prête à l'emploi, surtout que j'ai fait quelques changements pour ce jeu (il n'y a pas de réfraction vu qu'on ne voit pas sous l'eau, et je l'ai adaptée pour l'effet de rivière d'une couleur différente qui nous poursuit).
    Pour cet effet, je rends simplement la réflexion 2 fois, une fois avec un ciel rouge et une fois avec un ciel bleu, et je sample l'une ou l'autre selon la position du pixel d'eau dans le monde.
    J'aimerais bien avoir un effet similaire pour tout ce qui est affiché au-dessus de l'eau.


  4. #4
    Rédacteur/Modérateur

    Cet effet d'eau est effectivement très sympathique !

    Je ne sais pas s'il est possible de rendre moins rectiligne le fleuve de sang qui se rapproche. Peut-être avec des cercles plutôt qu'un rectangle, si c'est possible ?
    One Web to rule them all

  5. #5
    Membre éprouvé
    Ou alors avec un shader qui prendrait en compte la position world x et le bruit utilisé pour l'eau (comme ça en plus ça correspond). Après, il faut que ça reste relativement une ligne pour que ça soit assez clair la distance qu'il y a entre toi et le sang.
    Holyspirit : Hack'n'Slash amateur gratuit !

    www.holyspirit.fr

  6. #6
    Membre éprouvé
    Tout ce que dit Gregouar (l'idéal ça serait un effet qui s'intègre bien dans le bruit de l'eau, mais que la limite reste lisible pour le joueur, d'ailleurs c'était aussi mes conclusions sur le chat ^^)

    Mais faire un nouvel effet visuel pendant le week-end ça serait chaud, surtout que j'ai déjà perdu pas mal de temps sur des bugs visuels (qui aurait cru que c'était si galère de mettre proprement des sprites 2D dans un monde 3D, surtout quand on veut des réflexions sur l'eau? J'ai d'ailleurs quelques soucis de blending parce que je ne trie pas mes sprites, mais je vais laisser ça de côté...)

    Pour continuer sur le visuel, aujourd'hui j'ai passé pas mal de temps sur l'effet quand on perd, vous risquez d'avoir plus envie de perdre que de battre votre score pour le voir plus souvent :p


    Les palmiers, les mains et encore plusieurs autres sprites qui ne sont pas encore intégrés sont de Biiscuit, qui est très motivée cette année!

    J'ai aussi ajouté des bouts de décor qui s'enchaînent aléatoirement les uns dans les autres:



    Je les ai faits avec Trenchbroom; comme je l'ai déjà utilisé pour mon jeu d'aventure sous-marine (qui n'a pas été mis à jour depuis un moment :/ ), le gros du boulot était déjà fait, même le gros des collisions, sur lesquelles je suis en ce moment.


    Les cubes bleus sont censés représenter l'emplacement des palmiers :p et les rectangles verts les crocodiles, qui ne sont pas encore intégrés.

    Une fois que j'aurai fini les collisions, je pourrai mieux équilibrer le jeu en réglant bien la vitesse de la vague rouge. J'espère pouvoir ajouter toutes les features que je veux avant dimanche soir, notamment les bonshommes à sauver sur les bords ou les crocodiles qui bloquent le passage. J'ai un peu abandonné l'idée d'un effet visuel de monde "corrompu" autour des parties du fleuve déjà ensanglantées.

    Bonne nuit!

  7. #7
    Membre éprouvé
    Bonjour,

    Petite update car je devrais bientôt pouvoir faire une version:
    =>Je n'ai pas pu faire le système de collision que je voulais dans les temps (on ne glisse pas sur les bords, on rebondit dessus, pas forcément vers la bonne direction, ce qui suffit pour jouer)
    =>J'ai ajouté des visages familiers:

    Passer près du rivage pour les sauver et multiplier votre score.

    Il y a maintenant aussi des crocodiles, qui vous font rebondir en arrière quand vous les percutez.

    Je n'ai pas encore bien équilibré l'avance de la rivière de sang.

    À plus tard!

  8. #8
    Membre éprouvé
    Première petite version:

    https://lhuillia.iiens.net/wejv10/WEJV10.zip

    J'ai déjà eu le temps de corriger quelques petits détails depuis que j'ai fait ce zip ^^'
    Il n'est pas complet, il manque le Readme, et j'aimerais ajouter un dernier effet visuel en plus.

    Pour info, je mets les exécutables DX12 et OpenGL3.0 en plus de celui qui choisit la bonne API (voir le post sur le sujet :p ) parce que sur une machine Windows 10 que j'ai testé, ce dernier n'arrive pas à initialiser D3D12 mais ne retombe pas sur OpenGL, et je n'ai pas eu le temps de débugger ça.

  9. #9
    Rédacteur/Modérateur

    Des crocodiles béliers bien sûr !

    Je vois qu'il est possible d'appliquer des rotations sur le modèle du bateau, puis-je suggérer de le tourner légèrement lors des virages ?
    One Web to rule them all

  10. #10
    Membre éclairé
    Sympa, ma me rappel les bonshommes de "ya le feu"

  11. #11
    Membre éprouvé
    Ce SONT les mêmes bonhommes (c'est même le même fichier du modèle, contenant les mêmes animations, qui sont jouées ici Enfin à l'époque de la jam, ils n'étaient pas vraiment animés, j'ai fait ça par la suite...)

    Comme je l'ai dit plus tôt, cette année c'est la jam du recyclage, j'ai essayé de récupérer tout ce qui pouvait me servir, et ça m'a aussi permis de voir ce qui manquait à mon moteur.

    @SylvainPV: c'est ce que je voulais faire à un moment, mais devoir faire la rotation équivalente pour le reflet dans l'eau complique ça surtout que je ne suis pas doué en maths, j'en ai déjà sué pour que les sprites aient une rotation à peu près bonne par rapport à la fois à la caméra et au reflet, ce sera du fignolage pour plus tard
    Ce n'est peut-être pas vraiment compliqué, mais j'ai eu du mal à intégrer tout ce que je voulais, j'ai même coupé certains détails, et puis je veux en finir et ne pas risquer de casser quelque chose, je commence à être lessivé ^^'

    Nouvelle version, probablement définitive pour ce soir:
    https://lhuillia.iiens.net/wejv10/WEJV10.zip

    Cette URL sera peut-être mise à jour avec des versions améliorées par la suite si je suis motivé. Celle de ce week-end restera disponible à cette adresse:
    https://lhuillia.iiens.net/wejv10/WE...am_version.zip

    Au menu des changements:
    =>L'écran avant le début de la partie vous montre votre meilleur score (qui n'est toutefois pas sauvegardé sur le disque)
    =>Le menu pause avec le bouton "Recommencer" s'affiche automatiquement au bout d'un moment après avoir perdu (sans masquer l'animation des mains :p )
    =>Les crocodiles sont en plus haute définition
    =>Quelques tweaks pour que l'ordre d'affichage des sprites et l'utilisation du Z-buffer ne soit pas trop pété, mais c'est du bricolage
    =>Une tentative d'équilibrage de la vitesse de la marée rouge (si vous voguez à fond, elle ne tolère quasiment aucune erreur).
    =>Une petite animation quand on récupère des gens sur les rives, chaque personne est un multiplicateur de score


    Bonne soirée, et à plus tard pour le stream de SylvainPV!

  12. #12
    Membre éprouvé
    En re-testant, je me suis aperçu que la vague de sang était vraiment trop intransigeante, je l'ai modifiée pour que le je ait un tout petit peu le droit à l'erreur.
    https://lhuillia.iiens.net/wejv10/WE...am_version.zip

    C'est difficile de trouver un bon réglage pour que les parties soient courtes sans que le jeu soit trop frustrant, tout en faisant en sorte de ne pas pouvoir avoir des stratégies qui permettent de jouer infiniment avec peu d'efforts...

  13. #13
    Membre éprouvé
    Désolé, encore une mise à jour (d'un côté j'espérais en avoir fini pour de bon plus tôt, d'un autre je suis content de pouvoir apporter des améliorations qui rendent le jeu plus fun au lieu de travailler jusqu'à la fin sur des bugs décourageants)

    https://lhuillia.iiens.net/wejv10/WE...am_version.zip

    Cette fois-ci j'ai agi sur l'accélération du bateau au lieu de la vitesse de la vague de sang: en-dessous d'une certaine vitesse, le bateau accélère plus vite.
    Avec ça, maintenant quand on se prend un rebond, on a le temps de se rattraper de justesse alors qu'on voit le sang qui commence à passer sous le bateau, ce qui rend le jeu plus grisant.

  14. #14
    Membre éprouvé
    Bonjour,

    J'ai fait une petite mise à jour qui répare principalement les critiques qui ont été adressées pendant la jam:
    =>La vague de sang qui est coupée sur une ligne droite: maintenant elle suit l'effet de l'eau (en fait, pendant que je dessine le reflet, j'ajoute un gros quad rouge que je dessine pas dans la "vraie" scène, ça donne un résultat satisfaisant :p)

    =>Le bateau tourne quand le joueur appuie sur les flèches haut et bas.
    C'est là qu'on se rend compte que c'est compliqué de mixer de la 3D avec de la 2D, en voulant se permettre des excentricités comme pouvoir tourner des sprites ou les refléter dans l'eau. En fait je ne tourne pas vraiment le sprite, je tourne les vertices du sprites AVANT de faire les transformations de la projection; et encore même là ce n'est pas vraiment une rotation car je n'ai eu un bon résultat qu'en utilisant un quaternion qui n'était pas normalisé. Je dois aussi tricher sur la profondeur en écrivant, pour tout le sprite, la même profondeur que celle qui est à son point de pivot. Et pour le rendu de la réflexion j'ai galéré aussi pour que le bateau ait bien l'air de couler quand on perd.

    =>J'ai aussi amélioré le système de collision en mettant celui que je voulais mettre depuis le début: maintenant le bateau rebondit en fonction de l'orientation du plan sur lequel il se cogne et pas seulement vers l'arrière.
    Du coup j'ai du rééquilibrer la vitesse de la vague de sang (et elle n'est pas encore bien équilibrée, y a moyen d'exploiter en roulant assez lentement pour voir arriver les virages sans que la vague ne nous rattrape), parce que certaines collisions nous projetaient vers l'avant, même si ça diminuait la vitesse du bateau ça permettait de jouer en appuyant seulement sur la flèche droite :p
    =>Quelques autres améliorations visuelles, il y a notamment moins de stuttering (j'avais choisi d'updater le jeu à un framerate fixe, mais je ne smoothais pas la position du bateau/de la caméra au moment du rendu, du coup visuellement on voyait des frames skippées...), et je dessine les arbres du plus éloigné au plus proche, donc il y a moins de soucis de blending sur leurs contours.

    Voilà, amusez-vous bien =)
    https://lhuillia.iiens.net/wejv10/WEJV10.zip

  15. #15
    Rédacteur/Modérateur

    Super ces ajouts, bien joué
    One Web to rule them all

###raw>template_hook.ano_emploi###