[img=5142x256|center]https://www.planet-casio.com/files/forums/accueil-164775.png[/img][i]Image destinée a être dans le futur un écran d'accueil[/i] [img=128x64|center]https://www.planet-casio.com/files/forums/sniper-164767.png[/img] Bonjour à tous ! [justify]Ce topic regroupe l'ensemble des évolutions du projet de jeu 1v1 3D. [big][b]Brève présentation du jeu :[/b][/big] [justify][b]1v1 3D[/b] est un projet de[b] jeu de tir à la première personne[/b] (fps) en multijoueur sur graph 75/85/95 en utilisant le cable 3pin... Vous êtes en l'an 2119, et l'homme vit maintenant sous terre. La guerre fait rage entre les différents clans qui essayent de s'accaparer la terre entière... Vous spawnez dans un tunnel désaffecté et vous avez pour mission d'éliminer tout intrus. Cependant, la répartition des territoires et loin d'être claire, et votre adversaire vous traquera, jusqu'à ce que l'un d'entre vous tue l'autre... Avant de commencer la partie il vous faudra choisir l'une des 3 armes disponibles :[/justify]:here: Le pistolet simple (fréquence de tir moyenne, dégâts moyens, et croix pour viser) :here: Le fusil d'assaut (fréquence élevée, faibles dégâts par balle, et croix pour viser) :here: Le pistolet laser (rechargement long, mais dégâts puissants, pas de croix et présence d'un viseur avec zoom et masque) [big][big][b]Avancement du projet :[/b][/big][/big] Ce moteur 3d, du nom de FxEngine, est en cours de développement. Je suis actuellement en train de le réécrire sous GNU linux. Cela prend du temps car j'essaie de le rendre réutilisable dans d'autres jeux. [big][b]Progrès publiés :[/b][/big] [spoiler=1: version du CASIO fx9860 SDK|Un premier jet très moyen en de performances][big]Alpha 1[/big] J'ai un peu travaillé sur le sujet, notamment sur comment déformer les textures et j'arrive mainenant à des resultats comme ça : [img=center]https://www.planet-casio.com/files/forums/Capture%20d%E2%80%99%C3%A9cran%20de%202019-07-02%2018-34-49-164778.png[/img] [img=center]https://www.planet-casio.com/files/forums/Capture%20d%E2%80%99%C3%A9cran%20de%202019-07-02%2018-45-09-166943.png[/img] Donc le rendu est ok, la taille de l'image rendue est de 124x85 mais toutes les variables sont des [blue][courier]double[/courier][/blue] et donc le rendu est très lent, à en juger par le le nombre de FPS affiché en bas (bon, on calc c'est un chouia plus rapide, parce que ici je fais tourner le logiciel avec wine mais 6-7 FPS pour une pyramide pas super proche, ça ne fait pas rêver). Il faudra donc que je transforme le système de codage des coordonnées en [blue][courier]int[/courier][/blue] et optimiser la fonction de rendu des textures. Je compte réécrire tout de zéro afin de pouvoir ajouter le clipping et la suppression des faces cachées. Vous pouvez d'ailleurs noter la présence en bas d'une partie du futur affichage ingame ! Au point où j'en suis, j'utilise les libs suivantes : [code]MonochromeLib de pierrotll LibText de lephenixnoir[/code] [/spoiler] [big]2: Version GNU Linux + gcc + fxsdk + gint[/big] Attention, vous allez certainement être surpris ! J'ai réécrit mon programme de zéro, et appliqué les optimisations suivantes : Optimisation 1 : J'ai réécrit mon programme, en utilisant à 99,99% des entiers. Optimisation 2 : J'ai ajouté la notion de coté visible d'une face. Optimisation 3 : J'ai changé la méthode de conversion des coordonnées, j'utilise maintenant les matrices de rotation. Optimisation 4 : Un grosse optimisation au niveau de l'affichage des triangles, notamment une suppression du cas par cas pour une boucle plus légère. Ces quatre optimisations, associées à l'utilisation du puissant compilateur gcc, et de gint (par Lephenixnoir) qui remplace les syscalls peu optimisés de CASIO, permettent d'obtenir le rendu de triangle, à charge égale, d'une vitesse environ 20 fois supérieure (oui, 20 fois, vous ne rêvez pas !). [img=center]https://www.planet-casio.com/files/forums/Capture%20du%202019-07-27%2017-30-03-167623.png[/img] Je vais compléter prochainement ma fonction de rendu de textures, qui ne donne pas des résultats agréables, car la gestion de la perspective est encore incomplète (voir cette photo moins flatteuse) : Vous pouvez allez voir le dépot git [url=https://gitea.planet-casio.com/Milang/1v13d]ici[/url]. Le moteur FxEngine est aussi accessible, mais pour l'instant incomplet. A partir du moment où elles auront atteint un minimum de stabilité je publierai en tant que programme. N'hésitez pas à dire ce que vous en pensez !