Putting the Fun in Fungus🍄

Lead programmer Ashley talks Fungus, Unity, and no-code developing

· studio,update,islands game,development,programming

The development of our untitled islands game demo is well underway, and after a lot of hard work over the summer months, we’ve got a few sneak peeks to show you today! Ashley, our programmer, is going to run us through what it’s like to use a no-code engine for prototyping and share some tips for beginning game devs. 

A gif of the game engine view of a hospital background screen and two game characters having an interactive conversation.

GIF of a Unity scene showing  a player dialogue choice and dialogue exchange, with some demo art and some placeholder art.

I think programming has gained an unfortunate reputation as belonging to the inaccessible domain of nerdy white men in screen-lit basements. As someone who has spent the last few years teaching people as young as twelve and as old as seventy to make games, I can promise you that it is something anyone can do, as long as the motivation and spirit of perseverance is there!

I’m learning to code in C#, but I think the best place to start if you want to make a game is a no-code engine. Learning no-code engines has helped me massively when I first started to code -- they’ve helped me understand the internal logic of if/then statements that are used in coding. There’s a regrettable attitude among many that if you use a no-code engine, you’re not a “real” developer -- but this is absolutely false! There are plenty of game studios who make use of no-code engines either for prototyping or the final project. We’ve decided to go with the amazing Fungus plug-in for Unity at Clockwork Raven. This has helped streamline our workflow and will allow us to get our demo out sooner rather than later. (Fun fact: Fungus was also used by ustwo for Assemble with Care!). 

broken image

Unity scene with a Fungus flowchart depicting the hospital location of our untitled islands game.

So, how does Fungus -- and other no-code engines -- work? First and foremost, they rely on if/then statements, like I mentioned earlier. Almost all games can be broken down into these statements, like:

If Mario jumps on a Goomba, then the Goomba dies and Mario gets 100 points.

If Mario falls into a pit, then he loses 1 Life and respawns at the last checkpoint.

Let’s look at a few examples from our game! 

broken image

GIF of the player clicking on Harriet Evercreech, and her first line of dialogue.

If the player hovers the mouse over Dr. Harriet Evercreech, her outline appears.

If the player is NOT hovering over Dr. Harriet Evercreech, her outline disappears.

If the player clicks on Dr. Harriet Evercreech AND they haven’t spoken to her already, then her sprite in the background disappears, her portrait appears, and her welcome dialogue begins.

Fungus uses a flowchart system for its if/then statements. Within the flowchart are blocks. Some of these blocks “execute on events”, such as a mouse click or the start of the game. Those would be the “if” part of the statement. Contained within each block are the “then” parts of the statement. Example:

If the game starts, then display the opening descriptive dialogue.

broken image

Screenshot of the Unity scene editor with the Fungus flowchart. This image has been annotated to show where the if/then statements are added into the inspector.

So how do blocks link to each other? For our game, a lot of it is dependent on the player’s choices. One choice might send them to a certain flowchart path, while another sends them down a completely different one! Take a look at the GIF below and watch as the player’s dialogue choice changes the route the flowchart takes. Look for green highlights around the blocks and along the arrow paths.

broken image

GIF of the Fungus flowchart and the game prototype.

Hope you enjoyed our demo sneak peek! If you’re interested in learning how to program or make games, my advice is start by thinking in terms of if/then statements. After you’ve got that logic down, try your hand at learning to code or picking up a no-code engine. 

Best of luck!

Ashley Rezvani is the co-founder of Clockwork Raven Studios, and our lead programmer and designer. 

Our demo artwork is courtesy of our art intern, Jesse - watch out for more from him as we carry on working on the demo!