Each room allows for a binary response: yes / no, true / false, a / b, and one of two doors opens based on the response. A console with two buttons sits between the doors.
A problem:
Right now in Horizon I’m working on elevator style doors that can animate open and closed using the ‘move to over time’ code block. This is working well, EXCEPT I can’t figure out how booleans work in here, or I’m doing something dumb. I’ve created a boolean variable “isOpen” and when the trigger is entered it checks: ‘if isOpen == false” to know if the door should be opening or closing, but it doesn’t seem to be working. If I remove the if statement with the boolean I can open the door just fine. I find visual programming challenging in this way, because you need to know exactly how code blocks need to be combined, and sometimes it feels like you need to know a secret handshake to make them work.
But then again, there is a decent chance I’m just doing something dumb.
….later….
I’ve loved Ed Emberley ever since finding one of his drawing books at my grandparents’ house as a young child. He created a series of drawing books for children in the early 70’s that demonstrated how to draw hundreds of different animals and houses and cars and boats and people and trains and monsters and…. all out of simple shapes.
I thought about him as I began modeling animals in Horizon. I want to find a style that works with the low poly primitive shapes available in Horizon, as well as the memory limitations. It’s kind of fun to embrace the limitations rather than struggle against them.
Below are some really rough and early tests:
I’ve got a basic functioning conveyor belt working. I suppose it’s more a series of chutes with a mechanical arm that pushes objects along, but it works for my purposes.
I created a ‘tread’ object that will animate and push objects along the belt, then created two invisible objects, one at the start point of the stretch of conveyor, and one at the end. I use these points to animate the tread:
At the end of each stretch of track there is an invisible object that looks for a collision with any object pushed along the conveyor belt. When a collision occurs, the object being pushed along the conveyor is moved to another point in the scene, to simulate it going thru a tunnel. This just makes it easier to get the object around a corner, and I could use this to spawn a different object, simulating a transformation. Code on invisible object:
I’m excited I got this working, as it opens up all kinds of factory and Rube Goldberg-ish possibilites.
Sketches:
I’ve been working on a world where the player needs to go around various spaces and eat everything in the space to move forward. The biggest challenge for me so far has been how to get a reference in code for the player’s head? What I want is to add code to every edible object:
If edible object collides with player head object, edible object plays sound, plays particle FX, hides, and sends an event to an Uber game object that is keeping track of scoring.
I can’t figure out how to get a reference to the player head, so for now I’ve created a wearable / attachable mask that the player needs to put on. The mask contains a trigger that collides with objects tagged ‘eat’, and the edible objects also have a script that reacts to collision with objects with the ‘head’ tag, which the trigger has.
<insert screen cap of edible code>
<insert screen cap of head code>
<insert gif of eating in Horizon>
I’m happy with the way this works, and the mask adds to this particular game experience, but I don’t want to have to force masks for every situation.
I found a different kind of weird workaround, where if I make the edible object attachable to the head like a hat, it will trigger the onAttach event and I can play code that way. I don’t know if that will work for multiple edible objects, though, and seems pretty clunky.
I’m going to keep looking and will update this post when I find more.