Human Fall Flat Workshop Resources Updated

August 7, 2019

HFF WS Resources

Links to Useful Information

I am getting back into some HFF WS editing for my thesis project, so I gathered a lot of resources together on how to work with it, how the updates change things, and a few tutorials for putting some objects together. I compiled this list of resources while I downloaded the updates, added the new WS package to the Unity project, and updated all the prefab icons in editor to make everything nice and easy to use once I finally started putting a scene together to test things out.

Steam HFF WS Help

[NEW] Human Workshop: Features, Multiplayer Support and Backward Compatibility to 1.2 Alpha2

[NEW] Human Workshop: Example Workshop Levels, Templates and Prefab Testbeds

[NEW] Human Workshop: Editor Improvements and Node Graph System

[NEW] Human Workshop: Post-Launch Fixes, Updates and Additions – v1003292

HFF Tutorials

By: Gotcha McFee

Rope tutorial in Unity for Human Fall Flat

Moving Platform Tutorial in Unity for Human Fall Flat

Learning the Node Graphs of Human Fall Flat Work Shop

May 8, 2019

Human Fall Flat Workshop – Node Graphs

Learning the Basics

General Notes

– Can modify button actions real time and they will adjust (press, hold, toggle)
– For Connections:
&nbsp&nbsp&nbsp&nbsp- Syntax
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- [GameObjectName : ScriptName]
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- InputType : NameOfInput
&nbsp&nbsp&nbsp&nbsp- InputType is either Input or Output
&nbsp&nbsp&nbsp&nbsp- Clumped GameObjectName and ScriptName means that script is attached as a component to that gameObject
– NG = NodeGraph
– Node outputs of “value”
&nbsp&nbsp&nbsp&nbsp- generally means it’s measuring some amount of something (usually normalized 0 – 1)
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- i.e. SignalAngularVelocity has an output of “value”, which is a normalized measure of the amount of angular velocity the object currently has (currentVelocity / targetVelocity)

Nodes

– SignalUnityEvent
&nbsp&nbsp&nbsp&nbsp- Call for something to happen, generally in another gameObject
&nbsp&nbsp&nbsp&nbsp- Usually found at the end of Node Graphs
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- because they take other actions in as inputs to determine when to do an event
– SignalMathCompare
&nbsp&nbsp&nbsp&nbsp- Has 2 inputs: in1, in2
&nbsp&nbsp&nbsp&nbsp- Output is 1 if both inputs are equal (the same); Output 0 otherwise
&nbsp&nbsp&nbsp&nbsp- also has an invertedOutput which is just the opposite out Output
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- 1 when Output is 0
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- 0 when Output is 1

Node Graph

– The Node Graph script itself creates entire Node Graph “shell”
&nbsp&nbsp&nbsp&nbsp- This creates two nodes within itself:
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- Input Node: Only holds number of elements in the Inputs array Size
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- Output Node: Only holds number of elements in the Outputs array Size
&nbsp&nbsp&nbsp&nbsp- At the higher level, it has both the inputs and outputs on its single node
– Other scripts can creates nodes within the Node Graph, but they will generally create a single node
&nbsp&nbsp&nbsp&nbsp- This is different from the Node Graph script, which creates two nodes
&nbsp&nbsp&nbsp&nbsp- These nodes hold their inputs and outputs in the same node
&nbsp&nbsp&nbsp&nbsp- Examples:
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- Button
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- Net Signal
– “Up” in the Node Graph will move to the Node Graph of the parent gameObject of the current Node Graph’s gameObject
– A Node’s output generally goes to:
&nbsp&nbsp&nbsp&nbsp- another node script within the same gameObject
&nbsp&nbsp&nbsp&nbsp- node script within a gameObject that is a child of the current gameObject
– Changing Node Graph connections may not update in real time
&nbsp&nbsp&nbsp&nbsp- It visually appears to be updating, but does not seem to actually take in change
&nbsp&nbsp&nbsp&nbsp- Need to stop playing, edit node connections, then start play again

Building a Node Graph

– Start with an empty gameObject that just has a NodeGraph script
&nbsp&nbsp&nbsp&nbsp- NodeGraph can have 0 inputs and outputs
– Create children gameObjects that will hold main NodeGraphs for this overall object
&nbsp&nbsp&nbsp&nbsp- The NodeGraphs for these objects cannot have 0 inputs AND 0 outputs
&nbsp&nbsp&nbsp&nbsp- They must contaion AT LEAST 1 input or output
&nbsp&nbsp&nbsp&nbsp- Adding an input or output to them will make the node appear in the overall NodeGraph in the parent object
&nbsp&nbsp&nbsp&nbsp- The internal NodeGraph (the NodeGraph of this specific child gameObject) will have separate input and output nodes
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp- It will remove the corresponding node if you specify 0 inputs or 0 outputs

Human Fall Flat Workshop – Getting Started

April 18, 2019

Human Fall Flat Steam Workshop

Original Human Fall Flat Workhop Steam Group Page

Steam – Human Fall Flat Workshop

Setting Up Human Fall Flat Workshop in Unity

Steam – Human Workshop: Getting Started – Configuring Unity, Making your First Level, Publishing and Subscribing to Levels

This documentation gets you through the process of initially setting up Human Fall Flat Workshop to work in Unity. It starts with the proper version of Unity, which is 2017.4.13f1. You create a new 3D project and import the workshop Unity package that is part of the Human Fall Flat game files you get from Steam. Then, close out of Unity and copy over the “Project Settings” folder from the HFF game files into your Unity project, overwriting the existing “Projece Settings”.

That’s the gist of getting it all setup in Unity. The rest of the documentation gets into setting up your first level and getting a basic understanding of the core objects such as the Spawn Points and Pass Triggers.


Editor Improvements and Node Graph System

Steam – Human Workshop: Editor Improvements and Node Graph System

This write up talks about overall Editor improvements for the workshop, such as being able to teleport the player anywhere in the scene to help with testing and a lot about the signal event references and node graphs.

This documentation has a Node List with simple descriptions of what all the different nodes do in the node graphs, as well as a lot of helpful hints and functions for organizing and utilizing the node graphs. This covers topics such as color coding nodes, using nodes and their inspectors in general, and how to properly use the cheat nodes to efficiently debug/test. This is a very useful resource for getting started with the node graphs for HFFWS specifically.


HFFWS Discord

There is also a discord community for the HFFWS that can be a useful resource for getting help figuring out different aspects of this tool as well as getting player feedback for creations.