DUCT - An Unofficial Cutscene Tool for EFPSE
A downloadable script generator for Windows and Linux
WARNING/DISCLAIMER: THIS TOOL IS NOT IN ANY WAY AFFILIATED WITH OR ENDORSED BY JESSICOCHAN, THE EASY FPS EDITOR PROJECT, OR RELOAD MAGAZINE. USE THIS TOOL AT YOUR OWN RISK; THE CREATOR IS NOT LIABLE FOR ANY DAMAGES AS THE RESULT OF THE TOOL, ITS USAGE, OR ANY SCRIPTS CREATED THROUGH SAID TOOL.
NOTICE:
DUCT-Unity is the legacy version of this application. After Unity's policy changes in September 2023, I pivoted the project and began developing a revised version in Stride3D. However, I stopped development when EFPSE Clark Edition added image stream support, and I recommend this solution instead.
-
For use with https://jessicochan.itch.io/easy-fps-editor-lite
-
The Downloadable Unofficial Cutscene Tool for EFPSE v1.5 is a tool that auto-generates scripts to play an image sequence like a movie. It is designed to enable developers to include FMVs in their EFPSE titles between levels or on event as desired.
What does it do?
This tool outputs a script that will load a large sequence images into memory, play audio, and play the images with a desired framerate while skipping user input. The script is explicitly designed for use with the Easy FPS Editor by JessicoChan (see link above) and should work with both Lite and Pro versions.
Why a tool?
If you have 2880 frames and need to render them without the help of a codec, you'll do some crazy things to avoid typing out separate lines of scripting for every single frame of animation. This was the easy solution. The current method in use is a bit hacky, but I felt that it was worth sharing even as a simple proof of concept.
Workflow?
- Output your cutscene in Blender as a sequence of supported images (JPG preferred) and prepare them in a folder with a convenient name.
- Download and extract this tool to a place that makes sense, and run it. Set the variables so they match your video (starting frame, ending frame, folder name, map name, etc.) and click the Run button.
- Check ./Scripts for your finalized script. If you put in the wrong map name, change it to match the name of the map your cutscene precedes, and move it to EFPSEProjectGoesHere/Scripts.
Limitations
- No audio track option yet (Music track is supported).
- EFPSE cutscenes are loaded directly into memory instead of being streamed. Be mindful of memory limits and understand that file size will directly impact load times.
- Tool does not support video playback itself; Use Blender or your favorite video editing software instead for now. Other recommendations (both free!) include ffmpeg and ChaiNNer.
Known Bugs:
- EFPSE crashes: Not reproduced yet, please contact if encountered
- Calculator goes negative: simple overflow error, to be addressed
TODO:
- Late 2023: DUCT 2.0
- FFMPEG integration: Late 2023
- Calculator corrections: Late 2023
- Easy frame name scheme detection for image sequences
- UI QoL
Some basic checks are in to make sure you don't cause an infinite loop, but this tool was made by and for myself in a very short amount of time and I won't have a chance to proof it immediately. If you find any issues report them here and I'll add an extra check or two to get things worked out. Other features such as omitting music or including frame-specific sounds will be added as necessary; any improvements I make for myself will be brought into the GUI.
Expect development to continue sporadically and feel free to leave feedback while the tool is being rewritten from the ground up.
I am not taking donations under any circumstances for this application. If you wish to support the project, follow the actual engine developer at https://jessicochan.itch.io/ and maybe contribute to the unofficial documentation wiki at https://ragnarrandom.com/uefpsew/index.php/Main_Page. I would also encourage you to support the project by purchasing the EFPSE editor, but due to current world events the developer is not currently receiving revenue from direct sales of the product.
Status | Prototype |
Category | Tool |
Platforms | Windows, Linux |
Author | anchorlight |
Made with | Unity |
Average session | A few seconds |
Languages | English |
Download
Install instructions
Extract and run the application, and click "Run" to generate a script with the parameters given. Generated scripts are placed in ./Scripts and all folders are formatted to be merged with your EFPSE project.
If the ./Scripts folder does not exist before usage, it will be created on the first attempt to run the printer script.
Comments
Log in with itch.io to leave a comment.
Yeah, i have no idea how to use it lol. Black screen every time ;w;
That’s unfortunate. Are you seeing a black screen in the app itself, or when you launch your game?
DUCT was designed for a much older version of EFPSE. I had a revised version in the works that was ported over to Stride3D, but dropped that version when EFPSE-CE added official support for image streams with an in-house tool to package your videos. I’m willing to look into this and I can update either the new or legacy version of DUCT to fit your needs if necessary.
ah might be that then. im using 1.10
Deleting my first comment. I offered support with DUCT and that offer still stands if you get in touch via the email on my main itch page, but I actually just realized the version you mentioned (1.10) is part of the Clark Edition. I highly recommend using the official tool. https://github.com/CG8516/ImgStreamCreator/releases
If you’re insistent on using DUCT, I’ve never tested it with CE but get in touch and we’ll get this working one way or another.
Thanks very much for your work man. Awesome Tool!!
Sorry I missed this comment! I appreciate your support.
While the current version is functional, there are improvements to be made. I had to drop it for a while but I do have a plan to update the UI very, very soon as well as include whatever is necessary to make the process easier for first-time users. Whether this is a batch for ffmpeg, a chaiNNer script, or just something directly in Unity remains to be seen. Stay tuned!
Nice! Thanks for all the work!
Thanks! I plan on retiring this version for a remake in GODOT to settle any licensing issues down the line and make the project open source, but that’s at least three weeks or more away. In the meantime, I’m still taking feedback for any issues that need to be addressed for the tool.
Once that version is on par with the Unity version, the #1 feature on my to-do list is a video splitter that generates the image sequence for you– I think FFMPEG or Blender will be your best bet in the meantime.
I planned on keeping the tool up to date and got it done in a hurry for the Reload Magazine jam, but the upkeep side of things fell through thanks to a busy schedule and some other complications along the way. Hopefully I can make good on that in the weeks to come.
so very cool. but i am total a blender-n00b so i dunno if i will be able to make anything out of it.
great work though, and it's awesome to see more community involvement in efpse!
The next feature on the list is a built-in video slicer. It’s not a guarantee but Unity has a video player that can seek and can transmit camera data to images, so what could possibly go wrong? Ha… hah… worst case scenario, I’ll dig out Ffmpeg and see what else can be done.
Thankfully Blender is very easy to convert videos in. You just pick the Video Editing layout on startup and drop a supported video format into the sequencer, then mess with one of the tabs to determine Start Frame, end frame, Framerate, and skip rate. Exporting to images is the default there. If that’s not going to work, other video editing software will usually support this feature as well.
i can extract frames from a video with vlc. i'm gonna fiddle with it now.
Awesome! The format basically requires a number-integer with the same number of significant figures across all images, since most software will add the zeroes in on export. If that causes a problem for your extracted frames, the alternate method is as simple as bypassing a single line and I can get that into the UI some time tomorrow.
So good to see that someone making tools for EFPSE! It's the best support.
This was so much fun to work on! I’ve never actually published a tool like this before, and figuring out how to get the script just right was an interesting challenge.
It wouldn’t have been possible without JessicoChan’s help and it looks like the community is making a concentrated effort to work on porting the v1.4 documentation over to newer versions. I think a lot of people are going to find some fun ways to bend and stretch the toolkit to their needs next month.
New version is on the way, btw. ;)
Gotta test this thing.