Blog

This blog is about games made using Fungus and other related news. You can also check out our old Tumblr blog to find many great games that use Fungus.

Fungus 3.13

With another feature release so comes a quick overview of some of the new features.

Collections

collection_insp.jpg
loop_command.jpg

Collections have been added, general Collection doco here. We now have FungusCollections, these are components that can be added to a GameObject and interacted with as you would any other array or list type in the Unity Inspector, they also can be referenced by a CollectionVariable and then be used and manipulated by the Fungus Collection Commands doco. We ship with Collections for ints, floats, Colliders, Transforms, and GameObjects. Should you need to add new Collection types that’s straightforward, simply inherit from Fungus.GenericCollection<T>.

Animated Text

tmp_anim_link.gif

We’ve added a system to support the animation of TextMeshPro text elements built off TMPro’s Link functionality. There’s a gif and sample usage in the originating PR and there’s a demo located in “FungusExamples/TextMeshPro/TMPro Link Default Effects Demo”.

Some Other Bits

Condition Commands now support multiple comparisons as a chain of ANDs or as a chain or ORs. Thanks to preda2or, and AcademyOfF for their contributions on this one.

Portrait flashing white bug has been resolved, by reworking some of the underlying portrait system. A parent object translates around and child portrait images fade in and out.

More of how Fungus is maintained and documented is now on GitHub itself.

  • Trailing the use of Milestones on GitHub to track and inform the community of what is likely in the next feature release of Fungus. Early indications here have been very positive so this is likely to continue and expand.

  • Releases are always the most up to date, in the releases section on GitHub. The asset store process means it is always at least a day behind.

  • Improved instructions for contributing, a template for logging a bug, and a template for adding a feature request via GitHub, here.

  • We’re very open to working with community members on PRs via GitHub. We welcome partial or in progress PRs for feedback and review by us and other community members. We’ve already have a few cases of this (one, another one, and another one) and it’s been great.

3.13 has actually already had a number of bug fixes prompted by solid issues logged from the community and in some cases, fixes from the community too.

3.13 may be the last version of Fungus to support Unity 2017 LTS. That version of Unity is out of its LTS period and there are a number of Unity features that only exist from 2018 LTS up. Features that Fungus would like to be able to leverage, such as the package manager.

AND MORE! You can see more details on the changes and fixes in the Changelog or within the releases on GitHub.

3.12 Catch Up

Hey all, been a while. Along with a many small improvements and bug fixes, there’s been some new developments to check out, so let’s do a quick catch up from 3.7, up to and including 3.12.

Global Variables
A new access or modifier for variables along with public and private. Variables set to Global are backed by variables stored on the FungusManager, meaning they exist between scenes. All global variables declared across all flowcharts of matching name and type are backed by the same variable without any other form of synchronisation. See GlobalVar demo and doco.

Priority Signals
These don’t have an impact on the running of Fungus itself but are intended to allow Fungus to raise and lower signals to external user C# code in a generic way. For example, raising the priority when interrupting gameplay for a conversation and then lowering once the conversation is over. See the FirstPersonDemo for sample usage and doco.

Text Variation
Heavily inspired by the system in Ink. Text in Say and Menu can now be either varied during repeats or phrases randomised entirely, see TextVariation demo and doco.

Increased TextMeshPro support (Text Adapter)
Text elements in Say and Menu and other commands now internally use a TextAdapter that will look for Text, MeshText, TMPro text and use whichever is found. See demos in the TextMeshPro folder for samples.

BlockReference
Provides a standard and friendly way of selecting a block to target in user C# script. See doco.

VariableReference
Provides a standard and friendly way of selecting a variable to target in user C# script. See doco.

FirstPerson Demo
Shows simple use of Fungus in a 3D scene, including Priority Signals, physics EventHandlers, and interactions with c# scripts.

Compatibility and Lite releases
On the releases page, each release will now have a Lite release, regular release but without the FungusExamples so that download and unpack is smaller and faster for users that do not need the examples. The Compatibility release is targeting specific older version(s) of unity in the hope to ease the process of using new Fungus features in older versions of Unity. At the moment, this Compat release should be used if you are not on 2019.2 or newer and should support upwards from 2017.4.

