Jump to content

Photo

Is Tango still relevant ? (2.55 Alpha 115)

Tango 2.55 Alpha 115 String Dialogues Script

  • Please log in to reply
9 replies to this topic

#1 Pier

Pier

    Newbie

  • Members

Posted 19 September 2023 - 03:38 AM

Hello everyone,

 

I help a friend to make a quest by testing the game and making research when he don't know how to do something.

Recently, because the game is in French, I pointed out that the dialogues doesn't have accents so something like "Ganon a kidnappé Zelda" become "Ganon a kidnapper Zelda" which make a lot of grammatical errors during the quest.

 

By searching on this site, I found a ZScript library called "Tango" which allow to make a lot of things with text. I already use Zscript a little for other requests so I worked with this script as a base: https://www.purezc.n...=scripts&id=247and I managed to make an FFC Script to make NPC and an item script for pickup dialogues. I also parameted a style which use the "Small" font (used by my friend for his quest) but with extra space for accent version of characters which I created with tiles:

 

(Sorry, I use links for my pictures because they are automatically remove when I trie to post the message with them ^^')

https://drive.google...iew?usp=sharing

 

https://drive.google...iew?usp=sharing

 

 

When I was making these scripts, I realize some pros and cons of Tango compared to standard strings:

 

Pros:

  • I can place as much NPCs as I want, without scripting, I have to use the signpost combo type and a lot of copy-paste of these combos with differents parameters if I want to have more than one sign/NPC on the same screen
  • I can make some additions like allow Link to grab the item with one or two hands as we can see on the picture above or attached the "A" prompt to the character (instead of Link) and change automatically its orientation depending of Link position:

https://drive.google...iew?usp=sharing

 

Cons:

  • Apparently, caves are not really compatibles with scripts. If I can always use an pickup item script, I don't see how I can create an FFC that launch a dialogue automatically when Link enter the cave and vanish when Link pick the item. The vanish animation of the "Guy" of the cave don't play maybe because I use the combo type "Screen Freeze (except FFCs)" with Tango dialogues. So my friend have to create caves manually (and I have to create a script for shops, etc...)
  • The backdrop size is fixed by the style. I make 3 styles (one with small backdrop, one other with a bigger one and a last one with a big backdrop). If I can decide which style is used at the beginning of a script, I don't know how to change between two strings of the same dialogue (like talk to an NPC, use a string with the normal size backdrop then using the smallest one for his next sentence). Maybe be there is a way with @style but I didn't manage to make it work.
  • Tango ignore some special commands and parameters of the string created in the editor... like the one which can allow to have a backdrop of the size we want:

https://drive.google...iew?usp=sharing

 

 

Without Tango

https://drive.google...iew?usp=sharing

 

The same string with Tango:

https://drive.google...iew?usp=sharing

 

So, after all of that, my friend refuse to install my scripts on his quest because he thinks that this is way too complicated and will be a waste of time because there is surely a way to change a font and use accents with the editor without scripts or an update will arrive soon to allow this.

 

So there is my question: is Tango still relevant to use or it will be useless in the next few months or it is already useless because we can mimic most of its functionnalities with the standard strings of the editor ?

 

Thanks in advance for your answer and I wish you a nice day.

 



#2 Russ

Russ

    Caelan, the Encouraging

  • Administrators
  • Location:Washington

Posted 19 September 2023 - 05:38 AM

Some may disagree with me, but I think Tango is very relevant. There's so much stuff you can't easily do in the engine without it. Custom fonts are in the works for the engine, I believe, if not already done, but tango can do so much more than that. Aside from the scrolling text boxes, it provides a very fine degree of control over messages. I can have action in cutscenes playing at the same time as text is scrolling, or have textboxes move during gameplay (for example, lines shouted during a boss fight), both of which are very, very difficult without Tango. It also allows you to free type messages in the script buffer, where you have access to spellcheck, find and replace, and other tools that make it infinitely more convenient than typing in ZC's string editor. To address your cons, while the backdrop is set per style, nothing is keeping you from changing the style's backdrop via script after playing a message. While you create caves manually, yes, it's not that much trouble to rescript them, and while Tango ignores string editor commands, it has its own set to replace them. It's definitely a bit more work to use, but I find the pros outweigh the cons so much that I can never go back to using the string editor.


  • Taco Chopper, Bagu and Pier like this

#3 Moosh

Moosh

    Tiny Little Questmaker

  • ZC Developers

Posted 19 September 2023 - 10:19 PM

This is a conundrum. Tango is by no means irrelevant and I don't think it ever will be, but it's hardly something I'd recommend for a simple project. As you've pointed out, it doesn't work with caves or many of the other base engine features. Once you start using scripts, you'll find yourself using them to replace more and more things. Not ideal for a Zelda 1-like.
 
There has been some talk in the dev server about how to implement custom fonts, but I don't think that'll be a project for anytime soon. Not in the timetable of a few months you gave at least. Even then I don't expect the string editor will ever have all the functionality of Tango nor will Tango have all the functionality of the string editor. They're two different systems.
 
There are a couple more options worth mentioning here, though I'm not sure I'd recommend either:

  • Fonts in ZC are all stored in a dat file separate from the executable. You can open modules/fonts_classic.dat and modify its contents with the Allegro Grabber tool. If you're packaging your quest as a standalone folder with the ZC install included, it can use these modified dat files and a couple quests have done so in the past. There's a modified version of Armageddon Quest in Japanese that I've seen someone play as an example. Downside here is if you open it in a version with the wrong dat files, the fonts will show incorrectly and this would make updating versions inconvenient. It could even render the quest non functional if you use it in a version where the dat file's structure has been changed. Uploading a whole ZC folder to the PureZC database is also not allowed, though I believe some older quests have included custom dat files with setup instructions.
  • Strings control codes in the editor can draw arbitrary loose tiles as characters in a string. This is probably suboptimal for accent marks as you'd be writing out a string of like 20 characters just to place one accent. But it's a thing that can be done and there's a visual UI to insert these codes with the "Insert SCC" button.

So yeah, sorry ZC is so unfriendly to non English speakers. A lot of this comes down to the program's age and the fact that we use ASCII fonts. Having some unicode support would be ideal, but also a compatibility nightmare.


  • Taco Chopper and Pier like this

#4 Anthus

Anthus

    Lord of Liquids

  • Members
  • Location:Ohio

Posted 19 September 2023 - 11:04 PM

 

This is probably suboptimal for accent marks as you'd be writing out a string of like 20 characters just to place one accent.

 

This is one of the most ZC things ever tbh.

 

That said I don't have anything to add, I have never used tango because I'm not very script savvy, unfortunately.



#5 Taco Chopper

Taco Chopper

    protector of the darn forum

  • Moderators
  • Pronouns:He / Him
  • Location:South Australia

Posted 20 September 2023 - 07:52 AM

The native string editor probably has some great functionality now in 2.55, but I'm in much the same boat as Russ. I don't think the native string editor can do stuff like this (devs prove me wrong) - and that's where Tango really shines, honestly.

 

It's a case of depending on what you want - whether you're looking to stick to what the native string editor offers, then absolutely do so. But I'm very much in the same position as Russ, particularly when I a) didn't use ZC for ten years, and b) barely knew how to script when I first used ZC. 

 

