How to create a quiz game

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Ellton

Hello everybody.

well, i’m trying to develop a question and answer project.
was wondering how i can make this system and how i can save a large number of data?
another important question assuming that my quizz game has several general knowledge options: math, physics, chemistry…
how can I make it appear only the questions of the themes that the player selects?
type of ten themes he selected three, how to load only the questions of those three themes.
and mainly how to take advantage of a single scene to ask the questions?

if you don’t understand what you mean let me know that I will answer again. I am determined to create a quizz game on godot.

:bust_in_silhouette: Reply From: Inces

It sounds like all those questiuons can be answered with : dictionary or JSON. You can create custom Resource class for all your categories ( like class_name category ) with exported dictionary. You can next make math, physics, biology and so on extend from this class and write questions and answers in their dictionaries in editor. This dictionary will propably have this type of structure, where key is a question and value is an answer ( unless You also want to provide a) b) c) answer options). It is unsure whether it will be comfortable to write all this text data in editor. You can always use GoogleSheet and write all text in chart ( Category, Question, Answer ), transform it into JSON, load it in Godot and make your game menager node iterate through resulting dictionaries instead of using resource class.

Both options have data structure where category is a big branch, that is divided into millions smaller branches - questions. So whenever a theme will be chosen, You will always be able to get questions only from this theme.

Both options will easily let You use just one scene. Menager node will randomly choose category, randomly choose question from that category, and check if typed answer is exactly the same as value paired to question in dictionary.