#iFStudio - interactive fiction authoring tool

1 messages · Page 1 of 1 (latest)

swift wadi
#

Hey there! I'm a solo designer and I created iFStudio, a custom Unity editor extension designed to help authors create interactive fiction—like Choice of Games titles or visual novels—with an intuitive, no-code interface.

🔧 What is it?
iFStudio is a panel-based editor inside Unity. It allows writers to:

  • Structure stories into Chapters > Scenes > Pages
  • Define Choices, Variables, and Conditions
  • Preview branching paths and variable changes
  • Export to HTML or JSON for readers

📚 Who’s it for?
This tool is aimed at writers and narrative designers who want to build structured, choice-driven stories without writing custom code. Designed by a writer for writers.

swift wadi
#

Recent Progress:
This week I'm working on the Preview Window. The variables are tracking properly, but the pages aren't switching so that's annoying.

Concerns:

  • the overall size of interface. Things are so small and I'm struggling to figure out optimal text and button sizes. I'm used to standardizing copy and marketing, but I haven't really found a good go to best practices for software interfaces.

  • I'm also worried about the table of contents area. I was so concerned about having the big three types (chapters, scenes, and pages), that I wasn't thinking about flow. I still think it's important for organizing, but not sure if it's more of a hindrance atm

swift wadi
#

I got my preview window to update pages! It now tracks variables and choice history. Extremely exciting.

The next bug is the fact that designated "next page" in the editor window, doesn't translate to any actual page ID, so it's just defaulting to the first page.

Once that's fixed, I'll see what I can do about the interface and building a proper demo project

swift wadi
#

Ok, so I have a lot to update but it's hard to remember everything ive done. so, outside of bugs and visual updates,

  1. I created a Window "Frame" to hold the StoryEditorWindow and StoryPreviewWindow. so now authors can toggle between edit view and reader view to check for visual and variable bugs.

  2. Choice inspect now only shows the selected choice instead of defaulting to all at once.

  3. PreviewWindow now contains 3 panels similar to the editor window and will show choice history, live variable updates, and of course reader view!

So now, as an author, you can pretty much "play" your novel game!

im just so excited.

hybrid radish
#

Any new screenshots or videos?@swift wadi

swift wadi
#

Yes actually! I'll post some today with my update

swift wadi
#

Update w/Visuals!

  1. See the window frame with the two Story Editor and Story Preview windows. these can be toggled from the buttons on the right side of the interface.
  2. Conditional text is now working properly, but I need to update the anchor and how to best show it in the editor. that [snippet] anchor is just a paragraph and only to confirm the anchor placement works. The goal is to have snippets come before, after, or inline of a paragraph.
  3. Export works! kinda. unfortunately, while i got the snippets to work in preview, they don't seem to be carrying over in export, so i have to figure that out.

Also, im very excited to mention that I submitted a couple of talks to PAX West! I have zero idea if they will get accepted, but im just proud of myself for getting this far. :D

swift wadi
#

@hybrid radish
Thanks for asking about it! gave me a boost to actually update

swift wadi
#

For perspective, this is one of the leading programs for developing Choice of Games apps

hybrid radish
swift wadi
#

This is from one of my favorite books.

swift wadi
# hybrid radish Is this mainly for like point and click games?

@hybrid radish More like reading and clicking button games.

Interactive fiction novels or choose your own adventure stories, typically involve the reader developing their own personality and responding to situations the in a number of different ways.

This is from one of my favorites.

Interactive fiction is definitely not for everyone, but I love reading and getting lost in my own head. So iFStudio is my way of trying to make writing IF more accessible to writers.

hybrid radish
#

Cool stuff!

swift wadi
#

iFStudio Progress Update!
(pictures later tonight)

Hey folks, just wanted to share what’s new on my end. A lot of things are finally coming together:


Outline + Navigation

Chapters and Scenes are now fully nested and draggable.
You can reorder them with smooth drag-and-drop, and selection works reliably now.

Outline Mode vs Content Mode is now clearly separated:

Outline = structure and metadata

Content = focused page writing


Next Planned Task
Rich Text Editor (Work in Progress)

