Fungus Research – Week 1

Fungus Screenshot
Building a Fungus game in Unity. I made a custom story text dialog and say dialog. You can see the story flowchart at the bottom.

In my quest to make the perfect visual novel, I started to research the Fungus Visual Novel Engine for Unity 5. So far it’s been really enjoyable and I feel like this might be a viable option, but there are some hangups I still feel unsure about.

It’s lack of the basic Visual Novel system.
If you’ve tried Ren’py or played any Visual Novel, you’ll know that it comes with an options menu, save menu, title screen, rewind, etc… If I chose to use Fungus I’ll have to build a lot of that myself. It would be a good opportunity to contribute some code back to the Github project.

It can be inconsistent at times.
I’ve noticed that some of the portraits will move in directions I don’t mean them to move when I try to hide them. Flying off the screen even when I set them to fade. I’m hoping I’m just doing something wrong with my commands and I’ll figure it out later.

But there are some BIIIIIG draws that make me want to switch to Fungus.

It’s built on Unity!
I’ve been using Unity for a while and the development experience just keeps getting better with each release. If you can set up Visual Studio with Unity, you can use a debug console and step through the code as you play – something Ren’py sorely lacks.

User Interface customization is easy.
If you want a new look for a dialog box or a new spot for your character to pop up, you just have to add it by going to Tools->Fungus->Create and you’ll have a handy graphic interface to make your changes in.

The code is open and reasonably easy to customize.
I found I wanted to change the way a character portrait changes. The default behavior makes the previous portrait fade (alpha -> 0) before fading in the new portrait — So the character disappears briefly… which looked a little weird to me. In animation, you don’t make the character fade out between frames.
The line I needed to change was pretty easy to find and fix and now I have the effect I want! I’ll see if I can submit a pull-request to add that as a portrait change option.

That’s all I have to report for now. I’ll keep on working with Unity+Fungus to see how far I can go before I start tearing my hair out.

If you’re interested in trying Fungus out, here’s some youtube tutorials to get started:

Share on FacebookTweet about this on TwitterShare on RedditShare on TumblrPin on PinterestEmail this to someone

2 comments

  1. Hello! I really need that the characters do not disappear, do you want your characters go dark when someone else is talking? Me neither ^^. Thank you so much for this research and this entry. May I ask where did you find this and how to fix it? No need to tell me yourself, but somehow how you found it? I hope it’s in the main scripting for all characters so I don’t have to change one by one T__T. Thanks a million!

    L

    “I found I wanted to change the way a character portrait changes. The default behavior makes the previous portrait fade (alpha -> 0) before fading in the new portrait — So the character disappears briefly… which looked a little weird to me. In animation, you don’t make the character fade out between frames.
    The line I needed to change was pretty easy to find and fix and now I have the effect I want! I’ll see if I can submit a pull-request to add that as a portrait change option.”

    1. Hi there. Thanks for the question. Hope it isn’t too late to be useful.
      I dug through the current code (it’s changed quite a bit since I was last working with it) and I think the bit of code you want to change is in this block: https://github.com/snozbot/fungus/blob/master/Assets/Fungus/Scripts/Components/SayDialog.cs#L313
      The comment says that this will dim characters. To stop the dimming, you might just need to comment out lines 308 through 337. Play around with the debugger if you run into more problems. Breakpoints are your friends.

Leave a Reply

Your email address will not be published. Required fields are marked *