Hi everyone! i start to say that i’m new to this software, and this world in general (In past i’ve tried similar softwares but i’ve never started a project). Basically i’m a commercial graphic designer (0 skills with coding, except some HTML i learned with wordpress lol) with acting education, and i did a lot of creative writings of shorts and theatrical comedy/drama during those years. So i want to test this program (and myself) with a story driven game, with some dialogue multiple choice without any impact on the story, it will be a short game with just 1 ending.
The problem is: i want to do a multilanguage game, in italian (my native language, so sorry for my english, just in case xD) and in english.
I’ve done some researches and find that if i want to do something like that i need to use JSON files with a software called YARN. I’ve read this This Tutorial but it sound a little bit confusing to me, at the moment.
But it’s not just about dialogues, the “ambient” of the game will be a smartphone OS and it will have various texts on it, like apps, notepads , fake chats (with dialogue choices too) and so on… so i’ll need to translate fixed textes and dialogues too.
My first tought was about create 2 games on the same project. So if the game will have 10 scenes, i will create 20 scenes, 10 in italian and 10 in english, with the same events and triggers, but different languages, and the first scene will depend on the chosen language in the options, then the first italian scene will connect with all the italian ones, same for the first english scene. It sounds a bit confusing maybe, and also a big work i think. It’s that a good tought or is just impossible or hard? With Yarn will be easier?
Actually i’m just working on the story, and before i start i want to know if i can do this with gdevelop…there are some “beginners” or “deep” tutorials for it?
Sorry if it sound confusing, I hope i’ve explained myself
Dipende da quanto testo vuoi usare. Se non è tantissimo, allora puoi tranquillamente usare i TXT e assegnare loro le frasi preimpostate in base alla lingua. Una casa del genere, per esempio
Ciao! Essendo tutto in fase di scrittura, non so quanto testo potrà uscire, ma non sarà poco dato che tutto il gioco si basa sui testi “di sfondo” e sulle discussioni!
Ancora non conosco bene le variabili e quant’altro, dato che tolto il tutorial iniziale ancora devo esplorare bene il programma…ma la domanda mi sorge per non iniziare in un modo e poi dover modificare tutto poi.
Cioè se inizio mettendo tutti i testi in maniera “normale”, inserendoli nel programma tramite appunto la funzione dei testi, magari mi ritrovo con un macello di roba da fare poi. E volevo capire più che altro se fosse fattibile su Gdevelop… diciamo che mi fascio prima di sbattere la testa, ma almeno con questa sicurezza lavoro più sereno xD
I also made a multi language dialogue tree syst0em
It’s easy
there is a variable for the language
1 English
2 Italian
3 German
there are 3 different JSON files, one per language
based on the variable number changes the json to load
My personal way (Just starting with the text part of my game) is:
A variable holds a value for each language: 0 for Spanish (My language), and 1 for English.
In the YARN file, each tittle starts with a number so I can read the branch of the respective language.
I save the value of the variable in a file so you don’t need to choose it each time, but you can change it when needed.
With that logic, if the town has enough resources to level up, a message is shown letting you know. In my events I have a: Make Message Text =Take text from branch: Variable(Language)+“Level”.
Since the text is more than one line, I do a repeat with a variable (0 value) that reads the next line on the same branch (note) so it will read line 0 (first one). Displays the text, adds 1 to the variable and resets the timer. The next cycle, the repeat will read the next line (1, second line) and said text will be shown, next cycle, the repeat will run twice (2, third line), showing the text. When the variable reaches the limit of texts I am using (variable=3) then I reset the value to 0, so it starts again.
When the player finally levels up, I read the main branch again.