03-28-2010, 01:13 PM
(This post was last modified: 09-28-2017, 10:31 PM by DerVVulfman.)
FPLE : First Person Labyrinth Explorer
Version: 1.5
Version: 1.5
Introduction
This script - or more likely this engine - provides a step-based first person view, to emulate the kind of displacements in games such as Etrian Odyssey (Nintendo DS) or Class of Heroes (Sony PSP).
EDIT : v1.5 :
- improved compatibility with H-mode7 (V.1.4.4)
EDIT : v1.4 :
- events graphics change depending on their orientations and the position of the player
EDIT : v1.3 :
- fixed a serious bug introduced in v1.2 : it was impossible to trigger events (my fault...)
EDIT : v1.2 :
- added the encounter rate fix from Atoa (thanks !)
- Atoa's addon for map as battleback : to activate it, paste it below FPLE scripts and above main (it's below main by default).
- Addon to automatically turn when facing a wall and a battle occurs : to activate it, paste it below Atoa's addon for map as battleback and above main (it's below main by default).
EDIT : v1.1 : when not moving, it now keeps the chosen resolution, so that it's always the same quality.
To reactivate the behaviour from the v1.0, set the 'fple_always_same_res' value to 'false' in the Game_System class.
To reactivate the behaviour from the v1.0, set the 'fple_always_same_res' value to 'false' in the Game_System class.
Features
- Activable only on certain maps
- Supports forward/backward movement, strafe left/right and 90° rotation
- Mapping with RMXP editor
- 4 different resolutions to prevent lag
- Supports events opacity and blending type
- Open source code for the required dll now available
Limitations
- This engine is not suited for moving events (it may work though)
- Idem for animations : launched animations are displayed above all
- No more than 8 different textures per tileset (8 for walls / 8 for ceiling / 8 for floor)
- No jump
Screenshots
Demo
DEMO FPLE
and
The DLL's source code
Script
This script is rather complex and requires a DLL, so you have to download the demo to get the script.
Instructions
Mapping
Floor, walls and ceiling
In the RMXP editor, the first layer represents the floor, the second layer the walls and the third layer the ceiling.
A FPLE tileset has three lines of 8 tiles, and each line must have a corresponding file of textures.
The first line of the tileset is used for the floor, the second line for walls, and the third for the ceiling.
Passages must be set to these values :
The three files of textures that you have to create must be named tileset_name_Ground, tileset_name_Wall and tileset_name_Ceiling (height = 8 * width).
The three must have the same dimensions per tileset.
You can obtain the maximal quality by using 640 * 5120px files (in the demo the textures have a width of 480px).
To activate FPLE mode for a map, add [FPLE] to its name.
Events
Events chraracters are displayed vertically (like walls), centered and always facing the player by default.
Using the "Comment..." event command, you can modify the rendering :
"Type 0" : the character surface always face the player (default value)
"Type 1" : in the RMXP editor's view, the character surface is horizontal. So if the player's direction is up or down in the absolute frame of reference, the surface will be facing the player, and if the direction is left or right, the surface will be rendered like a "side" wall.
"Type 2" : in the RMXP editor's view, the character surface is vertical.
"Stretch" : the picture is stretched to fit a wall's dimensions. This option is set by default if the dimensions of the picture to display are too big.
"V-Align 0" : vertical alignment : top (only if not stretched).
"V-Align 1" : vertical alignment : center - default value (only if not stretched).
"V-Align 2" : vertical alignment : down (only if not stretched).
"D-Align 0", "D-Align 1", "D-Align 2" : depth alignment, only for types 1 and 2, see diagram below.
Technical parameters
The resolution affects the quality of the rendering only during movements.
You can adjust the value in the Game_System class (fple_resolution).
Surfaces are rendered within a fixed distance, arbitrarily defaulted to 6 squares.
You can adjust the default value in the Game_System class (fple_view_distance) or use the event command :
$game_temp.set_view(value)
Use lower values to increase performances.
To prevent surfaces popping, a "light" distance specify in how much squares the opacity of surfaces will be null. This fading works with OPACITY : without panorama, as the background is black, surfaces will be darker and darker with the distance.
This fading distance is arbitrarily defaulted to 5 squares. You can adjust the default value in the Game_System class (fple_light_distance) or use the event command :
$game_temp.set_light(value)
There are two other events commands that modify progressively this distance (+/- 1) :
$game_temp.increase_light
$game_temp.decrease_light
This fading effect can be deactivated with a distance value of 0;
Compatibility
This script doesn't use the SDK.
In FPLE view, there is certainly no compatibility with other script modifying maps.
Open Source DLL!
Now available, the source code for the DLL which handles the specially rendered
graphics is now available. The request for the source code was made by
finalholylight, and is now available in the link here, and just below the demo's own
download link.
The DLL's source code
Author's Notes
Technically, there are some similarities with the Neo Mode 7 script, so perfs should be approximately the same.
Some scripts :
Working on :