Bonjour.
Plus qu'une "idée", c'est en cours de réalisation mais me demande beaucoup de tests d'essais d'algos et blocs divers, et la vie réelle me happe un peu d'autre part en ce moment.
N'avez-vous jamais éprouvé, surtout lorsque votre PJ atteint des nivaux de progression de l'attribut "rapidité" et de compétence en athlétisme assez élevés, que la différence entre "marcher" et "courir" ne suffit pas, que "marcher" est toujours trop lent -sauf dans les escaliers en colimaçon dwemeri-, "courir" parfois trop rapide? Que d'une façon générale, au nom d'un minimum de "réalisme" on devrait pouvoir moduler sa vitesse à son gré dans la limite de ses capacités et talents athlétiques acquis et appris ?
De la même façon, pour les mages, que les lévitations sont désespérément, ridiculement, injustifiablement, lentes (sauf le parchemin "forme de vent" qui est quasiment un cheat quand on peut se le payer -"additem" est une monnaie sûre mais c'est pas marrant-), ce qui en gros ne sert finalement que d'alternative au saut en hauteur acrobatique ou magique, ou à gagner les étages supérieurs de tours Telvanni, alors qu'on devrait pouvoir parcourir l'univers comme un Braillard (au moins pour profiter pleinement et sans cheat du "distant land" et des couchers/levers de soleil sous MGSE-XE quand on part en safari-screenshot)? Que ça ne devrait pas avoir grand rapport, en tout cas pas un rapport aussi ploum-ploum bourrin et inutilement castrant pour le fun du jeu, avec un "niveau" (contrairement à la durée, en effet)? Que justement si un "niveau en magie" signifie quelque chose, un mage devrait pouvoir aussi moduler sa vitesse de lévitation comme n'importe qui peut moduler sa vitesse de déplacement -sauf dans les transports en commun ^ ^-?
Que d'une façon générale dans Morrowind, en particulier pour cet effet là, manquent des sorts à consommation de magicka constante, comme la fatigue est affectée par les efforts physiques?
Ce mod va fournir ces fonctionnalités de gameplay et modifications de gestion d'effets.
Pour toutes les classes et toutes les races de même façon, passer de la marche à la course procédera par accélération/stop/ralentissement au lieu de sauter directement d'une vitesse de marche à une vitesse de course (sauf probablement pour le passage en mode "discrétion"). La limite supérieure restera dépendante de l'attribut "rapidité" et de la compétence "athlétisme" selon les facteurs vanilla (à peu près).
Ces fonctionnalités seront contrôlées par les seules touches dédiées à marcher/courir, selon le nombre de clics successifs.
La vitesse de lévitation deviendra de la même façon dépendante des niveau de volonté et d'altération, de sorte que sa limite supérieure soit accordée à l'équivalent physique d'une classe correspondante (ce qui ne modifiera en rien les capacités physiques du mage, bien sûr, sa vitesse à pied restant gérée de la même façon par les fonctions physiques correspondantes).
Cette vitesse de lévitation procédera aussi par accélération/stop/ralentissement, mais par effet de sort. La durée devrait rester dépendante des sorts castés ou potions absorbées, dans le cas contraire ce sera aussi une dépendance de niveau reproduisant autant que possible des correspondances "vanilla".
Léviter consommera de la magicka en continu, selon un coefficient dépendant des facteurs correspondants, à savoir "intelligence", "multiplicateur de magie", et (probablement) "mysticisme" ou/et, si je vais au bout des idées et pour le fun en codage, des rapports de phases des lunes.
MWSE ne sera pas requis -retrouver/utiliser des fonction(nement)s que je connais(sais) m'est plus accessible et plus rapide que de me former à l'usage de ce bel outil, et je ne crois pas que ce serait plus (ni moins) efficace et fonctionnel en l'occurrence (d'autant que je veux ne pas toucher aux stats de PJ, que ce soit par "mod" ou "set", "base" ou pas "base"... chat échaudé...)-.
.... time will tell...
Si un ou des mod(s) gèrent déjà tout ou partie de ces fonctionnalités, merci de m'informer (Nova Magica ce n'est pas la peine, je connais un peu ^ ^).
Contrôles de la vitesse
Toutes vos idées pour créer des mods.
- Opial
- Profil
- Enregistré le : 18 sept. 2018, 19:07
- Opial
- Profil
- Enregistré le : 18 sept. 2018, 19:07
Re: Contrôles de la vitesse
Ça marche
[Mais il est encore un peu tôt pour le porter dans "en cours de développement"]
Un petit moteur de base de gestion de la vitesse.
L'accélération entre la vitesse de la marche et la course maximale est progressive au lieu de sauter directement du mini au maxi. Elle se gère par la touche "z" agissant comme un "clic" simple, double, ou triple (ou n'importe quelle touche d' axe de mouvement), c'est assez intuitif.
Une fois parvenue à son maximum normal selon l'attribut "rapidité" et la compétence "athlétisme" de base de Player, la vitesse reste acquise (il n'y a pas d'option de "ralentissement"). Un "clic" sur la touche "discrétion", à n'importe quel moment, réinitialise l'accélération à 0.
Les fortifications de la stat par sort ou potion fonctionnent normalement : la valeur est immédiatement ajoutée à la vitesse quelle qu'elle soit à ce moment, mais le maximum d'accélération ne dépassera pas le niveau base de player. Par contre si l'accélération est reprise à 0 la fortification sera perdue. [j'hésite encore à ce sujet : il serait plus simple et plus léger de ne fonder tout ça que sur la vitesse actuelle du joueur, c'est à dire que le max d'accélération prenne en compte les fortifications. Les montées de niveau seront prises en compte de toute façon automatiquement par le jeu, autant laisser cette mécanique en paix, oui.]
Pour ceux que ça intéresserait voilà tout le kit du code qui là vite testé sur un début de partie tourne bien.
Évolution de l'idée ci dessous :
[Mais il est encore un peu tôt pour le porter dans "en cours de développement"]
Un petit moteur de base de gestion de la vitesse.
L'accélération entre la vitesse de la marche et la course maximale est progressive au lieu de sauter directement du mini au maxi. Elle se gère par la touche "z" agissant comme un "clic" simple, double, ou triple (ou n'importe quelle touche d' axe de mouvement), c'est assez intuitif.
Une fois parvenue à son maximum normal selon l'attribut "rapidité" et la compétence "athlétisme" de base de Player, la vitesse reste acquise (il n'y a pas d'option de "ralentissement"). Un "clic" sur la touche "discrétion", à n'importe quel moment, réinitialise l'accélération à 0.
Les fortifications de la stat par sort ou potion fonctionnent normalement : la valeur est immédiatement ajoutée à la vitesse quelle qu'elle soit à ce moment, mais le maximum d'accélération ne dépassera pas le niveau base de player. Par contre si l'accélération est reprise à 0 la fortification sera perdue. [j'hésite encore à ce sujet : il serait plus simple et plus léger de ne fonder tout ça que sur la vitesse actuelle du joueur, c'est à dire que le max d'accélération prenne en compte les fortifications. Les montées de niveau seront prises en compte de toute façon automatiquement par le jeu, autant laisser cette mécanique en paix, oui.]
Pour ceux que ça intéresserait voilà tout le kit du code qui là vite testé sur un début de partie tourne bien.
► Afficher le texte
Je n'ai finalement pas pu réaliser ça sans utiliser "ModStat". Une tentative par "addspell"s de fortif de speed en capacité est abandonnée, car, pour le résultat voulu de faire incrémenter la vitesse de 1 point toutes les 0.3" entre 1 et 100, ça donne une usine à gaz plus lourde que cette pauvre usine AZF explosée de Toulouse.
En l'état ce n'est pas très lourd, je crois être parvenu à une sorte de cristal de base assez solide et relativement léger pour supporter les arborescences moléculaires de réglages plus fins ( cf "todo list" + bas).
Au fait :
Le principe est de :
° ramener la carac "rapidité" à 1 en début de course, afin d'annuler la différence avec la vitesse de marche ;
° de là seul compte le modificateur de vitesse de course donné par l'athlétisme (en l'état ce pourra être positif -pour un acrobate Argonien par ex, qui passera directement à un petit trot avant d'accélérer-, ou négatif -pour un mage Breton par ex, qui devra ralentir pour reprendre son souffle avant de se lancer dans un sprint -).
° Puis de là accélérer progressivement jusqu'à ce que soit rétablie la valeur de la stat "speed".
° le joueur pouvant arrêter l'accélération à tout moment et
Là dessus un starscript qui met aac_PCspeed à jour sur la première base de l'attribut "rapidité" dès la création du perso, et qui lance le script d'accélération que voilà :
TODO :
En l'état ce n'est pas très lourd, je crois être parvenu à une sorte de cristal de base assez solide et relativement léger pour supporter les arborescences moléculaires de réglages plus fins ( cf "todo list" + bas).
Au fait :
Le principe est de :
° ramener la carac "rapidité" à 1 en début de course, afin d'annuler la différence avec la vitesse de marche ;
° de là seul compte le modificateur de vitesse de course donné par l'athlétisme (en l'état ce pourra être positif -pour un acrobate Argonien par ex, qui passera directement à un petit trot avant d'accélérer-, ou négatif -pour un mage Breton par ex, qui devra ralentir pour reprendre son souffle avant de se lancer dans un sprint -).
° Puis de là accélérer progressivement jusqu'à ce que soit rétablie la valeur de la stat "speed".
° le joueur pouvant arrêter l'accélération à tout moment et
- * soit la maintenir à ce seuil,
* soit la reprendre depuis,
* soit la reprendre à 0.
Là dessus un starscript qui met aac_PCspeed à jour sur la première base de l'attribut "rapidité" dès la création du perso, et qui lance le script d'accélération que voilà :
Code : Tout sélectionner
begin aac00_acceler
short state
short run_state
short allreset
float Slowdown
float actualspeed
float timer
float acceler
float reset_speed
if ( menumode == 1 )
return
endif
if ( GetPCSneaking == 1 )
if ( allreset == 0 )
set allreset to 1
set acceler to 0
set run_state to 0
set state to 0
set actualspeed to ( Player->GetSpeed )
set slowdown to ( ( actualspeed * -1 ) + 1 )
Player->ModSpeed slowdown
endif
endif
if ( GetPCrunning == 1 )
set reset_speed to ( reset_speed + GetSecondsPassed )
if ( reset_speed >= 0.33 )
set reset_speed to 0
set allreset to 0
if ( state == 0 )
set run_state to 1
elseif ( state == 1 )
set run_state to 2
elseif ( state == 2 )
set run_state to 3
endif
return
endif
if ( state == 1 )
return
endif
set timer to ( timer + GetSecondsPassed )
if ( timer >= 0.33 )
set timer to 0
if ( acceler < aac_PCspeed )
set acceler to ( acceler + 1 )
messagebox "acceler == %2f," acceler
Player->ModSpeed 1
endif
endif
else
if ( acceler < aac_PCspeed )
if ( run_state == 1 )
set state to 1
elseif ( run_state == 2 )
set state to 2
elseif ( run_state == 3 )
set state to 0
endif
else
set state to 0
endif
endif
end
► Afficher le texte
par ordre de difficulté croissant :
° mettre à jour le max d'accélération sur la vitesse actuelle [fortifs incluses] au lieu d'aac_PCspeed (qui ne sert plus à rien, du coup).
° ajouter un passage de restauration de caracs sur une frame (+?) au reset en prévision des passages "en rouge" assez sûrement causés par la manip ci-dessus en en général avec "modStat" à si haute fréquence .
° rendre l'accélération exponentielle, selon un facteur dépendant de l'athlétisme
° régler mieux les vitesses de "clic" sur une touche de mouvement
° implémenter une fonction de configuration de la vitesse de clic du joueur [à partir du modèle anneau de config waterlife]
° mettre à jour le max d'accélération sur la vitesse actuelle [fortifs incluses] au lieu d'aac_PCspeed (qui ne sert plus à rien, du coup).
° ajouter un passage de restauration de caracs sur une frame (+?) au reset en prévision des passages "en rouge" assez sûrement causés par la manip ci-dessus en en général avec "modStat" à si haute fréquence .
° rendre l'accélération exponentielle, selon un facteur dépendant de l'athlétisme
° régler mieux les vitesses de "clic" sur une touche de mouvement
° implémenter une fonction de configuration de la vitesse de clic du joueur [à partir du modèle anneau de config waterlife]
************************************
En tâche de fond, la lévitation.Évolution de l'idée ci dessous :
► Afficher le texte
° Un facteur d'accélération s'appliquera à la lévitation comme à la marche, c'est la base.
° Le mage apprendra à voler. Il devra accéder d'abord à un sort de base, puis à force d'usage et sous conditions de stats un sort de lévitation de bas niveau apparaîtra dans son inventaire.
° léviter consommera en continu de la magicka et de la fatigue, en dessous des limites de 0 c'est la santé qui perdra des poins rapidement.
° Les facteurs "vitesse" et "durée" s'en trouveront totalement modifiés, quel que soit l'effet magique utilisé pour lancer l'effet :
° la durée maximale sera fonction des stats Intelligence, Willpower, Altération, Endurance. Cette durée s'ajoutera à la durée du sorts de lancement choisi.
° la vitesse maximale ainsi que la courbe d'exponentielle de l'accélération dépendront des mêmes stats, la vitesse s'ajoutera à celle du sort de lancement.
° La pratique de la lévitation fonctionnera comme une compétence masquée. Elle augmentera avec la pratique, ajoutant un coefficient d'efficacité aux tests : la consommation de magicka/fatigue par seconde diminuera, la durée maximale, la vitesse et la courbe exponentielle d'accélération, augmenteront.
° un "syndrome d'icare" s'ajoutera : à partir d'une certaine altitude (déterminée par le niveau en lévitation), le mage volant subira des dégâts de soleil (on ne devrait pas pouvoir franchir le rempart intangible sans dégâts avant un bon niveau).
° Le mage apprendra à voler. Il devra accéder d'abord à un sort de base, puis à force d'usage et sous conditions de stats un sort de lévitation de bas niveau apparaîtra dans son inventaire.
° léviter consommera en continu de la magicka et de la fatigue, en dessous des limites de 0 c'est la santé qui perdra des poins rapidement.
° Les facteurs "vitesse" et "durée" s'en trouveront totalement modifiés, quel que soit l'effet magique utilisé pour lancer l'effet :
° la durée maximale sera fonction des stats Intelligence, Willpower, Altération, Endurance. Cette durée s'ajoutera à la durée du sorts de lancement choisi.
° la vitesse maximale ainsi que la courbe d'exponentielle de l'accélération dépendront des mêmes stats, la vitesse s'ajoutera à celle du sort de lancement.
° La pratique de la lévitation fonctionnera comme une compétence masquée. Elle augmentera avec la pratique, ajoutant un coefficient d'efficacité aux tests : la consommation de magicka/fatigue par seconde diminuera, la durée maximale, la vitesse et la courbe exponentielle d'accélération, augmenteront.
° un "syndrome d'icare" s'ajoutera : à partir d'une certaine altitude (déterminée par le niveau en lévitation), le mage volant subira des dégâts de soleil (on ne devrait pas pouvoir franchir le rempart intangible sans dégâts avant un bon niveau).
Aller à
- Les Jeux
- ↳ Morrowind
- ↳ Les Mods
- ↳ Demandes de traduction
- ↳ En traduction
- ↳ Les mods maison
- ↳ Idées
- ↳ En cours de développement
- ↳ En test
- ↳ SAML
- ↳ Armurerie
- ↳ Audio
- ↳ Correctifs
- ↳ Graphisme
- ↳ Morrowind Overhaul - Sons et Graphismes
- ↳ Installation
- ↳ Graphismes et Sons
- ↳ Centre Opérationnel Secret MOSG -COSMOSG-
- ↳ Guildes & Quêtes
- ↳ Jouabilité
- ↳ Magie
- ↳ Objets & Consommables
- ↳ Personnages
- ↳ Utilitaires
- ↳ Vêtements & Accessoires
- ↳ Vvardenfell
- ↳ Ressources communes
- ↳ Terres-Cendres : mods refusés ou indisponibles
- ↳ La Place du marché
- ↳ Aide
- ↳ Histoires
- ↳ Oblivion
- ↳ Les Mods
- ↳ Demandes de traduction
- ↳ En traduction
- ↳ Les mods maison
- ↳ Idées
- ↳ En cours de développement
- ↳ En test
- ↳ SAML
- ↳ Armurerie
- ↳ Audio
- ↳ Correctifs
- ↳ Cyrodiil
- ↳ Graphisme
- ↳ Guildes & Quêtes
- ↳ Jouabilité
- ↳ Magie
- ↳ Nehrim
- ↳ Objets & Consommables
- ↳ Personnages
- ↳ Utilitaires
- ↳ Vêtements & Accessoires
- ↳ Ressources communes
- ↳ L'Orée : mods refusés ou indisponibles
- ↳ La Place du marché
- ↳ Histoires
- ↳ Aide
- ↳ Skyrim Special Edition
- ↳ Les Mods
- ↳ Demandes de traduction
- ↳ En traduction
- ↳ Les mods maison
- ↳ Idées
- ↳ En cours de développement
- ↳ En test
- ↳ SAML
- ↳ Armurerie
- ↳ Audio
- ↳ Bordeciel
- ↳ Correctifs
- ↳ Jouabilité
- ↳ Graphisme
- ↳ Guildes & Quêtes
- ↳ Magie
- ↳ Objets & Consommables
- ↳ Personnages
- ↳ Utilitaires
- ↳ Vêtements & Accessoires
- ↳ Ressources communes
- ↳ Enderal
- ↳ La mer des Fantômes en 64 bits : mods refusés ou indisponibles
- ↳ La Place du marché
- ↳ Histoires
- ↳ Aide
- ↳ Fallout 3
- ↳ Les Mods
- ↳ Demandes de traduction
- ↳ En Traduction
- ↳ Les mods maison
- ↳ Idées
- ↳ En cours de développement
- ↳ En Test
- ↳ SAML
- ↳ Armurerie
- ↳ Audio
- ↳ Aventures
- ↳ Correctifs
- ↳ Graphisme
- ↳ Jouabilité
- ↳ Objets & Consommables
- ↳ Personnages
- ↳ Les Terres désolées
- ↳ Utilitaires
- ↳ Ressources communes
- ↳ L'Abri 87 : mods refusés ou indisponibles
- ↳ La Place du marché
- ↳ Aide
- ↳ Histoires
- ↳ Fallout New Vegas
- ↳ Les Mods
- ↳ Demandes de traduction
- ↳ En Traduction
- ↳ Les mods maison
- ↳ Idées
- ↳ En cours de développement
- ↳ En Test
- ↳ SAML
- ↳ Armurerie
- ↳ Audio
- ↳ Aventures
- ↳ Correctifs
- ↳ Désert & Casinos
- ↳ Jouabilité
- ↳ Graphisme
- ↳ Objets & Consommables
- ↳ Personnages
- ↳ Utilitaires
- ↳ Ressources communes
- ↳ Quarry Junction : mods refusés ou indisponibles
- ↳ La Place du marché
- ↳ Aide
- ↳ Histoires
- ↳ Fallout 4
- ↳ Les Mods
- ↳ Demandes de traduction
- ↳ En Traduction
- ↳ Les mods maison
- ↳ Idées
- ↳ En cours de développement
- ↳ En test
- ↳ SAML
- ↳ Armurerie
- ↳ Audio
- ↳ Aventures
- ↳ Colonies
- ↳ Commonwealth
- ↳ Correctifs
- ↳ Graphisme
- ↳ Jouabilité
- ↳ Objets & Consommables
- ↳ Personnages
- ↳ Utilitaires
- ↳ Vêtements & Accessoires
- ↳ Ressources communes
- ↳ La mer Luminescente : mods refusés ou indisponibles
- ↳ La Place du marché
- ↳ Aide
- ↳ Histoires
- ↳ Autres jeux
- ↳ Alien Swarm
- ↳ Les Mods
- ↳ Histoires
- ↳ Arcanum
- ↳ Les Mods
- ↳ Histoires
- ↳ Arx Fatalis
- ↳ Les Mods
- ↳ Histoires
- ↳ Commandos
- ↳ Les Mods
- ↳ Histoires
- ↳ Dragon Age: Origins
- ↳ Freelancer
- ↳ Les Mods
- ↳ Histoires
- ↳ Homeworld
- ↳ Les Mods
- ↳ Histoires
- ↳ Jade Empire
- ↳ Les Mods
- ↳ Histoires
- ↳ Men of War
- ↳ Les Mods
- ↳ Histoires
- ↳ Mount & Blade: Warband
- ↳ Red Faction
- ↳ Les Mods
- ↳ Histoires
- ↳ S.T.A.L.K.E.R.
- ↳ Les Mods
- ↳ Histoires
- ↳ Star Wars : Battlefront
- ↳ Les Mods
- ↳ Histoires
- ↳ Star Wars : Knights of the Old Republic
- ↳ Les Mods
- ↳ Histoires
- ↳ Warhammer 40,000 : Dawn of War
- ↳ Les Mods
- ↳ Histoires
- ↳ Autres
- ↳ Les Mods
- ↳ Histoires
- ↳ Skyrim
- ↳ Les Mods
- ↳ Demandes de traduction
- ↳ En traduction
- ↳ Les mods maison
- ↳ Idées
- ↳ En cours de développement
- ↳ En test
- ↳ SAML
- ↳ Armurerie
- ↳ Audio
- ↳ Bordeciel
- ↳ Correctifs
- ↳ Jouabilité
- ↳ Graphisme
- ↳ Guildes & Quêtes
- ↳ Magie
- ↳ Objets & Consommables
- ↳ Personnages
- ↳ Utilitaires
- ↳ Vêtements & Accessoires
- ↳ Ressources communes
- ↳ Enderal
- ↳ La mer des Fantômes : mods refusés ou indisponibles
- ↳ La Place du marché
- ↳ Histoires
- ↳ Aide
- L'Arsenal
- ↳ Les Guides pour bien modder ses jeux
- ↳ Guides
- ↳ Entraide
- ↳ Listes de mods
- Le Château
- ↳ Les Règles de la Confrérie
- ↳ Annonces en place publique
- ↳ La place du marché
- ↳ La salle des Doléances
- ↳ La salle d'Audience
- La Taverne
- ↳ Présentation
- ↳ Histoires de jeux
- ↳ Serveurs de jeux
- ↳ Salon de discussion
- ↳ Salle des expositions
- ↳ Livre d'or