Godot Version
4.3
Question
Hi, I’m new to godot, so I’m looking for an advice.
I want to make a visual novel quest type of game. If you ever played old Nancy Drew games you know what I mean. Different NPC and relationships with them that impact available dialogs, location and npc schedules, time/date system, quest system, inventory, etc. I initially started working en Ren’Py since I know Python, but it is too restrictive on many things so I decided to go with godot. I have some desing/architecture questions and I’d like to get some help.
-
What is best way to store game state and story progression? Are there some pre-made patterns for godot or good guides on some design solutions? All things that I came up with ending up being overcomplicated so probably I’m doing something wrong. E.g should player’s relationship level and story be stored in player class or some other utility entity? How choices with delayed impact that will determine ending should be stored? Global variables?
-
For game like this, what is best approach for NPC/entities/Player design? Code each item separately and don’t be bothered about code duplication or use inheritance? Should NPC dialogue lines, answers and general interactions be handled by NPC itself or is it more convenient to have dialog processor that will change Player/NPC/game state based on input? E.g. I want to use a potion on an NPC, should I go with player.use_potion(potion, npc), or item_handler.use_potion(player, npc, potion) will be better in the long run?
-
Locations system. Have singleton locations that are changed based on game state (time, story progression) or create different variations beforehand?
I will also appreciate general advices, links to literature/instructions/articles on the topic and godotic way of doing things.
Thanks.