Jump to content
Khaikaa

Beating Intersect Engine Limitations: Multilingual Quest System

Recommended Posts

Hi everyone,

 

Today I'm starting a little tutorial section in order to teach you some ways I use to beat some limitations of the current versions of intersect. This time I'll talk about multilingual quests.

 

As you may know, there is no way to translate quests to different languages in intersect. The only thing we can do is creating 1 quest for each different supported language. Imagine the first quest of a game, the tutorial(for example). You'll have to do a tutorial quest in english, a tutorial quest in spanish, a tutorial quest in portuguese... and so on. The problem here is how can we easily check if a player completed the quest or not. Lets see what I mean with a little example:

 

Imagine that there is a npc in our game that will let us pass through a door after we complete the tutorial. How can we do this? Well, we can make tons of conditional branches or spawn conditions lists for each version of the tutorial quest, but this is so messy. So... how could we solve this kind of problems?

 

There is a magic word in intersect: variables! 

 

We can create a variable called "tutorialQuestProgress" and edit the quest start event and quest task completion events. When a player starts the quest(no matter the language he chose), that starting event will set our "tutorialQuestProgress" variable to 1. We did it! We now have a easy way to know if a player started any of the tutorial quests! If that variable value is greather than 0 we know that the player started that quest. With each completion task events we will be changing the value of our variable.

 

Imagine that our tutorial quest has 2 tasks. Well, our variable's value will be 0 if we havn't started the quest yet, 1 if we just started the quest, 2 if we completed the first task and 3 if we completed the second task(and, as our quest only has 2 tasks, that means that the player completed the quest). So, if we want to know if our player has finished the quest, we only have to check if the variable's value is equals to 3. That simple!

 

I hope this little tutorial helps someone! We are currently working with it and the amount of work has decreassed a lot. Regards!

Share this post


Link to post
Share on other sites

You mean that for the missions would it be multi language?

What about items that should have unique names? Events? Name of the maps that appear next to the name of the player? Among other things in the game they should have unique names, such as warnings on server-strings, client-strings. Technically the game would still predominantly be in one language only.

 

If it is the Creator's need to translate only all the missions of the game, simply create Player Switches for each language.
When the player enters the game chooses the language he wants. The events then check which switch is on and display the speech in the selected language.

 

There would still be a need for a mission for each language, the npc still checking for this condition of the mission switch would give the mission of the specified language.

That is, there would be a lot of copy and paste changing only conditions based on the option that the player chooses at the beginning of the game. It would be possible to change the missions, speeches of events and etc.


But the intersect limitation continues, as for event names, map names, name of items, name of spells, name and etc ... depending on how many languages the creator wanted to have, would have to share all this information in the descriptions of each thing.

Share this post


Link to post
Share on other sites
3 hours ago, Weylon Santana said:

You mean that for the missions would it be multi language?

What about items that should have unique names? Events? Name of the maps that appear next to the name of the player? Among other things in the game they should have unique names, such as warnings on server-strings, client-strings. Technically the game would still predominantly be in one language only.

 

If it is the Creator's need to translate only all the missions of the game, simply create Player Switches for each language.
When the player enters the game chooses the language he wants. The events then check which switch is on and display the speech in the selected language.

 

There would still be a need for a mission for each language, the npc still checking for this condition of the mission switch would give the mission of the specified language.

That is, there would be a lot of copy and paste changing only conditions based on the option that the player chooses at the beginning of the game. It would be possible to change the missions, speeches of events and etc.


But the intersect limitation continues, as for event names, map names, name of items, name of spells, name and etc ... depending on how many languages the creator wanted to have, would have to share all this information in the descriptions of each thing.

 

In this tutorial I'm only talking about quests. There is a way with variables to make it multilingual(except for item/spell descriptions&names, constants... etc), but I'm not talking about that here. If you ever tried my game you would notice that I already did the select language event(and, as long as I know, I'm the first one who did that).

 

I think you didn't get the point. I'm gonna try to explain it better with another example:

 

Imagine that you have a weapon system in your game just like my own(there is 1 master for each weapon available in your game who gives you 1 quest for each level you can reach with every single weapon. Lets say that we have 6 weapons with 3 levels each, that would be 18 quests. Now imagine that the game is multilingual and supports 3 languages(in my case, spanish, galician and english). You have to do these quests for each language, so 18 x 3 =54 different quests. Now imagine that you want to have the possibility to change the game language at any momment(as you can do in my game). That mean you could make the first quest of the sword in english and the second quest of that same weapon in galician. Now imagine that you want all these npcs checking if you are currently doing any quest and, depending on which quests you already did and which quest are you doing at the momment, do some stuff. Congrats, you have 54 conditional branches to play with. That's what I solved doing this, and that's why I wrote this tutorial.

Share this post


Link to post
Share on other sites
Just now, Khaikaa said:

In this tutorial I'm only talking about quests. There is a way with variables to make it multilingual(except for item/spell descriptions&names, constants... etc), but I'm not talking about that here.

I understand. But it's because items or maps, or npc and etc. They may be connected with the mission. Kill npc right, get a certain item, and various things. Its system is also good, could be mixed with other systems as well as the tutorial of the moscano. But I understood basically.

 

Just now, Khaikaa said:

Imagine that you have a weapon system in your game just like my own(there is 1 master for each weapon available in your game who gives you 1 quest for each level you can reach with every single weapon. Lets say that we have 6 weapons with 3 levels each, that would be 18 quests. Now imagine that the game is multilingual and supports 3 languages(in my case, spanish, galician and english). You have to do these quests for each language, so 18 x 3 =54 different quests. Now imagine that you want to have the possibility to change the game language at any momment(as you can do in my game). That mean you could make the first quest of the sword in english and the second quest of that same weapon in galician. Now imagine that you want all these npcs checking if you are currently doing any quest and, depending on which quests you already did and which quest are you doing at the momment, do some stuff. Congrats, you have 54 conditional branches to play with. That's what I solved doing this, and that's why I wrote this tutorial.

Ahh, now I see, I really did not understand it that way. Good is a good way too.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×