About scenes and granularity

Godot Version

v4.2.2.stable.official [15073afe3]

Question

I am trying to understand more about scenes and how I should split my data into scenes. I have read the documentation on scenes vs. scripts.

Let’s take Pokemon as an example. If I were to make Pokemon, would it make sense to make a scene for each creature? Or should I make a single Pokemon scene and load textures etc as needed using scripts?
Considering there are at least 3 different ways to display and use Pokemon throughout the games, would I need 3 scenes for each in the first approach? For example, a battle-scene for the Pokemon, a walking scene when encountering them in the wild, and a scene for their stat screens.

What about the move set? If I wanted to have animations such as fire moving to the opponent, would each of the hundreds of moves be a scene?

If I make a scene for the in-combat environment (background, weather effects, shaders…), I would have to instantiate my monsters depending on how many are needed. So I would call BattleScene.instantiate(), then instantiate the creatures that will be appearing, set their current status (hp, status effects, …) and load their move sets using scripts and then play start animations before the scene can begin. Is this the correct approach?

You seem to be looking for a single way to do this. There isn’t one. In the end, what is important is the game does what you want it to do.

To answer specific questions:

  • You could do a specific scene for each creature, but if there was shared functionality I would do one scene and swap out the assets.
  • Battle scenes, walking scenes, and stat scenes will all require different assets - but those assets do not have to be scenes - they can be nodes like a CharacterBody.
  • Move sets I would just use a sprite sheets for - using a scene would make things way more complicated.
  • The creatures you summon for a battle scene can be scenes, but they do not have to be. I use modified CharacterBodys because the underlying nodes can be used to move around the environment easily.

My advice - forget about what is “correct”. Do what works, but always keep an eye out for how to make it work better.