snozbot / fungus Goto Github PK
View Code? Open in Web Editor NEWAn easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
License: MIT License
An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
License: MIT License
It should be possible to embed variable values in Say & Choose story text, like this.
"She glanced through the window and saw {$FriendName} approaching.", where FriendName is a previously populated string variable.
A user reported compile errors with Fungus 1.1.0 in a project with Playmaker and 2D Toolkit installed.
The PageStyle component is used to configure the appearance of Page text. It will be replaced when Unity bring out their new GUI system, but for now it would be helpful to have a tutorial video on it.
Add new commands to override elements of the Page style. e.g.
SetSayStyle(GUIStyle guiStyle, fontScale);
SetHeaderStyle(GUIStyle guiStyle, fontScale);
SetFooterStyle(GUIStyle guiStyle, fontScale);
SetOptionStyle(GUIStyle oddStyle, GUIStyle evenStyle, fontScale)l
SetBoxStyle(GUIStyle guiStyle)
The reflection stuff in Event Handlers doesn't compile in Windows Store builds.
Implement global variables serialisation on WinRT (currently disabled).
Assets should be serialized as Text Only to ease the merging process with custom branches.
From David Liu...
I was just wondering if there was a way/plan for a feature where when the dialogue is being "typed", there is a slight pause at commas and a longer pause for full stops at the end of sentences? In action, it looks like this: https://www.youtube.com/watch?v=-atdTSynWAICrudely (but more apparent), it looks like this: https://www.youtube.com/watch?v=F7TiH5JGy-AI think that a small change like that adds quite a bit more to how the reader perceives speech by different characters and can make dialogue closer to speech as it is spoken - with pauses where they should be.
Smoothly cross fade a sprite to use a different texture
The smooth refresh rate of the Fungus Script window is causing a very heavy CPU load.
Lynn has requested a fix for the weird line wrapping behavior in Fungus 2.0-beta.5
http://fungusgames.com/forum/words-jumping-down-to-next-line-if-there-s-not-enough-space
The fix is to change the way text is written out over time. Instead of modifying the displayed text string one character at a time, we should modify the alpha for each character in the full string to gradually reveal characters over time. The key is to use UI.Shadow.useGraphicAlpha so that shadows and outlines use the same alpha level as the main text.
Speech bubbles with dynamic outline and arrow placement
Narrator boxes
(Request from Paul Mc Gee)
Very basic outline and drop shadow effects can be achieved using the existing UnityGUI system. We're probably better off waiting until the new GUI system is released though.
Add MIT license to Fungus-Spine addon, and Creative Commons license + attribution for Jeckyl asset by Paul Mc Grath.
I need a Timer variable type that acts as a float variable but decreases automatically over time and has some control as whether or not it's currently running.
A contextual use would be that you visit a character and he asks you to come back in fifteen minutes.
Adding a new variable type is currently impossible without changing the SDK source code. It needs a lot of code refactoring and requires splitting a lot of methods into smaller, overridable methods.
Currently you can only configure the vertical layout for fitting the Page rect to the content. It should be possible to configure both the horizontal and vertical layout.
The new MoveToScene() command allows you to split your game up into multiple scenes to reduce peak memory usage (and avoid crashing).
Add a tutorial video / article on how to do this.
Add ability to rotate views and smoothly interpolate rotation when panning.
Add a command to do a full screen fade to a desired colour over time.
Localisation is an important feature, but Unity have indicated that they are working on their own solution for this. If this doesn't happen then we'll have to implement our own localisation system
Hi! I've been playing around with Fungus for a few weeks. I love it so far. I had a quick question.
I'd like to be able to use SetValue and Get Value to store variables. But I can't seem to get them to print as a text string. Not sure if it's a limitation of the class or my poor understanding of Unity.
In my main room I have this simple Start command to set the variable for "power"...
void Start () {
SetValue("pwr", 89);
}
When I want to modify the value, I use this (in theory, haven't tested yet)...
SetValue("pwr", GetValue("pwr") - 1);
When I want to display the value, I use this...
AddOption("POWER: " + GetValue("pwr"));
... but it always seems to print as 0 instead of the value I set.
Any help would be appreciated!
Add a SetRandom command which stores a random value in a specified variable. The range of the random number can be set using min and max values (which can themselves be variables).
Add a time based position offset to any game object.
Useful for camera / sprite wobble effect to make scene more alive.
As they are now all attached the same gameobject, commands are not able to correctly fetch their sequence and always return the first one
It is possible to pass variables through the existing Action delegate calls by using lamda functions.
Lamdas are a fairly advanced programming feature, so it would be good to find a simple basic way to pass parameters through to callback methods.
All View rectangles should be displayed when editing objects within a Room, to aid positioning.
Simplified trigger system to call a method when two Fungus controlled objects interact. (For point-and-click style games).
Copying text from Twine 1 to Unity on Mac doesn't work. It just pastes in the letter v instead of pasting the clipboard text
Define a view transition using an object in the scene
Transitions are activated using a StartTransition() command. Transitions usually stop automatically but can be cancelled via a StopTransition() command.
Ability to define a 2D navigable graph of navigation nodes in Unity editor. Simple Fungus commands to move an object along the shortest path from the current position to a target node. Simple obstacle avoidance.
I implemented some code that forces a Say command to continue and immediately execute next command in sequence. While this may seem as counter-intuitive at first, it's useful to dynamically call a new "modal" sequence than then returns to the running sequence and re-executes the command that was active before the call.
Doing that will result in distorted text because the coroutines are still running from the active Dialog object and text is being appended twice.
Fix : Call StopAllCoroutines() in the Dialog::Clear() method.
Add a simple mouse hover indication for buttons (e.g. change color or scale)
Fungus is using some APIs that aren't supported on Windows Phone 8 builds
http://docs.unity3d.com/Manual/wp8-faq.html
The fix is to remove or replace these APIs.
Add support for using Fungus with Playmaker, etc.
http://www.hutonggames.com/
Longer term it would be nice to have a built in Visual Scripting system that's fully optimised for Fungus.
Reported by Damon Reece
http://fungusgames.com/forum/a-few-questions-and-observations
This is a clickable image and text label to be shown on screen at all times. Click brings the player to the website of the copyright owner.
We can open a URL using Application.OpenURL
http://docs.unity3d.com/Documentation/ScriptReference/Application.OpenURL.html
Stop voice over audio when player clicks through story text to skip. Request from Nickey on the Fungus forum...
For example, let's say we have a dialogue text + voiceover speech for the following:
"Once upon a time, there lived a very fair princess in a faraway land."
So if we don't click anything --> The text will type itself, and the voiceover speech will run like normal.
If I want to skip:
1st click --> While the text is typing itself, 1st click will make the full text come out fully, instead of the word-by-word typing. Voiceover speech is still ongoing.
2nd click --> 2nd click will skip the ongoing voiceover speech (the speech audio will stop entirely) and then it would move into the next part.
It should be optional to hide buttons while executing wait, pan, etc. commands
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.