Editor
Searchable Popup Lists - Adding Commands, Variables and EventHandlers all now use a searchable popup window similar to the AddComponent menu on Unity GameObjects. Double clicking the triggering buttons will show the older menus, you can also disable the new searchable menus in ProjectSettings->Fungus if you prefer the old ones.
FlowchartWindow performance improvements, more responsive for flowcharts with lots of blocks.
Variable Use shown for substitutions - HasReference on Commands expanded to include caching of variables used by a command, see RefreshVariableCache for more details.
FindReferences style logic - Blocks show a Callers array in the inspector and right clicking a Variable can log to console the places it is referenced in the scene.
FlowchartWindow Search - now shows blocks based on search term appearing in SearchableContent like summaries, not just block names.
ProjectSettings->Fungus configures and info added to help identify Fungus version and locate required assets.

And More
There’s some new commands. The documentation now lives on the github wiki, link. The repository workflow is now closer to gitflow, with master being the most recent full release and all PRs going into the develop branch.

Fungus 3.7 released!

Posted by Steve Halliwell

Fungus 3.7 has just been released on the Unity Asset Store and we wanted to take some time here to talk about some of the larger features that are being introduced. Some come as direct requests from forums, such as the WaitForVO option now available on Say Commands. Others, out of a desire to minimize and ease workflow hiccups observed among Fungus developers and newcomers alike. This post will give a brief overview of these additions and some of their use cases.

Firstly, a range of Fungus EventHandlers and Fungus Commands. These will allow you to have a broader range of simple responses and interactions in your games before you need to wrestle with c# scripts.

In 3.7 you can;

The range of MonoBehaviour Messages that can now be used as the Event that executes the block.

The range of MonoBehaviour Messages that can now be used as the Event that executes the block.

  • Perform simple mathematical calculations entirely in Fungus using FloatVariables and the new Mathf Commands. There is a MathQuiz scene in the FungusExamples where you can see some of these in action. This will allow fungus to do things like the number guessing game and also allow for games with logic or math based puzzles to have dynamically created starting and ending conditions.
  • Respond to a range of MonoBehaviour messages, including collision and trigger messages. You can see some basic examples of how to use these in the MonoBehEvents folder in the FungusExamples. We had requests for creating sound effects when an object collided with another, this and much more is now possible.
  • Rigidbody2D variable and commands, allow Fungus to add forces to 2d physics objects. These combined with some Vector3 and Transform commands mean that you can now create simple physics driven games entirely within Fungus. The Playground folder in the FungusExamples shows some examples of their configuration and use. These are named so as they are inspired by Unity’s Playground Project. These are far more intricate than the other examples, this readme explains their construction.

The Football demo scene in Playground is a 2 player air hockey physics driven game. Entirely in Fungus.

The Football demo scene in Playground is a 2 player air hockey physics driven game. Entirely in Fungus.

You can now shuffle the order of menu options, with the MenuShuffle command and use of the new ‘Hide This Option’ boolean in the Menu command. This will make it easier to conceal choices that are tied to a stance or moral system from your players and can help give players that tend towards always choosing the first or last option more differentiated paths and experiences. The setup can be a little tricky, so the MenuShuffle scene in the FungusExamples gives an indication of its use.

There are also a number of ease of use and quality of life style additions to the editor.

Variable list shown under the flowchart inspector.

Variable list shown under the flowchart inspector.

  • Fungus Icons appear in the hierarchy window on GameObjects that have a Flowchart component. This makes it easier to find these objects in more complex scenes. This behaviour can be turned off in the Fungus Editor Preferences.

  • Flowchart variables are now shown in Flowchart inspector as well as in the Flowchart Window. This makes it possible to view and/or edit Fungus Variables even if you cannot see the Flowchart Window, which is common for some layouts and computers with less  screen real estate to work with.

  • There is now a search box next to the Add Command button shown when inspecting a block. Typing the name of a category or command will give a list of partial matches, which you can navigate with the arrow keys and confirm by pressing enter. This should be of use to those still getting familiar with the categories a command lives under.

Typing 'if' in the command search box shows all commands that have 'if' in the name

Typing 'if' in the command search box shows all commands that have 'if' in the name

There’s also an array of bug fixes and smaller changes in the release notes. We are excited to get these in your hands and look forward to hearing from you in the forums with feedback and requests.

