[Ace] – FPLE Ace (First Person Labyrinth Explorer)

Ce script permet un affichage de la carte en vue à la première personne, en conservant des déplacements carreau par carreau, à la manière de la série Etrian Odyssey (Nintendo DS/3DS).
CE N’EST PAS UN SCRIPT POUR REALISER UN FPS, MAIS UN FPRPG.

Il s’agit d’un portage de la version 1.5 du FPLE pour RPG Maker XP, avec quelques petits ajouts supplémentaires.

Caractéristiques :

  • peut être activé sur certaines cartes du projet uniquement
  • déplacements en avant/arrière, déplacements latéraux vers la gauche/droite et rotation à 90°
  • possibilité de baisse de qualité pendant les déplacements pour réduire le lag
  • gestion de la translucidité et du type de remplissage (blend type) pour les évènements

Limitations :

  • pas vraiment adapté aux déplacements des évènements d’un carreau à l’autre. Cela devrait cependant fonctionner, mais à utiliser avec parcimonie.
  • les animations sont affichées au-dessus de tout
  • le joueur ne peut pas sauter ou se déplacer en diagonal
  • la résolution doit être celle par défaut, c’est-à-dire 544px*416px
  • pas de transparence pour les murs
  • pas de hauteurs différents : un seul niveau pour le sol et le plafond

Instructions :
Ce script doit être placé sous les scripts d’origine mais au-dessus de “Main”. Il nécessite le fichier MGC_FPLE_Ace_1_1.dll.

Création de carte
Les cartes doivent être exportées dans le projet à partir de l’éditeur dédié, présent dans le projet Marta à partir de la version 1.0.

Evènements
Les évènements possédant une représentation graphique sont affichés verticalement (à l’instar des murs), centrés, et faisant toujours face au joueur.
La commande “Comment…” permet un contrôle de cet affichage :

  • Type 0 : fait toujours face au joueur (valeur par défaut)
  • Type 1 : orienté horizontalement dans la vue de l’éditeur RM (vue de dessus)
  • Type 2 : orienté verticalement dans la vue de l’éditeur RM (vue de dessus)
  • Stretch : l’image est étirée jusqu’aux dimensions d’un mur (carré)
  • Fit : l’image est étirée pour tenir dans les dimensions d’un mur, le rapport hauteur/largeur est conservé. Appliqué automatiquement si les dimensions excèdent celles d’un mur (nouveauté VX Ace)
  • Zoom X.X : zoom de l’image (nouveauté VX Ace), par exemple pour doubler les dimensions il faut écrire : Zoom 2.0
  • V-Align 0 : alignement vertical en haut (au niveau du plafond)
  • V-Align 1 : alignement vertical au centre (par défaut)
  • V-Align 2 : alignement vertical en bas (au niveau du sol)
  • D-Align 0 : alignement en profondeur devant/à gauche, pour les types 1 et 2
  • D-Align 1 : alignement en profondeur au centre, pour les types 1 et 2 (par défaut)
  • D-Align 2 : alignement en profondeur au fond/à droite, pour les types 1 et 2
  • 1-Side : la texture ne s’applique que sur une seule face, elle apparaît donc inversée par l’arrière (pour les types 1 et 2)

Alignements des évènements

Configuration
Dans la section CONFIGURATION au début du script, vous trouverez les constantes suivantes dont les valeurs peuvent être modifiées :

  • VIEW_DISTANCE : les “surfaces” (polygones carrés texturés de dimensions fixes représentant les tiles et les évènements) ne sont affichées qu’à l’intérieur d’une certaine distance autour du joueur. Cette constante représente cette distance, exprimée en tiles (valeur par défaut : 6). Plus cette valeur est élévée, plus les risques de lag le sont aussi.
  • RESOLUTION : dessiner l’ensemble de l’écran à chaque frame demande beaucoup de ressources. Pendant les déplacements, il est possible d’utiliser une résolution plus petite d’écran et le rendu sera alors zoomé pour s’adapter à 544px×416px.
    • 0 : résolution maximale (544px*416px)
    • 1 : résolution moyenne (408px*312px)
    • 2 : résolution basse (272px*208px)
    • 3 : résolution minimale (204px*156px)
  • ALWAYS_SAME_RES :
    • si à true, à l’arrêt sera utilisée la même résolution que pendant les déplacements (cf. RESOLUTION)
    • si à false, à l’arrêt sera utilisée la résolution maximale (valeur par défaut)
  • LIGHT_DISTANCE : pour éviter l’apparition subite de surfaces à l’écran, cette constante représente la distance en tiles au bout de laquelle l’opacité des surfaces sera nulle. la modification d’opacité est progressive. S’il n’y a pas de parallax, le fond de l’écran est noir et les surfaces seront de plus en plus sombres avec la distance. Une valeur égale à 0 désactive cette fonction.

Commandes utilisables en script (possible via la commande “Script…” d’un évènement) :

  • $game_temp.set_view(new_view_distance) : affecter une nouvelle valeur à la distance d’affichage des éléments
  • $game_temp.set_light(new_light_distance) : affecter une nouvelle valeur à la distance de disparition progressive des éléments
  • $game_temp.increase_light : incrémenter la distance de disparition progressive des éléments
  • $game_temp.decrease_light : décrémenter la distance de disparition progressive des éléments

Télécharger la démo contenant le script (V.1.5)

IMPORTANT : SI VOUS RENCONTREZ DU LAG, VEUILLEZ VOUS ASSURER D’AVOIR DÉCOCHER L’OPTION “REDUCE SCREEN FLICKERING” (F1).

Également inclus dans la démo :

  • Addon – Map as battleback : la carte affichée au moment du déclenchement d’un combat est utilisée comme arrière-plan, sans transition
  • Addon – Turn before battle : si le joueur fais face à un mur, il se tournera automatiquement au déclenchement d’un combat

A venir dans le futur :

  • Carte et minicarte du donjon dessinées automatiquement au fur et à mesure de l’exploration
  • Gestion d’ennemis visibles avec des comportements de déplacement/d’agressivité prédéfinis, de la manière des FOES dans la série Etrian Odyssey