The old plain text field will be replaced with a proper rich text editor.

This is actually a lot harder than I expected and requires some finesse to get working properly. Depending on how things go, I might end up releasing the rich text editor as its own Unity asset.

The goal is for it to act like a typical word processor plus one key feature: authors can select text and assign it to a variable that dynamically updates in the reader view based on their choices.

I know how it should work in theory, but Unity doesn’t have a built-in parser, so it’s a heavy lift.

I got styling features like bold, italic, underline, and color to work, but only on the last word typed, not on selected text. So now I’m looking into something called Chromely to help fix that.


Editor Cleanup

Did a big refactor under the hood.
Selection state is now cleanly managed, the panel layout is modular, and UI drawing is way easier to maintain.


Saving and Asset Management

This one’s more of a bug fix. Variables were saving into the Unity asset folder instead of the project folder.

Now, chapters, scenes, and variables all save directly into your project folder.
Folder structures are auto-created, file names are cleaned up, and Unity stays in sync.


Still lots to do, but it's finally feeling solid. Thanks for the encouragement. Back to designing.

swift wadi
swift wadi
#

Do you ever just....iterate. and iterate. and iterate. without commiting or pushing?

Yeah. Don't do that. Im fortunate to not find too many bugs. but i just spent the last four hours editing without proper saving techniques.

and here i just started out trying to fix a text wrapping issue...yea, that's still an issue

BUT I added back Condtional logic. It was hard for me to wrap my head around some of the language and what not, but i updated it to Rules for when a choice should be visable or enabled.

A lot more than that was added, including adding additional logic such as and/or/not.

The ui is still ugly, but the function is there

swift wadi
#

Choice Visibility Rules
gray out or hide now possible.
and it actually functions!!!

Unfortunately i did introduce a bug in the page content of the preview mode. so that's a thing.

But yay progress!

swift wadi
#

This project is not dead BUT OMG IS RICH TEXT EDITOR INSANE

This has probably been the most frustrating part so far. I'm still plugging away at it, but because i have no idea what im doing (im not a dev, im a designer at best), it is extreamly annoying dealing with trial and error. But im geting there

#

I finally managed to develop the RTE using Novel TipTap Lite. I spent way too much time figuring out how to remove the AI component as that's not something im adding for this version of iFStudio.

swift wadi
#

Ok. First off. I am sad to say i am no longer adding Rich Text Editor function to the asset. However, i am happy to say, i found a work around.

After long, frustrating nights, I realized i had a partial solution already. When dealing with Choice Snippets, i was already tracking paragraph "anchors", for where to place little snippets of text tied to a choice.

So i decided to expand that function to the variables.

The reason why i was so opposed to such a thing was that i wanted desperately to have iFS to be CODE FREE. in which the authors never had to see code, just use buttons and dropdowns to add logic, and not be intimidated by pseudo code.

However, without having a rich text box, there is no really way to hide it unless i made the page a label or something.

I tried building an invisible editor overlaying a label field that matched verbatim, and i got a little head way in that, but it got too much for my head at this point and time. I want to make an interactive fiction builder, not a rich text editor!

So as of right now, I finally built the Variable library, and I've built out the "Container" for a collection of variables which is extremely important to get right, but more on that once i get the visuals, as it's something vital to the purpose of iFS.

Wish me luck!

swift wadi
#

UPDATE:
Variable Library & Variable Containers

The final interface feature is live! Still a long way to go, but now i have a whole window dedicated to creating and managing variables. This won't replace the variable panel in the Edit Window, but it definetly will make creation more streamlined, especialy for the Variable Containers.

Variable Containers
This allows authors to "contain" relevant variables in one location. Instead of having a giant list of global variables in alphabetical order or the like, an author can go straight to the parent, eg. Character, and modify the connected variables.

These can then be loaded to a chapter or scene and the individual variables called directly in a page, eg, when writing dynamic text related to a reader's chosen weapon or gender pronouns.

That is the next big edit. right now, an author can only add page snippets which are tied to a choice from another page, however, the goal is to be able to click "Insert Variable" under each variable from the Variable Panel, to add it direclty to the page, which will then update based on the Reader's selection.