Jump to content
The Dark Mod Forums

Geep

Member
  • Posts

    1073
  • Joined

  • Last visited

  • Days Won

    58

Everything posted by Geep

  1. The subtitles for The Moor vocal set is now available for eventual incorporation into TDM: testSubtitlesMoor.pk4 "Vocal Script: Moor" describes him as "a foreign soldier from the south. He is a man of few words, fluent in English but with a strong (Nigerian) accent. He occasionally uses awkward phrases, and is as liable to communicate with a grunt or single word if that will do. He is tough, stern, and reserved, not given to a great deal of emotion." While not spelled out in the original vocal script, the accent/dialect performed had words that start with "th" (e.g.,"there, that") pronounced as "d" (e.g., "dere, dat"). This is what linguists call "th-stopping". Serious consideration was given to rendering the subtitles that way for flavor, but ultimately the original standard spellings were kept for ease of understanding. Statistics In file fm_root.subs there are 221 inlines, including: - 12 with an explicit linebreak, intending 2 lines - 209 without Of these, 15 were given explicit duration extensions, as follows: - 12 from 0.25 to 0.49, for 17 cps - 3 capped at 0.50 seconds, for 17-20 cps There are 3 SRTs, each with 2 messages apiece. Two of these were "tune hums" with a 2-second start message and later 2-second end message. The remainding SRT, with two sentences of text, could have just fit into an inline, but manual-word-wrapping within the second sentence would be poorly placed. With SRT, each sentence got its own message, and the manual linebreak in the seconds sentence was at a reasonable place. In all, for this voice, there are 224 voice clips with subtitles, showing 227 messages. Corresponding Excel File SubtitlesMoor.xlsx This is based, as usual, on Version 5 of the Excel Template for TDM bark subtitles.
  2. "...small mistakes ... which then take a while to figure out" sounds like the human game plan.
  3. You have to use backslash "\" to escape special characters, not forward slash "/"
  4. ??? I've been doing this, oh, forever, without a problem. Typical example line in fm_root.subs: inline "sound/voices/lady/tdm_ai_lady_alertdown_to_idle01.ogg" "I must have let my imagination\nget the better of me."
  5. As for implementation: Let's say the engine generated a sound source location (relative to the listener's axis, and only in the horizontal plane) as a unit vector in Cartesian coordinates. That is, the origin is at 0,0 and straight ahead is 0,1 straight behind is 0,-1 due left is -1,0 due right is 1,0 This would be passed to the gui as floats, e.g., soundDirN_x, soundDirN_y, where N is the subtitle slot number. The gui would take care of translating the origin and scaling the vector. For the oval, the scale factor would be different in the x and y directions. (This is an approximation of actual location on the perspective projection of a tilted circle, but should be good enough. And avoids any trig functions on the gui side)
  6. @stgatilov, I was originally thinking I could take your 5 values and, in the gui, do the inverse math to get back what you called in the engine code the "spatializedDirection" (normalized x,y vector from the listener to the source, relative to the listener's axis). But I realize that's impractical... math would need C++ Instead, let me show the end goal I was thinking about, through a mockup. The idea is to have a non-moving oval (representing a disc laid flat on the floor, in perspective), with a small colored square constrained to move smoothly along it, representing the direction of the sound source. In the mockup (attached cropped image), the oval is blue, the square is red, and the direction being indicated is front right. (Or maybe the ring should be dark red and the square light blue... or disk could be solid, etc.) The translucent field is 240 (out of 640) pixels wide, so the oval shown is roughly 30 pixels wide. The perspective could also be made more prominent, if instead of a uniform stroke width on the ring, the lower ("nearer") edge was thicker than the upper ("farther") edge. If implemented, the gui spacing between the 3 subtitle slots (not shown here) might have to be tweaked a bit to avoid overlaps.
  7. FONT NOTE: Starting with this test FM, to improve readability, the Carleton subtitle is compressed in width to 75% of its size in previous test FMs. The backing field is similarly reduced in width. These are implemented in the FM's custom-override guis/tdm_subtitles_common.gui. If desired, you may copy that file to previous test FMs to propagate the change. The subtitles for The Lady (aka Noblewoman) vocal set are now available: testSubtitlesLady.pk4 The wiki's "Vocal script: Lady" suggests these traits: As usual, the testing FM serves as the vehicle to provide these subtitles for eventual incorporation into TDM. Statistics In file fm_root.subs there are 243 "inline" subtitles, including: 37 with an explicit linebreak, intending 2 lines 206 without 17 of the inlines have explicit duration extensions, as follows: 11 from 0.25 to 0.49, for 17 cps presentation rate 6 capped at 0.50 seconds, for 17-20 cps none with more than 0.50 seconds There are 2 SRTs, each with 2 messages that respectively indicate start and end of singing/humming. No duration extension was needed, and none of the 4 messages contained a linebreak. In all, in this vocal set captioning, there are 245 voice clips with subtitles, showing 247 messages. Corresponding Excel File LadySubtitles.xlsx This is based on Version 5 of the Excel Template for TDM bark subtitles, which was also featured in the preceding work for Average Jack, The Pro, The Maiden, The Grumbler, and The Mature Builder.
  8. Probably the right way to fix Stone artifacting would be to provide the two missing 12-point files - stone/english/fontimage_12.dat stone/russian/fontimage_12.dat I gather, from the wiki's "Font Conversion & Repair", to do this, you'd - start with the ttf (formally, for the "Stone Print" font, available from, e.g., fontpalace) use some version of ExportFontToDoom3 to generate the two .dat files extensively test and tweak with font_patcher and q3font maybe some monkeying with .tga and .dds I didn't follow. I'm not going to attempt this myself (at least not this year). Maybe there's some experienced font hacker around?
  9. FYI. Just redid the stat analysis, assuming that the engine, after dividing Stone 24pt font width by 2 to get 12pt, then rounds up. In that case, the Stone string is still less wide than Carleton, but now only 4-5% less, instead of 7-8%.
  10. @stgatilov, both the compressed Carleton and Stone fonts look better than the original uncompressed IMHO. We could give the user a choice of either, while keeping the gui scale factor fixed at 0.25 (e.g., 12 pt). If Stone's artifacting you mentioned was not too problematic. I did a statistical analysis of those two fonts, and Stone strings seemed to be slightly less wide than Carleton by about 7% (however, Stone 24pt requires scaling down to get to 12pt, and the analysis may not be treating the resulting "half-pixel" widths right.) But if true, background field widths based on Carleton should still be excellent for Stone. Another topic. I'd like to play around a bit with the 5 sound-source-location variables you were using to position the white bars. In file tdm_subtitles_message.gui, these were of form: "gui::subtitle0_oriBackLeft" // where 0 if subtitle was shown in vertical "slot 0"; could be 1 or 2 and name suffixes were _oriFront, _oriFrontLeft, _oriFrontRight, _oriBackLeft, and _oriBackRight Could you briefly explain what values these could take on, how they would work or differ, how often they get updated? Thanks
  11. A "Style Guide" for how I have been doing the bark captioning has been percolating on my desktop for some time. In order to move it along, I have split it into 2 parts, and the first part is now available as a Word doc here: Subtitle Style Guide - Part 1 Part 2, the remainder, with more supplementary material, hopefully will be available around year's end.
  12. @stgatilov, I earlier read your 6283 description about 'So e.g. we can support fonts like "fonts/carleton@aspect=16:9" ', but I thought that meant there was a pre-created font variant with filename "carelton@aspect=16:9" to be distributed. But maybe "@aspect=16:9" is a gui keyword to trigger on-the-fly compression? [Duh, I guess I could just try that directly, but not at moment.] Yeah, I agree it's more confusing than helpful, and probably should be dropped. I'm sorry I suggested it (at least the idea of indicating location by a perimeter light; maybe not indicating volume too). I don't have a better idea at the moment. It would be interesting to play around with visually distinguishing "story" from "speech" subtitles. Lots of ways to do that, but having the enumeration available is the prerequisite.
  13. @stgatilov, would it be correct to say that the latest public 2.12dev contains the original 4:3 fonts, and does not distribute the narrowed 16:9 fonts (e.g., for Carleton and possibly Stone)? Also, I'd greatly appreciate it if you could expose a numeric variable whose value is set to indicate whether the current subtitle is of type "verbosity story", "verbosity speech", or "verbosity effect", that can be read (but not set) in tdm_subtitles_common.gui
  14. Added that to the trigger_sequencer synopsis on the Triggers wiki page.
  15. I'm just guessing at what your script function does, but maybe, after calling whatever reduces the stackable count by 1, do a wait for, say, a half second, before exiting the function. That might suppress redundant/re-entrant calls to the function. Or it that's not enough, add a pseudo-mutex within the same file, e.g.: float mutex; // outside any function body my_script_function() { if (mutex == 0) { mutex = 1; // call here to decrement stackable count sys.wait(0.5); mutex = 0; } } As for the target_itemremove, I'm thinking one would create an instance (the usual colored cube), then in its property list set "stackable_count" and/or "ammo_count" to 1. Then have your script function trigger it by name.
  16. The subtitles for The Mature Builder (aka Builder 3) vocal set are now available: testSubstitlesMatureBuilder.pk4 The wiki's "Vocal script: Builder3" suggests these traits for this cleric: "strong, intimidating voice, determined; archaic language; patient, talks about servitude, orthodoxy." Compared to other builders, this one seems to enjoy quoting scripture more often and at more length. As usual, the testing FM serves as the vehicle to provide these subtitles for eventual incorporation into TDM. Statistics In file fm_root.subs there are 315 "inline" subtitless, categorized as: - 52 with an explicit linebreak, intending 2 lines - 263 without 3 of the inlines have explicit duration extensions, as follows: - 2 from 0.25 to 0.49, for 17 cps presentation rate - 1 capped at 0.50 seconds, for 17-20 cps - none with more than 0.50 seconds There are 9 SRTs, including: - 8 with 2 messages - 1 with 4 messages None of these were given a duration extension. Of the 20 total SRT messages, there are: - 12 with an explicit linebreak, intending 2 lines - 8 without In all, in this vocal set captioning, there are 324 voice clips with subtitles, showing 335 messages. Corresponding Excel File MatureBuilderSubtitles.xlsx This is based on Version 5 of the Excel Template for TDM bark subtitles, which was also featured in the preceding work for Average Jack, The Pro, The Maiden, and The Grumbler.
  17. The subtitles for the The Grumbler vocal set are now available: testSubtitlesGrumbler.pk4 This character was described in the original vocal script thusly: "a cynical complainer. He’s got a rough job and a rough life and he wants to make sure everyone knows it. He’s pessimistic and grouchy. Not well educated." As usual, the testing FM serves as the vehicle to provide these subtitles for eventual incorporation into TDM. Statistics In file fm_root.subs there are 360 "inline" subtitles, categorized as: 64 with an explicit linebreak, intending 2 lines 296 without 64 of the inlines have explicit duration extensions, as follows: 37 from 0.25 to 0.49, for 17 cps presentation rate 26 capped at 0.50 seconds, for 17-20 cps 1 with more than 0.50 seconds, for 20 cps There are 4 SRTs, all with 2 messages apiece. Of those 8 total SRT messages, 4 have an explicit linebreak, intending 2 lines In all, in this vocal set captioning, there are 364 voice clips with subtitles, showing 368 messages. Corresponding Excel File TheGrumblerSubtitles.xlsx This is based on Version 5 of the Excel Template for TDM bark subtitles, which was also featured in the preceding work for Average Jack, The Pro, and The Maiden.
  18. I'm glad you enjoyed it. About the ending... The cutscenes were pre-recorded. I guess I pioneered their appearance in mid-game. If by "lagged a lot" you mean choppy, that's because my rig was underpowered hardware-wise to do a good job of playing the scene while recording it. So lots of dropped frames. If I had it to do over again, I'd invest upfront in a better desktop and/or external video capture box. But too tedious to do over now. Cutscene prep in general takes a large time commitment.
  19. The subtitles for the The Maiden (aka The Maid) vocal set are now available: testSubtitlesMaiden.pk4 This character was described in the original vocal script thusly: "This is a young female from the common class. She is probably a servant or tradeswoman. She is earnest and somewhat timid and used to being ordered around by her betters. She might complain when alone but she's always polite and proper to someone's face. Although some lines are included for armed characters, she is primarily going to be an unarmed character...." As usual, the testing FM serves as the vehicle to provide these subtitles for eventual incorporation into TDM. Statistics In file fm_root.subs there are 228 "inline" subtitles, categorized as: 39 with an explicit linebreak, intending 2 lines 189 without 4 of the inlines have explicit duration extensions. These are all in the range of 0.25 to 0.49 seconds, for 17 cps presentation rate. There are 6 SRTs, all with 2 messages apiece. Of the 12 total SRT messages, 2 have an explicit linebreak, intending 2 lines. In all, in this vocal set captioning, there are 234 voice clips with subtitles, showing 240 messages. Corresponding Excel File TheMaidenSubtitles.xlsx This is based on Version 5 of the Excel Template, which was also featured in the preceding Average Jack and The Pro work.
  20. To the "Subtitles" wiki page, I just added a new section, mostly drawn from this forum - "displaying_text_with_extended_duration_(new_for_2.12)"
  21. If this was a high-budget game, I could imagine someone repeatedly training up a text-to-speech LLM on an existing TDM AI voice. Not sure that's practical for no-budget TDM.
  22. @datiswous, I suspect this is possible if rather tedious for signs or 1-page broadsheets. You could arrange that the frob calls a script, and the script causes the player/narrator to say a custom .ogg file. That file would be just silence, of the same length as the desired subtitle duration for the translated text (or at least within 5 seconds of it, then using the duration extension methods). Alternatively, the narrator could actually "read aloud" the text. The complexity of the .gui for books is rather daunting, but maybe you could tie into page-turning events. I don't think you'd want to recommend this approach for general book translation throughout an FM. If for no other reason, making the .ogg files would be a pain. Also, it doesn't seem to me to extend to more than one subtitle language. I could imagine that, with engine changes, books could be made into first-class speakers (i.e., as if AIs), so you could optionally hear as well as read a book, and in any event see the subtitle in any language of the player's choice for which a translation is available.
  23. The console program "statsForSubtitles" is newly available, to produce the type of information shown in the previous post (although exact output format is now somewhat different). statsForSubtitles.exe - Window executable statsForSubtitles.cpp - C++ source code As usual, check the source code comments for more.
×
×
  • Create New...