Fungus 3.4 now on the Asset Store

Fungus 3.4 just went live in the Asset Store, so it seems like a good time to post an update about recent improvements. You can check the release notes for the full list of changes in recent releases - there's way too much to list everything here.

The coolest recent feature is probably the conversation system contributed by Leah Lee. This allows you to create lengthy character conversations and stage portrait changes using a simple but powerful text format. It's should help cut down on RSI when making those longer games :)

The Fungus website has been streamlined a bit, and we've set up some new domains.

On the coding side, all the source code has been spruced up to meet our coding standard. As well as some general best practices, all public API members are now documented which should help coders working with the Fungus API.

FungusLua has seen a big improvement in Fungus 3.4. We're now using MoonSharp 2.0, which means you can use Lua in WebGL builds, debug Lua scripts using VSCode and even debug into the MoonSharp c# source code.

In other news, we've now had 900+ forum topics which is a fantastic and constantly building source of knowledge for people using Fungus. Huge thanks to everyone who's been helping out with answering questions there!

And I just noticed Fungus now has 50 reviews on the Asset Store, all 5 stars. Thanks folks, it's a good start ;)

Chris
@gofungus

Badb's Tea House and More - A Chat with John O'Kane

I had the pleasure of chatting with John about his most recent release, 'Badb's Tea House' and also chatted with him about his own insights into his development and design process!

When did you start making games, and what motivated you to do it and keep doing it?

Oh wow, the big question. I don’t really recall not wanting to make games. I think I was three or four, I saw a game at someone else's house on an old casio computer or something. It had an educational game where if you got the right answer an animation of a train would traverse the screen. I got fascinated at that point. I never really had a computer until I was about twelve, so I spent much of my time around my cousins or friends playing games on the Commodore 64 or NES/SNES. I made a few small things, it was normal to do that as well and play games. The first game I made was a lottery text adventure type thing. It was a so-so game but it did expose me to basic programming.

Playing games was usually a social thing. With my cousins we had a room with chairs in a queue and a game setup (after a really slow tape loading process), often running all day. One moment everyone would be outside playing football, then next everyone could be inside playing Frogger! It was just a part of the normal activities. So despite the relative lack of computers, we all got a lot of experience, at least playing on them. I do think it was fun to also slowly discover new genres of game as they got created. Today, as soon as you are aware of games, you sort of get the full and polished history of them thrown at you immediately..

As I went into my teenage years I kinda became that classic solitary gamer. I didn’t really make games then, I just consumed everything I could on the Amiga. After college I decided to get into making games for a living. There's good advice out there, that “you should be constantly making games”. I didn't do that, oops! When I applied to  game companies I quickly realised I had nowhere near enough skills or experience. So I started making my own hobby demos to learn what I was missing. I eventually did get employed in a company called Torc interactive (later known as Instinct technology) in the early 2000’s.

After a few years of working I went backpacking and when I came back I wanted a soft landing. I decided to do the IET Masters at Trinity college but it turned out to actually be a lot of work! While doing it I decided I wanted move more into the creative side of things, that I was playing it safe by sticking with programming only. I always loved the creative design process such as the story telling, design and drawing. So that newer direction has been where I've been going ever since.

Next question! It is pronounced BABS or BAVS? It’s BABS isn’t it?

I’m not going to answer that…

Please answer it!

I really don't know ha ha, I’m going to say BADV's with a V at the end with a silent D. I really don’t know though. It was a thing with Grandpa Pip as well, there were a lot of characters that people couldn't pronounce if you weren't Irish.

I’m Irish and I couldn't say half of them ha!

I would often have an idea of who the character was. Then I'd look up Irish mythology and find some characters that seem to have similar characteristics and more often than not someone cool would exist. For example, Badb (also known as Morrigan and other names in different european countries) seem to fit the role perfectly. It’s kinda like Egobahl. I had the main character not know how to say his name and it was just an in joke. So to answer your question, I’m not going to give you a definitive answer. (BAVS is his preference)

Before Badb’s Tea House, there was Grandpa Pip's Birthday, very similar in art style, game play, story design etc, Both games were featured in PipsVille. What was the inspiration behind PipsVille, and the games surrounding it?

