Making a scripted introduction

Godot Version

4.5.1

Question

Hello y’all! I’ve just been getting into game developement, now a few weeks in. I’ve made some basic projects (such as a Frogger clone) thanks to some follow-along tutorials on YouTube, and I’ve just started working on my first personal project just about a week ago. Its a murder mystery type game with Pokemon based graphics (the GBA ones).

I want to make an introduction segment, similar to when in Pokemon Ruby the main character’s mom presents the village to the player and takes him into the house. I’m not yet familiar with all of the gamedev therminology or its concepts, and English is not my first language, so I haven’t been able to find any tutorials on this topic because I don’t even know how to properly phrase it.

With the knowledge I currently have I know I could achieve this by 1. taking control away from the player via script and 2. animating the whole scene frame by frame so the characters move exactly when and where I want to. The thing is, I have a feeling this is not the most optimal process, and I’m wondering if you guys know an easier way to do this. In my mind this sounds like it should be really easy to do since its just NPC movement and a few dialogue boxes, but I might be being too naive about that.

I was also wondering if there’s a way to “act it out”, as in moving the NPC characters myself, “recording” it, and then pasting it together to create the whole scene, like making a video part by part while controlling all the actors.

Thanks in advance to anyone who reads this and sorry if my questions are too dumb. I’ve been trying to figure this out for a few days and I didn’t know where else to turn to.

Your questions aren’t dumb. Not knowing how to do something and keeping quiet is dumb.

I’m not familiar with Pokemon Ruby, but I think you likely have the right approach in mind. You won’t need to do it frame by frame though - I would likely set up a navigation path for the character to follow. You don’t need to record it - just make it so you can reproduce the scene at will.

I suggest that you create what you have in mind. Once you see how it works you will have a better idea of whether it is what you want. Then, if there is something specific you don’t know how to do come back to the forum and ask that question.

For cutscenes (I believe that is the term you’re looking for) you might want to look into the AnimationPlayer. It will allow you to set keys for camera and character movements, basically anything you really need for making basic cutscenes.

Disabling character controls for the player is usually achieved by using something like a boolean switch that prevents the movement code from running in script, or use a State Machine.

Alternatively, the quick and dirty way: You can just use a ‘dummy’ character, a copy of the player (or any other character) without any scripts attached and control movements/positions via AnimationPlayer or another script that manages the entire scene.

I don’t think there is only one ‘true’ way of handling stuff like this. Everything can just be as simple or as complex as you want to make it. I would just experiment with different setups and just pick with what works best for you and the project.

Thank you both for your responses! I always associated the term “cutscene” with something cinematic and out of the playable game’s aesthetic (like in Final Fantasy VII when the game blacks out and suddenly plays a really realistic scene that doesn’t quite resemble the game you’ve been playing). After looking up some tutorials on that, it was most definitely the keyword I was missing!

I’m also really pleased to find out the engine can “do the work for you” on the animations with the keyframes feature. All the animations I have made so far (simple ones like character’s idle/walk/turn animations) were frame by frame, so I expected that workflow to be an absolute for the engine. Having the engine fill out the empty space between to positions makes things sooo much easier.

Honestly this lifted my spirits a lot and I’m really glad I posted in here. Thank you both again :slight_smile:

1 Like