Code Monkey home page Code Monkey logo

fungus's People

Contributors

arylos07 avatar bawdyinkslinger avatar breadnone avatar bursaar avatar cg-tespy avatar chrisgregan avatar entrancejew avatar fenixb3 avatar hectorcastelli avatar ibicha avatar ideka avatar inarizushi avatar jacksparrot avatar johnokane avatar jusw85 avatar kboily-hibernum avatar konistehrad avatar lealeelu avatar maxiboch avatar michaelwolf95 avatar morningfungame avatar nilihum avatar pavelko007 avatar ronanpearce avatar rubikhan avatar sherlockthegame avatar skelly1983 avatar stevehalliwell avatar timdng10 avatar zvinless avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fungus's Issues

Allow adding new variable types

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.

Improve Page tap to continue behavior

  1. Only register taps on the Page rect, not the whole screen (to allow button interaction)
  2. Add an option to display the continue icon on the Page rect or the screen rect.

Random numbers

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).

Substitute variable values in Say & Choose text

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.

Words jumping down to next line if there's not enough space

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.

Comic UI

Speech bubbles with dynamic outline and arrow placement
Narrator boxes

View transition objects

Define a view transition using an object in the scene

  • Source and Target View properties
  • Transition Type (Fade, Pan, Snap)
  • Duration
  • Interpolation (Linear, Smooth, ...)
  • Ping pong
  • Block execution until finished

Transitions are activated using a StartTransition() command. Transitions usually stop automatically but can be cancelled via a StopTransition() command.

Timed Choose menu

  • Choose menu with a countdown timer to force a player decision
  • Handle case where user fails to make a decision

Play a sound while writing text

  • Have a looping typing sound play while text is being written
  • Play a short sound every time a new character is written to the screen

Skip voiceover audio

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.

Variable text typing speed for punctuation

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.

Improvement : Add Timer variable

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.

Localization support

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

ScreenFade command

Add a command to do a full screen fade to a desired colour over time.

Printing GetValue to screen

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!

Video tutorial for using PageStyle component

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.

Command queue visualisation

  • Add option in Game class to display a diagnostic list of currently queued commands
  • Use reflection to get the class name of each command in the queue

Interrupting a Say command will cause scrambled text

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.
fungusscrambledtext

Fix : Call StopAllCoroutines() in the Dialog::Clear() method.

Basic trigger system

Simplified trigger system to call a method when two Fungus controlled objects interact. (For point-and-click style games).

Shake component

Add a time based position offset to any game object.
Useful for camera / sprite wobble effect to make scene more alive.

Tutorial on using MoveToScene()

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.

Outline & drop shadow text effects

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.

Improve PageStyle system

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)

2D pathfinding

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.

MoveToScene command

  • Support splitting a large game into multiple scene files
  • Unused assets should be flushed from memory on each transition to minimize memory usage
  • Investigate using this as a simple checkpoint system

Pass parameters in AddOption, Call, etc.

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.

Improve swipe pan behavior

  • Pixel perfect panning (scene should appear "clamped" to your finger when swiping)
  • Use momentum to support flicking to pan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.