From what I’ve read of other visual novel developers and in game design in general, rapid prototyping will get you far. You can test your game, make changes easily and quickly without stressing out your writers with overly technical languages and unnecessary details. So I’ve created something that will help with that. I’ll call it SimpleScript for now.
The new command is extended from ExecuteLua, so it’s pretty similar. The difference is that you can use a different syntax to write dialog faster, either within the provided text box or dragging and dropping a txt file into the SimpleScript TextAsset spot. If both are provided, it will run the TextAsset first and the contents of the TextBox second.
I’ve also allowed for inserting code blocks using Markdown’s standard three-backticks.
```say("Execute only this line of code")
//Oryou can executeablock...
There’s still a lot of work to do on it, but since it’s still in the beginning stages of development, if you wanted something of your own in there or if you have any suggestions, let me know soon! Maybe I can add it.
I decided I definitely want to stick with Fungus because of the reasons I mentioned in my previous post. But there were some features I wanted that weren’t already in the code base. What to do?? I would try contributing to the project!
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: