[Android] Final Rally
Publié : 04 Juin 2020 21:49
Bonjour à tous,
Après à peu près deux ans de développement je vous présente Final Rally.
https://play.google.com/store/apps/deta ... xels.rally
C'est un petit jeu de rallye qui à l'origine devait être fait en collaboration un ami, mais que j'ai finalement fait tout seul.
C'est un simple jeu de course quoi, rien de très original. En revanche mon objectif était dès le début de faire quelque chose en procédural. Ce qui ne facilite pas la vie pour tout ce qui est éclairage et "beauté" du jeu, puisque difficile de faire du light-baking par exemple...
L'un des défis les plus intéressant et "arrache cheveux" de ce projet consistait à bien aligner les routes et les mesh du terrain. Même si aujourd'hui on ne voit pas la limite entre les deux il s'agit bien de deux types d'objets séparés (le petit dégradé entre les deux renforce l'illusion ). J'ai rapidement laissé tomber les terrains d'Unity pour créer les miens à partir de zéro.
Ensuite il a fallu s'attaquer à l'herbe! Pffffff. Merci les shaders! De même que pour le terrain (splat map etc) et les changements de textures sur les routes, l'herbe n'aurait pas pu exister tel que vous le voyez sans un bidouillage massif sur les shaders. J'ai dû prendre un petit cours sur le sujet, mais j'avoue que les limites s'étendent un peu quand on commence à bien manipuler les shaders. En gros l'herbe du jeu consiste en un unique mesh qui entoure le véhicule. Elle se déplace en fonction de la position du véhicule, mais de 3 mètre en 3 mètres pour qu'on ait l'impression qu'elle ne bouge pas. Pour le positionnement des vertices de l'herbe sur le terrain j'ai dans un premier temps utilisé du "raycast". Et puis suite à un petit problème de performance, je me suis orienté vers une autre solution très peu coûteuse au final. Je transmet la hauteur via une image créée à la volée une seule fois en récupérant les points du terrain. Comme on peut stocker 255 couleurs alors j'ai dû utiliser 3 images car par endroit j'atteint les 700 mètres. (Pour plus de précisions sur ce système contactez moi, car je me rend compte en écrivant que ça devient vite technique ).
Un autre problème est survenu quand je devais ajouter un peu d'ombre, par exemple sous les arbres. La solution la moins coûteuse pour moi a encore consisté à utiliser les shaders. Je passe également une image créée à la volée qui contient des points d'ombre (une image d'arbre en niveaux de gris par exemple).
Concernant le véhicule et la conduite j'ai bien sûr utilisé un moteur trouvé sur Unity Asset Store. Mais j'avoue que j'ai dû faire quelques adaptations car certaines choses ne me convenaient pas. Par exemple le "respawn" se fait à genre 2 mètres du sol, et moi je voulais que le véhicule se replace pile sur la route...
Aujourd'hui le jeu est en ligne, mais il reste encore pas mal de bugs et d'ajustements à faire notamment sur les contrôles. J'ai tellement l'habitude de tester le jeu que je ne me rends pas compte des difficultés. Je le fais actuellement tester sur une plateforme de freelance, on verra...
Les bruits de moteurs sont moyens, voire mauvais, mais bon difficile de faire mieux pour l'instant avec le temps et le budget...
Il y a quelques dizaines de téléchargements par jour en ce moment, et ça devrait un peu augmenter une fois que j'aurais mis une vidéo du jeu. Et peut-être aussi après la mise en place du multijoueur.
J'ai mis en place une "alerte google" pour savoir si des gens parlaient du jeu. Ça permet de savoir si des nouveaux articles ou pages apparaissent sur un sujet. Après ma dernière grosse mise à jour j'ai commencé à recevoir des alertes. C'était des sites chinois et autres qui mettent mon apk à disposition des joueurs (sans mon autorisation ) en dehors du playstore avec plus d'argent pour commencer le jeu. J'avoue que je ne connaissais pas ça... Je vais régler ce problème plus tard si ça s'avère en être vraiment un.
Voilà pour Final Rally, si vous le testez et que vous avez des suggestions, questions ou autre n'hésitez pas.
A bientôt
Après à peu près deux ans de développement je vous présente Final Rally.
https://play.google.com/store/apps/deta ... xels.rally
C'est un petit jeu de rallye qui à l'origine devait être fait en collaboration un ami, mais que j'ai finalement fait tout seul.
C'est un simple jeu de course quoi, rien de très original. En revanche mon objectif était dès le début de faire quelque chose en procédural. Ce qui ne facilite pas la vie pour tout ce qui est éclairage et "beauté" du jeu, puisque difficile de faire du light-baking par exemple...
L'un des défis les plus intéressant et "arrache cheveux" de ce projet consistait à bien aligner les routes et les mesh du terrain. Même si aujourd'hui on ne voit pas la limite entre les deux il s'agit bien de deux types d'objets séparés (le petit dégradé entre les deux renforce l'illusion ). J'ai rapidement laissé tomber les terrains d'Unity pour créer les miens à partir de zéro.
Ensuite il a fallu s'attaquer à l'herbe! Pffffff. Merci les shaders! De même que pour le terrain (splat map etc) et les changements de textures sur les routes, l'herbe n'aurait pas pu exister tel que vous le voyez sans un bidouillage massif sur les shaders. J'ai dû prendre un petit cours sur le sujet, mais j'avoue que les limites s'étendent un peu quand on commence à bien manipuler les shaders. En gros l'herbe du jeu consiste en un unique mesh qui entoure le véhicule. Elle se déplace en fonction de la position du véhicule, mais de 3 mètre en 3 mètres pour qu'on ait l'impression qu'elle ne bouge pas. Pour le positionnement des vertices de l'herbe sur le terrain j'ai dans un premier temps utilisé du "raycast". Et puis suite à un petit problème de performance, je me suis orienté vers une autre solution très peu coûteuse au final. Je transmet la hauteur via une image créée à la volée une seule fois en récupérant les points du terrain. Comme on peut stocker 255 couleurs alors j'ai dû utiliser 3 images car par endroit j'atteint les 700 mètres. (Pour plus de précisions sur ce système contactez moi, car je me rend compte en écrivant que ça devient vite technique ).
Un autre problème est survenu quand je devais ajouter un peu d'ombre, par exemple sous les arbres. La solution la moins coûteuse pour moi a encore consisté à utiliser les shaders. Je passe également une image créée à la volée qui contient des points d'ombre (une image d'arbre en niveaux de gris par exemple).
Concernant le véhicule et la conduite j'ai bien sûr utilisé un moteur trouvé sur Unity Asset Store. Mais j'avoue que j'ai dû faire quelques adaptations car certaines choses ne me convenaient pas. Par exemple le "respawn" se fait à genre 2 mètres du sol, et moi je voulais que le véhicule se replace pile sur la route...
Aujourd'hui le jeu est en ligne, mais il reste encore pas mal de bugs et d'ajustements à faire notamment sur les contrôles. J'ai tellement l'habitude de tester le jeu que je ne me rends pas compte des difficultés. Je le fais actuellement tester sur une plateforme de freelance, on verra...
Les bruits de moteurs sont moyens, voire mauvais, mais bon difficile de faire mieux pour l'instant avec le temps et le budget...
Il y a quelques dizaines de téléchargements par jour en ce moment, et ça devrait un peu augmenter une fois que j'aurais mis une vidéo du jeu. Et peut-être aussi après la mise en place du multijoueur.
J'ai mis en place une "alerte google" pour savoir si des gens parlaient du jeu. Ça permet de savoir si des nouveaux articles ou pages apparaissent sur un sujet. Après ma dernière grosse mise à jour j'ai commencé à recevoir des alertes. C'était des sites chinois et autres qui mettent mon apk à disposition des joueurs (sans mon autorisation ) en dehors du playstore avec plus d'argent pour commencer le jeu. J'avoue que je ne connaissais pas ça... Je vais régler ce problème plus tard si ça s'avère en être vraiment un.
Voilà pour Final Rally, si vous le testez et que vous avez des suggestions, questions ou autre n'hésitez pas.
A bientôt