also the fact that i can just edit all of my strings in notepad++ and have a much less difficult time changing anything i need to than if i was using zc



#6 Pier

Pier

    Newbie

  • Members

Posted 23 September 2023 - 05:29 AM

Thanks everyone for your answer. As I can see, Tango is the best option to add accents characters and this is not for tomorrow that we can easily implement them directly with the editor.

 

There are a couple more options worth mentioning here, though I'm not sure I'd recommend either:

  • Fonts in ZC are all stored in a dat file separate from the executable. You can open modules/fonts_classic.dat and modify its contents with the Allegro Grabber tool. If you're packaging your quest as a standalone folder with the ZC install included, it can use these modified dat files and a couple quests have done so in the past. There's a modified version of Armageddon Quest in Japanese that I've seen someone play as an example. Downside here is if you open it in a version with the wrong dat files, the fonts will show incorrectly and this would make updating versions inconvenient. It could even render the quest non functional if you use it in a version where the dat file's structure has been changed. Uploading a whole ZC folder to the PureZC database is also not allowed, though I believe some older quests have included custom dat files with setup instructions.
  • Strings control codes in the editor can draw arbitrary loose tiles as characters in a string. This is probably suboptimal for accent marks as you'd be writing out a string of like 20 characters just to place one accent. But it's a thing that can be done and there's a visual UI to insert these codes with the "Insert SCC" button.

 

  • For the first option, I can understand for a Japanese quest because there is no usable character with native strings and use Tango and its command "@([...])" for EVERY character will be very annoying. However, this way less interesting when we need only some new characters and we risk to lose a lot of players if they have to do several files manipulation in order to play the game properly.
  • For the second option, I already saw this option but as you can see on this image (https://drive.google...iew?usp=sharing) the Small font is... Well... Too small (^^') to have accent characters with this method (this is why I had more space while configuring the font with Tango).
     

Maybe when my friend sees the other options downsides, he will agree that Tango is the best option to have accents.

Then I can work to make Tango compatible in other cases (Guy in caves, shop, etc...)... After I managed to finished another script that I started few days ago "while waiting for anwsers" but this will for another topic ^^'.



#7 Shoelace

Shoelace

    The Shaman of Sexy!

  • Members
  • Real Name:Michael
  • Pronouns:He / Him
  • Location:Arizona

Posted 11 February 2024 - 04:03 PM

Sorry to bump this thread back up but I was going to make a similar thread.  So, I am back making my game and I am moving it to 2.55.  The game uses Tango and I was having all sort of issues with it, which is part of the reason I stopped making the game. lol.  So, I am going to update the Tango file again to see if I can figure out the issues.

 

Anyways, do you know where I can get the most up-to-date Tango version for 2.55?  I just want to make sure I am working with the latest and greatest, so I can recreate the types of messages/menus I had.

 

Is there a open source Zelda Classic quest that uses Tango so I can study the scripts on how Tango is used;  Ones with Messages and/or Menus.  I bet I was just doing it way wrong; I was never able to get help previously, but to be honest, I probably just didn't ask the right questions.  If I can see how people make them usually, maybe I can figure out what I was doing wrong.

 

Last question:  I use Cave Dmaps and I was reading above that it doesn't work in Cave Dmaps.  Are we talking about only when it is Guy in Caves, Shops, etc.  If so, I don't really use the Guy in Caves, however, I never done tested it thoroughly with shops or whatnot.  Do you think I am in trouble if all of my game uses Cave Dmaps? and my Start Menu for example uses Tango?

 

I appreciate you guys, hope I can get a few answers. :)



