Dev Blog #13: Cutscenes and More Refactoring
During this sprint we've started using Unity's new feature: Timeline. If you haven't heard of Timeline, it's Unity's solution for things like scripted events. You can create a timeline with animations to play at certain points, game objects to activate, and even extend it with calls to your own code.
We have a few different uses for Unity Timeline, but first we need to know how it works! So we've been spending time getting to know its features, and creating some custom Playables that connect to our game code, so we can get a feel for how we'll be able to implement things like cutscenes and little events like that.
Speaking of Cutscenes, they are the main thing we plan to use Timeline for. As part of getting to know Timeline, we created a test cutscene and hooked it up to some of our game features as a proof of concept.
In this test example, we have two NPCs go to a predetermined meeting place, have the camera focus on one of them, play an animation, and then start a bit of dialogue that branches according to player input.
This touches on a lot of different features that the real in-game cutscenes will need, which was the point of the exercise. Figuring out how to implement each of these pieces will make setting up the real cutscenes a breeze.
Another thing that you may have already heard about: Unity bought an Asset called Cinemachine a little while back. Cinemachine uses virtual cameras to make camera management in game development WAY easier, and offers smooth transitions and more flexible scenes without much extra development time.
It also happens to be integrated VERY well with Timeline, so we are slowly changing our game to use Cinemachine for its camera work. You can see some of the fruits of this labor in our test cutscene above.
Refactoring for Saving and Loading... Still!
It's been in development for a long time, but we really want to get this right! We are still working on the deep code changes that we need to support saving and loading game scenes.
We've learned so much during the development of Lost Haven so far, and we're putting that knowledge to good use by maintaining our code as we go.
This isn't SUPER exciting to talk about (unless you're a developer, like me) so I'll just say that it's going to make our game much easier to improve upon later.
We've said this before and it didn't quite work out the way we hoped, but we mean it this time: we have some user interface design in the works and it's looking fantastic. No sneak peeks yet, but soon we'll be finalizing our design decisions and start to implement an interface that is going to rock your world.
We have one test cutscene done, but there are more little quirks and features we want to make sure we have locked down. So, we're going to be working on another test cutscene exploring a slightly different set of features. Creating a game world that is lively and interesting is one of the main goals for Lost Haven, so we need to be sure that we have the ability to get these characters moving and interacting during cutscenes in a way that feels real.