Display images and portraits in cutscenes
Turn it off if you want to save your mobile data.
Click or tap an image to jump to the next one in cutscenes.
Advanced CSS Effects
Enable more demanding effects like snow animations. It might lag on mobile devices.
Show interactive interpreter button
It doesn't work well and not every browser supports it. You probably want to keep this disabled.
Skip duplicate story CG boxes
Skips generating a new CG box if only the speaker's name changed.
Displays buttons for showing debug opcodes in cutscenes and warns if a portrait is missing. You probably don't want this enabled.
Pick how you want stuff to be saved.
.odt: OpenDocument Text Format. Great for uploading to Google Docs and editable in various word processors. All storyboxes with portraits will be baked into unique images. This process requires a lot of memory, so please do it on a computer or a moderately powerful device.
Zipped: Images are outside of the webpage.
Deep Dive, Singularity, and Continuum Turbulence are not sorted yet. Polarized Light's portraits will be finished by 5/18 at the latest, I swear!
Portraits have to be entered into the database manually if they don't follow a standardized naming scheme. (Which is something MICA likes to do a lot.)
You can help fix missing portraits faster by checking the cutscenes ingame, comparing it with the interpreter, and emailing me a screenshot along with ID and type of the missing portrait.
Turn on debug mode in interpreter settings to see the exact ID and type of a missing portrait. It will show above the cutscene box.
My email is at the bottom of the page.
If you are seeing this it's still loading, please wait 1 second for the JSON to load
Either that or your browser is broken, please check for an update.
WORK IN PROGRESS - IGNORE THE TERRIBLE UI - HALF THESE THINGS DON'T WORK YET
These buttons don't do anything yet, but you can type in the textbox below and run your custom cutscene.folder_openLoad .txt folder_openLoad .json
Select 'txt' if you've been using the syntax GFL uses. Select 'iop' if you've been using the interpreter's syntax.
If you want to save your progress it will either save as .txt.json or .iop.json, since json would be the only possible way to store multiple parts and metadata like part and chapter titles.
.txt is the cutscene scripting language GFL uses. The interpreter will always support importing .txt and playing it back.
.iop.json (Intermediate Opcodes, definitely not a coincidence) is the scripting language designed for the interpreter. It has some advantages compared to the GFL engine:
- Display more than two characters at a time. Dim multiple charcters. Dim no characters.
- Dimming doesn't randomly break, because dimming is manually set.
- The commands are in english. It's also very verbose.
- You can use + in messages. (GFL's txt script treats + as 'next line')
- (Coming soon) branch paths, allowing you to use the interpreter like a VN engine of sorts and write interactive stories
- Load multiple parts, since the only reasonable way to have more than one part would be to use JSON.
- The verbosity will make you type a lot.
- Since dimming is manually done, it might get confusing.
- Good luck memorizing all 5 arguments for a message opcode.
Work in progress... Please be patient...
BG Syntax: ID;isNight (optional).
Backgrounds are stored in the avgtexture folder and indexed in-game with profiles.txt.
As displaying every single image would be disasterous and I only have about 500GB of bandwidth per month on this webserver, please click the link below to show an image of all the backgrounds with IDs arranged in a neat grid.
Portraits are in the format of: idx;name;type;dim;isMasked
Arguments 4 and 5 can be omitted, they will automatically be converted to false.
idx - Which side. 0 for left, 1 for right. (indexes above 1 are not supported currently)
name - The internal name of the T-Doll. Hint: Ctrl+F portraitInformation.json
type - Usually costume, sometimes expression
dim (optional) - true for dim, false for not dim
isMasked (optional) - like dimportraitInformation.json
Music is just the filename.
The file index is enabled. Click the button to see all the files.Index
Music is just the filename.
The file index is enabled. Click the button to see all the files.
Alternatively you can use the dropdown and it will paste a bgm command at the end. As it is still WIP and has to be updated manually, you're better off using the index.
Dandelion is my wife, greets to /gfg/, harass me on github (bug reports, check the source code, fork it)
If you want a feature or something is broken, file a bug report or email me.
The interpreter is free and open source software and licensed under AGPLv3.
Designed using Materialize, the ultimate front-end framework for people like me who can't be bothered to learn the hard shit like react or vue. MIT license
Try the rhythm game I programmed, it's free and open source