#8 Taco Chopper

Taco Chopper

    protector of the darn forum

  • Moderators
  • Pronouns:He / Him
  • Location:South Australia

Posted 12 February 2024 - 12:37 AM

Anyways, do you know where I can get the most up-to-date Tango version for 2.55?  I just want to make sure I am working with the latest and greatest, so I can recreate the types of messages/menus I had.

I believe whatever's included with the latest nightly/stable version of 2.55 will be the latest. It's tango.zh (the version is 1.3.3) in the headers folder in ZC.

Is there a open source Zelda Classic quest that uses Tango so I can study the scripts on how Tango is used;  Ones with Messages and/or Menus.  I bet I was just doing it way wrong; I was never able to get help previously, but to be honest, I probably just didn't ask the right questions.  If I can see how people make them usually, maybe I can figure out what I was doing wrong.

If you want I can send you some example files (over Discord, probably) that I used to set up Tango for Three Crests and The Enigma of Basilischi! It takes a little bit of setup so if you're not too familiar with scripting it might seem initimidating. But it's more of a matter of things like fonts, textbox setup etc.
The scripts you need to get it working would be:

  • customTango.z, to import the Tango header and set up standard settings like scroll speed, sfx conditions, the layer the textbox draws to, etc
  • TangoHandler.z, to run your custom Tango settings such as graphics for textboxes, cursors, font setup, etc

