Exploration Effects and Scene Transitions
Incoming Transmission…
Welcome to the official Robozarro 2 dev blog— an inside look at the development of Robozarro 2, a PC and console game being developed in the Unity Game Engine!
Today I’d like to highlight progress that’s been made on Robozarro 2’s “Exploration Effects” and “Scene Transitions”.
First off, check out the YouTube video below— it shows off everything I’ll be talking about in the rest of the post.
Lots of pretty explosions, right?! ^^ And also, a couple of notes for anyone not familiar with Unity’s editor: the top screen in the video is Unity’s real-time editing window, and the bottom screen is what the player actually sees while the game is running. (You can ignore everything on the right side of the screen.) I decided to record this video in-engine so you could see the blasted objects and particle effects freezing in place, and then resuming their actions when the player comes out of a Battle/Hacking scene. It’s a little behind the scenes look at the engine handling the effects and transitions!
While developing Robozarro 2, so far I’ve separated the work into three categories:
1: Exploration Scenes.
2: Battle Scenes.
3: Hacking Scenes.
This is because each type of scene has different needs in regards to programming and functionality, and ultimately serves as a different pillar of RZ2’s gameplay.
For a few week’s now I’ve had some cool explosion and bullet effects working in the Battle Scenes. However, the Battle Scenes are merely a JRPG-inspired reflection of the action that unfolds on the Exploration Scenes, and therefore any effects that can occur in one scene, also need to occur in the other. Because of that, I’ve spent the past two weeks modifying the Battle Scene Effects, so that they work in the Exploration Scene as well. Thanks to Unity, this process was fairly painless, and none of the effects needed to be recreated from scratch. Most of the work went into programming the behavior of the Exploration Objects, as opposed to the Exploration Effects themselves. Some key areas of the work included:
A: Having barrels react to bullet hits using real-time physics.
B: Having barrels explode when being thrown into walls and other objects using real-time physics.
C: Pausing physics and particle effects when transitioning into Battle/Hacking Scenes (more on this later).
When tackling the “behavior” of the effects, another thing I had to figure out was how I was going to “pause time” (thus pausing the effects) when transitioning the player between an Exploration Scene and a Battle/Hacking Scene. And of course, because time gets paused during the transition, time then needs to get resumed when the player ends up back in the Exploration Scene. This meant experimenting with different ways to transition in and out of scenes, digging into Unity’s Load/Async Load features for the first time, learning how to switch to different game cameras, and other fun stuff.
As you can see in the video above, I got everything working! Yeah, it’s not super flashy yet— we’re entering/leaving scenes with a standard back fade, there’s no victory animations post-battle, or similar fancy/fun stuff going on (also I’m triggering the battle and hacking scenes by pressing Debug buttons on the keyboard), but it works!
Where do I go from here?
While there’s still a mountain of work to be done on the game’s battle system, I’m going to shift work to the player’s Inventory and NPC Shops, so that the player can use items during battle. For the record, I had Inventory and Shops working in the GMS2 build of the RZ2, but now it’s time to tackle those things in C#/Unity. The Inventory and Shops will likely take a couple of weeks to get working, but I’ll try to have a progress update for you before then.
Thanks for stopping by!
Transmission Complete.
-Matt