{"id":949,"date":"2023-03-30T15:54:33","date_gmt":"2023-03-30T14:54:33","guid":{"rendered":"https:\/\/oneiricworlds.com\/fr\/?p=949"},"modified":"2023-03-31T10:05:39","modified_gmt":"2023-03-31T09:05:39","slug":"ocean-sauvegardes-trailer","status":"publish","type":"post","link":"https:\/\/oneiricworlds.com\/fr\/2023\/03\/ocean-sauvegardes-trailer\/","title":{"rendered":"Oc\u00e9an, Sauvegardes &#038; Trailer"},"content":{"rendered":"\n<p>Bonjour \u00e0 tous,<\/p>\n\n\n\n<p>J&rsquo;essaie de publier plus r\u00e9guli\u00e8rement ces jours-ci. J&rsquo;esp\u00e8re m&rsquo;y tenir. Voici un r\u00e9sum\u00e9 de ce que j&rsquo;ai fait ce mois-ci :<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sauvegardes<\/h4>\n\n\n\n<p>Comme j&rsquo;ai fait tester le jeu par des amis, j&rsquo;ai d\u00fb retravailler le syst\u00e8me de sauvegarde. En effet, quand il y a un probl\u00e8me lors des tests, le fichier de sauvegarde se corrompt, et j&rsquo;ai donc d\u00fb trouver un moyen de le r\u00e9parer pour que les joueurs puissent continuer leur partie par la suite. J&rsquo;ai migr\u00e9 l&rsquo;ancien syst\u00e8me de sauvegarde binaire vers un syst\u00e8me plus r\u00e9cent et plus flexible sans casser les sauvegardes des testeurs. Maintenant, j&rsquo;utilise le format JSON textuel, qui est facile \u00e0 mettre \u00e0 jour et \u00e0 d\u00e9boguer, et \u00e9tonnamment plus rapide que l&rsquo;ancien syst\u00e8me. Bien s\u00fbr, je devrai le crypter lors de la sortie du jeu.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Oc\u00e9an<\/h4>\n\n\n\n<p>Apr\u00e8s cette grosse partie technique (et assez invisible pour le joueur), j&rsquo;ai voulu me \u00ab\u00a0reposer\u00a0\u00bb un peu et j&rsquo;ai commenc\u00e9 \u00e0 travailler sur quelque chose de plus fun et surtout visible : l&rsquo;oc\u00e9an. Cela faisait des ann\u00e9es que je n&rsquo;y avais pas travaill\u00e9 (voir ce <a href=\"https:\/\/oneiricworlds.com\/fr\/index.php\/2013\/06\/23\/steven-the-seagull\/\" class=\"ek-link\">post pr\u00e9c\u00e9dent<\/a> d&rsquo;il y a 10 ANS !), et avec les retours des joueurs et des commentaires sur internet, j&rsquo;ai d\u00e9cid\u00e9 d&rsquo;y ajouter des vagues g\u00e9om\u00e9triques. Jusqu&rsquo;\u00e0 pr\u00e9sent, il \u00e9tait parfaitement plat, m\u00eame s&rsquo;il y avait quelques normal maps.<\/p>\n\n\n\n<p>Je suis donc devenu un \u00ab\u00a0artiste technique\u00a0\u00bb pendant quelques jours et j&rsquo;ai ajout\u00e9 pas mal d&rsquo;am\u00e9liorations aux vagues :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>d\u00e9placement des sommets avec plusieurs couches de mouvement<\/li>\n\n\n\n<li>variations de couleur<\/li>\n\n\n\n<li>\u00e9cume qui bouge \u00e0 la surface de l&rsquo;oc\u00e9an<\/li>\n\n\n\n<li>\u00e9cume g\u00e9om\u00e9trique au sommet des vagues<\/li>\n\n\n\n<li>\u00e9claboussures au sommet des vagues \u00e9galement (j&rsquo;ai d\u00fb coder une mont\u00e9e de gradient 3D pour les placer aux bons endroits)<\/li>\n\n\n\n<li>variation de teinte bas\u00e9e sur une fausse profondeur (tr\u00e8s utile pour la conception d&rsquo;un niveau en particulier)<\/li>\n\n\n\n<li>des reflets brillants sur certains angles en r\u00e9fl\u00e9chissant la lune ou le soleil<\/li>\n<\/ul>\n\n\n\n<p>Je voulais que l&rsquo;oc\u00e9an soit magnifique et qu&rsquo;il incite le joueur \u00e0 l&rsquo;exploration, car c&rsquo;est un argument de vente important du jeu ! Et voici \u00e0 quoi il ressemble maintenant :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/oneiricworlds.com\/en\/wp-content\/uploads\/2023\/03\/20230327_223634.jpg\"><img decoding=\"async\" src=\"https:\/\/oneiricworlds.com\/en\/wp-content\/uploads\/2023\/03\/20230327_223634-1024x576.jpg\" alt=\"\" class=\"wp-image-1312\"\/><\/a><figcaption class=\"wp-element-caption\">L&rsquo;oc\u00e9an la nuit<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/oneiricworlds.com\/en\/wp-content\/uploads\/2023\/03\/20230327_223858.jpg\"><img decoding=\"async\" src=\"https:\/\/oneiricworlds.com\/en\/wp-content\/uploads\/2023\/03\/20230327_223858-1024x576.jpg\" alt=\"\" class=\"wp-image-1313\"\/><\/a><figcaption class=\"wp-element-caption\">L&rsquo;oc\u00e9an \u00e0 l&rsquo;aube<\/figcaption><\/figure>\n\n\n\n<p>Et voil\u00e0 en mouvement:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Ocean shader\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/3iXwYisxSR4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Si vous ne voyez pas la vid\u00e9o ci-dessus, regardez ici: <a href=\"https:\/\/youtu.be\/3iXwYisxSR4\" class=\"ek-link\">https:\/\/youtu.be\/3iXwYisxSR4<\/a><\/p>\n\n\n\n<p>Mais j&rsquo;avais 2 contraintes principales :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pour l&rsquo;instant, je ne veux pas r\u00e9\u00e9crire tous les d\u00e9placements sur l&rsquo;oc\u00e9an, donc je devais le rendre visuellement int\u00e9ressant sans casser le code de gameplay existant<\/li>\n\n\n\n<li>le monde est cyclique, ce qui signifie que l&rsquo;oc\u00e9an doit \u00eatre continu d&rsquo;un bord de la carte \u00e0 l&rsquo;autre. En effet, le joueur se \u00ab\u00a0t\u00e9l\u00e9porte\u00a0\u00bb d&rsquo;un c\u00f4t\u00e9 \u00e0 l&rsquo;autre de la carte lorsqu&rsquo;il en sort, et l&rsquo;oc\u00e9an DOIT \u00eatre p\u00e9riodique pour que la t\u00e9l\u00e9portation ne puisse pas \u00eatre rep\u00e9r\u00e9e. Cela implique d&rsquo;utiliser une mise \u00e0 l&rsquo;\u00e9chelle intelligente de textures et de masques pour cacher le truc, mais aussi pour cacher les r\u00e9p\u00e9titions \u00e9videntes.<\/li>\n<\/ul>\n\n\n\n<p>En travaillant sur l&rsquo;oc\u00e9an, j&rsquo;ai \u00e9galement pris le temps de supprimer les contours noirs sur l&rsquo;\u00e9cume, puis sur tous les effets visuels. C&rsquo;\u00e9tait perturbant et ne correspondait pas \u00e0 la direction artistique du jeu. Mais j&rsquo;ai d\u00fb mettre en place une pile de rendu diff\u00e9rente pour l&rsquo;ensemble du jeu. Au final, le rendu me pla\u00eet bien plus comme \u00e7a.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Trailer<\/h4>\n\n\n\n<p>Suite \u00e0 l&rsquo;article pr\u00e9c\u00e9dent, j&rsquo;ai cr\u00e9\u00e9 une bande-annonce pour le prologue du jeu. Cette fois-ci, j&rsquo;ai compos\u00e9 la musique en premier, en r\u00e9fl\u00e9chissant \u00e0 ce qui appara\u00eetrait dans ce trailer. Je pense que c&rsquo;est une meilleure approche, et la vid\u00e9o finale est maintenant disponible sur la page <a href=\"https:\/\/store.steampowered.com\/app\/2320250\/Zefyr_Prologue\/\" class=\"ek-link\">Steam<\/a>, ou ci-dessous:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Zefyr : A Thief&#039;s Melody Trailer\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/JR2WZQqH-p0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Si vous ne voyez pas la vid\u00e9o ci-dessus, regardez ici: <a href=\"https:\/\/youtu.be\/JR2WZQqH-p0\" class=\"ek-link\">https:\/\/youtu.be\/JR2WZQqH-p0<\/a><\/p>\n\n\n\n<p>Malheureusement pour moi, j&rsquo;ai boss\u00e9 sur l\u2019oc\u00e9an APRES le trailer, donc c&rsquo;est la vieille version de l&rsquo;oc\u00e9an qui y est visible. Mais de toutes fa\u00e7ons, il faut toujours tout mettre \u00e0 jour r\u00e9guli\u00e8rement&#8230;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Autres<\/h4>\n\n\n\n<p>En testant le jeu, j&rsquo;ai corrig\u00e9 beaucoup de choses, notamment des bugs, des dialogues, la conception de niveaux et de puzzles.<\/p>\n\n\n\n<p>Voil\u00e0 pour ce mois-ci ! J&rsquo;esp\u00e8re que c&rsquo;\u00e9tait int\u00e9ressant.<\/p>\n\n\n\n<p>Paix \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bonjour \u00e0 tous, J&rsquo;essaie de publier plus r\u00e9guli\u00e8rement ces jours-ci. J&rsquo;esp\u00e8re m&rsquo;y tenir. Voici un r\u00e9sum\u00e9 de ce que j&rsquo;ai fait ce mois-ci : Sauvegardes Comme j&rsquo;ai fait tester le jeu par des amis, j&rsquo;ai d\u00fb retravailler le syst\u00e8me de sauvegarde. En effet, quand il y a un probl\u00e8me lors des tests, le fichier de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":954,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,12],"tags":[43,20,41,42,21,17],"class_list":["post-949","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","category-video","tag-devlog","tag-jeu","tag-ocean","tag-shader","tag-trailer","tag-video"],"_links":{"self":[{"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/posts\/949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/comments?post=949"}],"version-history":[{"count":9,"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/posts\/949\/revisions"}],"predecessor-version":[{"id":963,"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/posts\/949\/revisions\/963"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/media\/954"}],"wp:attachment":[{"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/media?parent=949"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/categories?post=949"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oneiricworlds.com\/fr\/wp-json\/wp\/v2\/tags?post=949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}