There's a couple others I have set up but I assume they're more customised for what I/you may need to use them for:

  • tangItemPickup.z for item pickup strings
  • tangoStrings.z for NPC strings - this will be the bulk of where your time will be spent if you're going to be dialogue intensive. It's fun once you get the hang of it, trust me!

Last question:  I use Cave Dmaps and I was reading above that it doesn't work in Cave Dmaps.  Are we talking about only when it is Guy in Caves, Shops, etc.  If so, I don't really use the Guy in Caves, however, I never done tested it thoroughly with shops or whatnot.  Do you think I am in trouble if all of my game uses Cave Dmaps? and my Start Menu for example uses Tango?

Do you mean cave rooms, or interior dMaps? It will be absolutely fine with the latter.

The way I set it up - and this may be a case of YMMV - is with Moosh's NPC script. It shouldn't affect caves - but it sounds like the cause of Pier's issues was to do with using Screen Freeze (Except FFCs) combos rather than cave rooms specifically.



#9 Russ

Russ

    Caelan, the Encouraging

  • Administrators
  • Location:Washington

Posted 12 February 2024 - 11:07 AM

Similarly to Taco Chopper, I'm happy to share some tango setups with you. I've actually got two different setups. There's one used in Yuurand and Depths of Malice (the latter of which has all its script files packaged with it on the database download) and a different one Moosh built for Stellar Seas (I can share the files with you over Discord). They both work a little differently, cuz tango gives you some flexibility. The one in Depths of Malice launches from whatever script is calling the tango string. That is to says, I've got my tango functions, and if a script for an NPC were to display a tango message, that script would handle everything itself. The one in Stellar Seas is a bit more involved, as it passes everything to the global script to process and run. That makes it a bit less newbie friendly (more steps, more confusing), but ultimately a bit more powerful in what it can do. I'm happy to walk you through either of them. Tango gives you quite a bit of flexibility, and there's no right or wrong way to use it. If you wanna understand how it works, seeing multiple set ups can be useful. If not, just copying somebody else's and using it should suffice.



#10 Shoelace

Shoelace

    The Shaman of Sexy!

  • Members
  • Real Name:Michael
  • Pronouns:He / Him
  • Location:Arizona

Posted 12 February 2024 - 11:16 AM

I believe whatever's included with the latest nightly/stable version of 2.55 will be the latest. It's tango.zh (the version is 1.3.3) in the headers folder in ZC.

If you want I can send you some example files (over Discord, probably) that I used to set up Tango for Three Crests and The Enigma of Basilischi! It takes a little bit of setup so if you're not too familiar with scripting it might seem initimidating. But it's more of a matter of things like fonts, textbox setup etc.
The scripts you need to get it working would be:

  • customTango.z, to import the Tango header and set up standard settings like scroll speed, sfx conditions, the layer the textbox draws to, etc
  • TangoHandler.z, to run your custom Tango settings such as graphics for textboxes, cursors, font setup, etc

There's a couple others I have set up but I assume they're more customised for what I/you may need to use them for:

  • tangItemPickup.z for item pickup strings
  • tangoStrings.z for NPC strings - this will be the bulk of where your time will be spent if you're going to be dialogue intensive. It's fun once you get the hang of it, trust me!

 

Oh Wow, I didn't even notice it in the header folder.  Thank you Taco Chopper!!! :)  

 

If you don't mind, I would love to see example files over Discord (I am at work, so I will drop by later this week).

 

Do you mean cave rooms, or interior dMaps? It will be absolutely fine with the latter.

The way I set it up - and this may be a case of YMMV - is with Moosh's NPC script. It shouldn't affect caves - but it sounds like the cause of Pier's issues was to do with using Screen Freeze (Except FFCs) combos rather than cave rooms specifically.

 

Sorry, my brain went back to 2.10 days.  They used to be called Cave Dmaps, I forgot they switched the names to interior dmaps.  So Yes, I am strictly using all Interior Dmaps for me game... which doesn't sound like it will have an issue then!  Thank you for clearing it up.


  • Taco Chopper likes this



Also tagged with one or more of these keywords: Tango, 2.55, Alpha 115, String, Dialogues, Script

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users