The whack mode featured in Grandpa Pip’s Birthday is Super Sword Sword Shield (SSSS), but a shorter version, put in for fun.  It’s built on the same sort of tech and was just a chance to show that off.  I was working on SSSS and Chris was working on fungus, and it was a way of bringing some attention to SSSS and Fungus. When I started making SSSS, I didn’t like endless runners.

Really odd, cus you’re making an endless runner ha!

Yeah right? The bit that I realized that I didn’t particularly like was that they were endless. Like I would happily play a runner if I was told it had a finite ending. Although SSSS looks like a endless runner, it's actually a 10 minute fixed experience. I just really like the idea of learning the mechanics and techniques rather than dealing with randomness and the sense of being worn down.

I also wanted to create a sense of progression in the visuals e.g. “I got to the mountain region” or “I was at the first well” etc. That put pressure on the art requirements though. 
In SSSS, the horse runs through the village in fifteen seconds. So if I was going to build up these graphics getting reuse out of them by making a game in Fungus for each section seemed to make sense. As I was creating more graphics I needed something to the right of the village which ended up in Badb’s Tea house. The character Ann from Grandpa Pip’s seemed popular. Ann is a very excitable, dark and strong character. Badb was designed in Ann’s spirit but a little more rounded.

I moved quickly when designing Badb's Tea House so I didn't realize what the game was about until I was about two thirds through. I had to stop and make large changes. The result is sort of messier for it, but also more distinctive. People seem to have enjoyed it. I had someone call Badb’s not a game. I felt proud after that.

Badb’s was featured on a lot of sites like Rock paper shotgun, front-page of GameJolt, features in general. How do you feel about it? Pretty cool right?

It’s nice knowing that some people have seen and played it. Also getting feedback on your work is always good. In other ways it doesn’t matter, making the game was the important bit, getting that creative release. Having two games of similar style helps I think, for both me and an audience. An audience, who like what you do, is good. I would love to make a living on this and validation does help motivate you. It’s not that I have a clear goal in how I go about doing that, but thinking commercially or how to get cultural funding has to be a part of it. I don't think anyone should think less of anyone attempting to make some money to survive, we've all got do it or we won't be able to continue. No one needs to be a starving artist.

When will we see more of PipsVille?

I'm in the process of designing the next one, which will be a couple of weeks of thinking and fleshing everything out. This is always the most fun stage. With Grandpa Pips I didn’t rush into it, it was a slow burner. A lot of the rough edges were taken off it, it was mostly a puzzler game. With Badb’s the process was not as good, particularly in the middle when I was a little lost for direction. For the next game I'm going to try avoid that but keep some of the rough edges.

The next game takes place in a haunted abbey. It will probably be more of a puzzle kind of game and will roughly be around the twenty minute mark. I will do a solid two months to get the logic of the game, art, and animations done. After that I will then take another couple of months, spread out, to give me time to polish and tinker with the dialog as well as continue with other projects. So maybe before Christmas this year? 

If you want to check out more of John's work be sure to check out the links below

Twitter: @johnokane

Itch.io : Link

Website: Link

 

 

 

Chatting with Florian Velt about himself and 'Lieve Oma'

Recently I had the joy of having a chat with the lovely Florian Velt about his background, motivations, and his award winning game 'Lieve Oma'.

When did you start making games and what motivated you to do it?

I wanted to make games for a long time, when I was like 13? I wanted to make games, but it was pretty hard as there was no development process back then. There wasn’t anything like unity. I was always interested in it but didn’t have much of an opportunity to make things myself for a long time, so I ended up wanting to study animation and from there I also realized that was also kind of complicated to do on your own. I decided to study illustration instead and that’s how I ended up in an art’s school. While there I met people making games in things like Unity and Game maker and thought at a certain point that I could try doing stuff myself! In fourth year in… 2012? I started making interactive 3D stuff in Unity.

Do you think that art background helped you with making games?

Yep definitely. It really helped me a lot. As I started making things, I was studying illustration. In France you learn how to tell stories through different mediums like text but also through images, and the combination of those two is basically what makes illustration, and I think video games do that also with things like sound and interactivity and all of those various feedback's allow you to tell a story. I used my knowledge of illustration and applied it to make games I guess.

What was the inspiration behind your most recent game, Lieve Oma? I know it’s an ode to grandmother but what is it personally to you?

