3 ans plus tard, nouveau moteur raycasting pour Ndless 3.1 !
Posted: 14 Jun 2013, 14:59
Salut les gens
Rappelez-vous, c'était il y a maintenant 3 ans, peu après la sortie de la toute première version de Ndless, Critor vous annonçait la venue d'un nouveau moteur 3D de type raycasting pour la Ti-Nspire non-CX. Ce moteur, développé par le légendaire Bwang, est depuis tombé en désuétude avec l'avènement de nDoom, le portage de Doom que tout le monde connaît maintenant, utilisant lui le moteur original du non moins original Doom, celui-ci étant bien plus rapide (et surtout bien plus compatible avec les OS 3.x.x) que le moteur de Bwang.
Moi qui suis, comme vous le savez peut-être déjà, un grand passioné de 3D, j'étais très déçu de ne pas pouvoir coder de bon vieux jeux à la Wolfenstein 3D, étant donné que le moteur de Bwang n'était plus du tout compatible avec les versions récentes de Ndless (qui ne sont d'ailleurs plus tellement récentes aujourd'hui, c'est dire).
Devant cette situation inacceptable, je décide donc de reprendre donc le flambeau du raycasting et vous présente nRayC, mon nouveau moteur 3D compatible toutes TI-Nspire munies de Ndless 3.1 !
Plus qu'un moteur 3D, c'est surtout une librairie de programmation de jeux, puisque j'ai inclus toute une flopée de fonctions plus ou moins utiles (ça va de l'allumage de pixel au positionnement sur une map, en passant par le traçage de triangle et bien évidemment le raycasting ). Ce dont je suis particulièrement fier, c'est que l'unique programme compilé fonctionnera aussi bien sur les Nspire CX que non-CX !
Le but premier de cette librairie étant bien évidemment de mettre en œuvre la technique du raycasting, j'ai écris et compilé une petite preuve de faisabilité (proof-of-concept pour les puristes ) : un labyrinthe tout ce qu'il y a de plus normal, mis à part le fait que :
La librairie n'est évidemment pas terminée, il reste tout un tas de trucs à gérer, notamment la gestion de sols, de plafonds, d'objets etc. Mais le plus gros est déjà fait
Télécharger la démo (suivez les instructions dans le readme pour y jouer, source incluse) : nRayC demo
Télécharger le code source de la version bêta du moteur (pas encore de documentation, mais vous pouvez utiliser le code source de la démo pour vous aider) : nRayC source v0.2
Rappelez-vous, c'était il y a maintenant 3 ans, peu après la sortie de la toute première version de Ndless, Critor vous annonçait la venue d'un nouveau moteur 3D de type raycasting pour la Ti-Nspire non-CX. Ce moteur, développé par le légendaire Bwang, est depuis tombé en désuétude avec l'avènement de nDoom, le portage de Doom que tout le monde connaît maintenant, utilisant lui le moteur original du non moins original Doom, celui-ci étant bien plus rapide (et surtout bien plus compatible avec les OS 3.x.x) que le moteur de Bwang.
Moi qui suis, comme vous le savez peut-être déjà, un grand passioné de 3D, j'étais très déçu de ne pas pouvoir coder de bon vieux jeux à la Wolfenstein 3D, étant donné que le moteur de Bwang n'était plus du tout compatible avec les versions récentes de Ndless (qui ne sont d'ailleurs plus tellement récentes aujourd'hui, c'est dire).
Devant cette situation inacceptable, je décide donc de reprendre donc le flambeau du raycasting et vous présente nRayC, mon nouveau moteur 3D compatible toutes TI-Nspire munies de Ndless 3.1 !
Plus qu'un moteur 3D, c'est surtout une librairie de programmation de jeux, puisque j'ai inclus toute une flopée de fonctions plus ou moins utiles (ça va de l'allumage de pixel au positionnement sur une map, en passant par le traçage de triangle et bien évidemment le raycasting ). Ce dont je suis particulièrement fier, c'est que l'unique programme compilé fonctionnera aussi bien sur les Nspire CX que non-CX !
Le but premier de cette librairie étant bien évidemment de mettre en œuvre la technique du raycasting, j'ai écris et compilé une petite preuve de faisabilité (proof-of-concept pour les puristes ) : un labyrinthe tout ce qu'il y a de plus normal, mis à part le fait que :
- Vous évoluez dans un monde entièrement 3D avec 5 textures haute résolution (64*64)
- 4 des 5 textures sont chargées depuis un fichier externe grâce à la fonction loadBMP de la librairie
- La 5ème texture est générée et éditée tout au long du programme, indépendamment de la librairie
- Les collisions sont parfaitement détectées
- Et le plus important, ça tourne plutôt vite mine de rien
La librairie n'est évidemment pas terminée, il reste tout un tas de trucs à gérer, notamment la gestion de sols, de plafonds, d'objets etc. Mais le plus gros est déjà fait
TI-Planet : donne une nouvelle dimension à ta Nspire
Télécharger la démo (suivez les instructions dans le readme pour y jouer, source incluse) : nRayC demo
Télécharger le code source de la version bêta du moteur (pas encore de documentation, mais vous pouvez utiliser le code source de la démo pour vous aider) : nRayC source v0.2