The last few days have been pretty intense as I've been working to get a playable demo ready to show off at IndieCade East. I wanted to include as much new content as possible, so that I could gauge different players' reactions to the new direction that the game is headed in.
The portal system took a while to get right. There were still a ton of problems after integrating them into the game, and I actually ended up overhauling the entire system. In the previous version, I had all these triggers to detect when players were in different zones. Each trigger had a script and certain functions, so they were all cross referencing one another. For example, the detector to determine whether player was in range for the door to be open or not, would first check the detector to load the scene to see if the other scene actually exists.
It was way too confusing to manage, and when it came to debugging, it was a nightmare because I couldn't tell which trigger or which script was causing the problem. Eventually I rewrote everything so that the only thing the detectors do would be to turn one boolean value on or off, depending on whether the player was inside or not, and a central script, the portal manager, would handle all the different states and controls.
In hindsight, this seems like the obvious approach, but it was really only clear to me after the portals and their basic functions had been put in place.
Anyway, here are some gifs of the portals in action:
And also, screenshots from the latest build!