Well before Lieve Oma, I worked on this train game with some friends, which I released yesterday for free (link) for free as we worked on it very hard and put a lot pressure on ourselves into making it but it felt like a bit too much for us as I was the only one doing the interactivity for It in unity. I was doing the programming and all the unity integration so it became too big of a project for me and burned me out. So we reached this decision that when we reached a playable build of the project that I would take a break from it and start a small project that I could do in about 6 months? Or something like that. So I basically started thinking of what would be interesting for myself to work on and it turned out to be the game about my grandmother (from an organizational side I guess).  On a more inspiration level, it came from just in general walking simulators, or games about interactive fiction and I thought about the experience of walking and talking with someone else felt kind of like a healing process. It might help you psychologically digest things in your head and I thought it would be interesting to translate into a game because we’ve got all the tools for walking simulators.

Did you run into issues while developing Lieve Oma?, like how you did with the train game?

Yeah I ran into some problems, as I’m a self-taught programmer as there’s a lot of things I don’t know how to do properly. I had a hard time figuring out how to have the grandmother follow you, stand next to you, wait for you if she’s ahead, and join you if she’s behind. I figured out how that worked from racing games like Mario Kart, where you have this visual of whose in first place, second place etc. and I had to figure out how to determine whether the player was in front or behind the grandmother, and that was quite complicated at first. There were also things like what happens when you walk away during a conversation with the grandmother, do you just break up the conversation or do you pick it back up or what happens, just things like that were hard to figure out. There wasn’t anything big going like the previous train game. The problem with the train game was that the scope was too big. With Lieve Oma, I went in with the belief that if an aspect became good enough and I was happy with it, I’d move on to another aspect of the project.

Lets talk about your award, the WTF!? Award from amaze! How do you feel about it?

It was really really unexpected for me! Especially that award, I thought it would be given to a game that was really different as I felt I tried to do something differently narratively but in terms of how it looks, its not something visually new, or very different from things you’ve already seen. I tried to make something that felt finished so, there are other games that are little rougher on the edges so I thought those games would have a bigger chance getting that award. Amaze was my first games related event, so I was really just blown away by getting the award.

So you’re a game design celebrity now right?

Ha, I don’t think so.

Now, we’re on to fungus,

During Lieve Oma, you worked with fungus. How did you find working with it?

It was really really good. When you start working on a project like this, just a project where you want to have dialog in any kind of way, it’s a real challenge to implement a dialog system, fungus really was the best thing I could use. I was really glad to have found out about it, it changed my way of working and now integrating dialog and narration becomes almost second nature when working on a project. Before I was just avoiding it as it was really too complicate to do.  Thanks to fungus it becomes very accessible, it opens up a whole part of game design that was originally difficult to do.

How’d you hear about Fungus?

I saw a presentation on the Unity YouTube channel from Unite that was filmed and posted online, I think it was Chris giving the talk, and when I saw it, I thought “this is perfect and I really need this.”

Is there anything you’d like to see added to fungus in terms of functionality, small changes, or anything?

In the end I personally ended up not focusing very much on the node based system and I mainly used the ability of reordering dialog boxes in the inspector. That’s where everything happens on my end. I was used to twine which works slightly different, that was interesting to come from as it works slightly different from fungus, but I think both systems could match to each other a little more maybe, that would be kind of interesting I guess. On the other hand though I got really used to working with fungus, I wouldn’t see anything that I’d change.

Id definitely be using fungus in the future, I really like how it comes with prefabs how dialog works and everything. It’s really useful and you can take from it and make it work how you want it too. I’ve seen something like ‘yarn’ I think it’s called which is way more complicated to get going at first. Fungus for me is the most efficient of doing things, it’s also very moddable in a way so if I need to extend on functionality it’s very easy.

Oh maybe one thing that might be interesting would be to make it easier to trigger dialog boxes in non-traditional narrative games, like in 3D environments. Triggering like you would trigger an animation, it would be really cool to be able to trigger it but also when you’re done clean it up very easily or something like that.  

I’m kinda sad that at the end of working on Lieve Oma, that I haven’t really kept up to date Fungus updates as I didn’t want break the source files.

 

You can purchase 'Lieve Oma' here!

Fungus 3 Beta

Hello Fungus folk!

