|
Dans la lignées des scripts compliqués, inutiles, mais originaux (), voici le dernier venu : des planètes dans NWN !
Oui, vous avez bien entendu, des planètes. Ce qui veut dire que l'on peut tourner en rond en allant tout droit, etc. Quel intérêt me direz-vous ? Eh bien, le fait est que ce résultat est assez simple à obtenir avec des méthodes classiques : trigger+waypoint, script de téléportation éventuellement etc. Mais ici, c'est plus compliqué (heureusement sinon j'aurais un peu honte ). Tout d'abord, le système est réduit à son minimum vital : un script (deux en comptant l'include), et un blueprint de trigger. Rien de plus, rien de moins. La planète est représentée par 20 zones, dont deux pôles et 18 zones "latérales". Deux triggers par zone (un aurait pu suffir mais la forme ne plaisait pas au toolset), disposés de manière précise donc il est déconseillé d'y toucher. Là où c'est fantastique (de mon point de vue hein ), c'est que chaque point de la planète est accessible. Pas de zones "éclipsées" ou volontairement oubliées, le joueur peut poser le pied absolument n'importe où. Comment ça se traduit, concrètement ? En fait, la surface de la planète est référencée par des coordonnées que j'ai appelées "polaires" (même si c'est une hérésie du point de vue mathématique ), de la forme : * angle Theta : angle de longitude (repérés par les méridiens sur Terre) * angle Phi : angle de latitude (0° au pôle sud, 180° au Nord) Ensuite, chaque zone a des coordonnées polaires contenues dans son tag, qui sont en fait celles de sont centre. Par exemple : un tag se finissant en _000_000 correspond au pôle Sud, un tag en _090_180 correspond à une zone au niveau de l'équateur, etc. Ce que le script fait, c'est donc d'abord : donner la position d'un point (sur les zones "appartenant" à la planète) en coordonnées polaires, et vice-versa obtenir la position d'un point grâce à ses coordonnées polaires. Enfin, le script de transition gère toutes les transitions (ce ne sont pas des triggers cliquables) sur la surface de la planète, étudiant chaque cas (transition pôle -> zone latérale, zone latérale -> pôle, etc.) et calculant tout le bazar pour qu'au final une créature qui passe d'une zone à l'autre, garde exactement les mêmes coordonnées polaires (ce qui signifie qu'il ne bouge pas "pendant la transition"). De plus, il est possible de créer un objet à un emplacement aléatoire sur la planète, avec deux simples Random(360) et Random(180) Bon, ok ça peut paraître confus Donc voici le module de test : http://membres.lycos.fr/theolivierguyot/Planete0.mod. Concrètement, vous commencez au point le plus au nord de la planète, équipé d'une "amulette de positionnement" (oooooh l'inspiration pour les noms). Cette amulette vous permet de connaître à tout moment votre position en coordonnées cartésiennes (vecteur, relatif à la zone donc) et en coordonnées polaires (absolu sur la planète). C'est bon, à vous la liberté Dernière indication : lorsque vous vous trouvez sur les zones latérales, la boussole indique le nord de la planète. Mais lorsque vous vous trouvez sur un pôle, celle-ci indique la direction du méridien 0°. Voilà, vous savez tout ! Pour votre information, ce script fait partie intégrante d'un ensemble beaucoup, beaucoup plus gros (et très ambitieux) donc si je le partage sur ce forum c'est simplement par principe, et parce que j'en ai bavé aussi |
12/06/2003, 00h16 |
|
Aller à la page... |
Etonnant : la Terre est ronde !
Suivre Répondre |
|
Partager | Rechercher |
|
ze vais tester ca ce soir ^^
|
12/06/2003, 11h24 |
|
Eldarion Tarent |
Voir le profil public |
Trouver plus de messages par Eldarion Tarent |
|
Ba en tout cas bravo, c'est du très bon boulot.
Maintenant il faudrait toutes les conséquences de faire ainsi... Mais sinon , cela m'a l'air super et une idée tout à fait originale. |
13/06/2003, 09h13 |
|
|
Heuuu... Quelles promesses????
|
15/06/2003, 11h38 |
|
|
LOL
Faut vraiment faire gaffe ici avant de dire quelque chose, on s'embarque dans des trucs hallucinants sans s'en rendre compte Bon courage Rat :bouffon: |
15/06/2003, 11h43 |
|
|
Merci skanzo lol
Mais j'aimerai bien savoir ^^ Car j'ai parlé de plusieurs choses, mais je ne vois pas laquelle précisément là |
15/06/2003, 11h48 |
|
Suivre Répondre |
Fil d'ariane
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|