Fungus 3 Beta is now available to download. The big new feature in this release is Lua scripting support, so you can control Fungus (and any Unity object) using a simple text based scripting language. You can download the .unitypackage and see the full release notes using the link above.

There's a bunch of new examples in the FungusExamples/FungusLua folder. Check out the new documentation and send us your feedback / questions in the Fungus Beta 3 forum channel.

Enjoy!

Chris
@gofungus

 

Fungus documentation update

As we're gearing up to release the next update of Fungus, we've redesigned the documentation to make it easier for you to find information and also made it simpler for us to keep it updated.

You can view the new layout by following the link in the Learn section. Please let us know if you find any issues or would like to help with improving the docs.

There's a new Community Articles section in the docs, so if you write an article, make a tutorial video, etc. let us know and we'll add it to the list. Enjoy!

Chris
@gofungus

 

Fungus v2.3.0 released

This is an incremental update, with several new commands, improvements to existing commands and a bunch of bug fixes.

You can grab the latest version from the downloads section and it'll also be live on the Asset Store in a few days time. As usual, if you have questions or spot any bugs please let us know on the forum. Enjoy!

Chris

Change Log

Added

  • SetDraggable2D command #191
  • WaitInput command #276
  • Fade UI command to fade UI objects #349
  • Read Text File command to read a text file into a string variable #344
  • Added Set Audio Pitch command #340
  • 'Center View' button to center Flowchart window on all Blocks #302
  • Clear Menu command #300
  • Set Slider Value command #297
  • Stop Flowchart command #289
  • Integration with Esoteric Spine animation system (available in Fungus/Integrations/Spine folder)

Changed

  • Added null checks in Flowchart variable accessors
  • Set Say Dialog property for characters
  • Can now specify the gameobject to shake for punch tag in Writer component
  • PlayMusic command has a loop property
  • Updated reorderable list control to v0.4.3
  • Updated to LeanTween 2.30
  • Added HasExecutingBlocks() and GetExecutingBlocks() to Flowchart class
  • Remove unused Text Width Scale property on Say Dialog
  • Can now specify a camera to use with Camera command (not just main) #319 #307
  • Can now disable Camera Z being forced by View commands #319
  • Text tags now support multiple parameters.
  • Write command now works with Text Mesh Pro text objects.
  • Writer.InstantComplete property controls click-to-complete writing.
  • Shake tag shakes camera instead of Writer game object.

Fixed

  • Ensure parentBlock is set when block executes #320
  • While loop with following If doesn't loop correctly #354
  • Auto cross fade music in Play Music command #199
  • Play Music call doesn't restart if same music already playing
  • Concurrent Say commands on same Say Dialog should interrupt #356
  • CustomGUI class not in Fungus namespace #353
  • Whitespace trimming after {wc} & {c} tags #346
  • iTween commands on the same gameobject can conflict #342 #303
  • Show Sprite should affect child sprites #338
  • Null reference if command classes have same name #312
  • End command indents when not matched with an If #308
  • Draggable objects behaving incorrectly #310
  • Inactive localizeable game objects are now also cached #322
  • SceneManager warnings in Unity 5.3
  • Fixed Windows store build 268
  • Fixed Writer beep timing issues in WebGL #295
  • Removed say command from Flowchart prefab

Write A Game Challenge 2015

We're always really excited to see and share what people make using Fungus.

The recent Write A Game (WAG) Challenge had a number of great entries whose creators decided to use Fungus. Here's a list of those that we are aware of (if we missed any, please let us know on the forum):
 

The Hollow  (Winner Pro Category)

Created by:   Out Of The Loop
Game Page:  http://tomirony.itch.io/the-hollow

In The Hollow, you play as a huntsman who is forced to search for his daughter after she mysteriously vanishes from the forest's edge. With the help of your daughter's creepy talking doll, you will encounter satyrs, basilisks and other stranger characters.

 

The Bottom Of The Well  (Winner Amateur Category)

Created by:   Wolfrug
Game Page:  http://wolfrug.itch.io/the-bottom-of-the-well

This visual novel centres around Alice, who has had a very disturbing dream about the imminent apocalypse. The story is told through a chat dialogue with her friend, as Alice pieces together what happened and what her dream might mean.

 

Celia

Created by:   Lucid Level Games
Game Page:  http://lucid-level-games.itch.io/celia

Join Celia's adventure as she loses herself in this science-fiction Wonderland. This visual novel features multiple endings and branching dialogue. 

 

The Meteva Accident

Created by:  Marcin Ruszkiewicz
Game Page:  http://aevi.itch.io/the-meteva-accident-prologue

The Meteva Accident, which happened on the 4th of May 2029, was one of greatest setbacks in biotech research of the twenty-first century. You all should be at least familiar with it, since it's still a part of the history program in schools everywhere. But there's some probability you weren't paying attention, so this game will give you a short reminder. 

 

Love/Space

Created by:  SpideyJ
Game Page:  http://spideyj.itch.io/love-space

A woman searching space for answers, her only company a rapidly deteriorating AI and memories of lost loves.

Fungus v2.2.0 now available!

Fungus v2.2.0 is now available from the download page.

Here's a summary of what's new in this release, the full set of release notes is available here

Write command

We've redesigned the text writing features in Fungus to be much more modular and robust.

There's a new UI > Write command which can write text to any Unity text object (UI Text, UI Input Field or Text Mesh). This supports all the same text tags as the Say command, like {b} bold and {w} wait and variable substitution & localisation.

To control the writing behaviour, you can now attach a Writer component to the text object to configure writing speed, punctuation pause, text colouring, etc. Attaching the new Writer Audio component will let you play typing sound effects as the text is written, including a new beep-per-character mode that plays random beeps selected from a list of audioclips.

Say Dialog

The Say Dialog system has been completely rewritten to use the same Writer and WriterAudio components as the Write command above, so you get all the nice new configuration options. For example, you can now display the unrevealed portion of a line of text using a custom color to give a Karaoke-style text effect.

The new Dialog Input component provides new options for handling player input. You can choose to only accept clicks on the dialog UI or on the Continue button. You can specify which keys can be pressed to advance through dialog, and there's a new option to hold the Shift key to auto-advance through character dialog. This is great for when you want to skip to a certain part of the conversation without clicking a hundred times.

The layout of the UI objects inside the Say Dialog prefab is now simpler and easier to customise. The Say Dialog now fades in and out automatically when writing text. Use the new Fade When Done property to specify if the Say Dialog should disappear once the Say command has finished.

There's a new Input Text example which shows how to read text from a UI Input Field into a Fungus string variable using the Get Text command.

Stage & portrait

We've fixed a number of issues in the portrait system. You can now use any size portrait images and it's easier to customise Stage positions.

Menu command

You can now add menu options that are visible but not selectable. The selectable state can be linked to the state of a boolean variable.

Localization

The Set Text and Write commands are now localisable, and you can integrate your own custom commands with the localisation system using the ILocalizeable interface.
The localisation system now correctly handles CSV files that use Windows-style line endings.

Scripting

With the powerful new Scripting > Invoke Event and Scripting > Invoke Method commands you can call methods on any Unity script. Pass multiple parameters, store return values in Fungus variables and even manage coroutines. If you're looking to integrate Fungus with another Unity asset this can be an easy way to make it work without writing custom commands.

The new Quit command will exit the application on supported platforms.

Graphics

We've added the Sprite > Set Sprite Order and Sprite > Set Sorting Layer commands to give more control over Sprite render order.
The new Set Mouse Cursor command lets you set a custom mouse cursor. Take a look at the DragAndDrop example to see how it works.

There's a new Fullscreen command which sets the application to fullscreen mode on supported platforms.

Audio

The Control Audio command now works correctly with multiple Audio Source objects.

Process changes

We are now using the Unity Test Tools framework for unit and integration testing. All new features and bug fixes have an automated test where possible. This is already making a big difference to stability.

We've also changed our Github development process so every change is now made on a feature branch and integrated via a pull request. In practice this should allow us to have more frequent releases.

Upgrade notes

We made a LOT of improvements to the text writing features in this release. Unfortunately these changes are likely to break existing customised Say Dialogs in your project. If you upgrade an existing Fungus project and find the Say Dialogs are no longer working you will need to delete your Say Dialogs and create new ones.

So what's next?

Fungus v2.3 will focus on adding a new set of commands to control UI objects in Unity. The goal is to make it easy to create whatever UI layout you want inside Unity and then control it from Fungus.