test content
What is the Arc Client?
Install Arc

COMING SOON: A Mission Proofreading Tool!

donperkdonperk Member Posts: 200 Arc User
You read that right, folks!

I'm working right now on a tool to condense and reformat a mission export file into a sort of screenplay file that you can then bring into a tool like Microsoft Word to do spelling and grammar checking on. It should even be able to help you find out if you have any pesky unnamed NPCs or ships.

I just started on it and the work is going really well. I'm testing it using stoutes "Collectiveness Strikes Gold I", "Collectiveness Strikes Gold II" and my own "The Sins of the Fathers".


UPDATE 6-NOV-2013 - BETA 1: This tool is now in a sort of beta state. I'm not distributing the tool yet, but anyone wanting to help find bugs in the tool and provide feedback is welcome to participate. Just send me a PM and I'll provide you with an email address where you can send your mission export file. I'll run your mission through the engine, deal with any problems that crop up and send you your formatted mission file output.

To generate a mission export:

  1. Bring your mission up in the Foundry editor.

  2. Run your mission or any map from it from the Foundry editor.

  3. In the chat window, type "/ugcEditorExportProject yourMissionName.txt". You will see a blank line appear in the chat window.

You can then find your mission export file in your <STO install directory>\Live\Data folder.

On my system, it was in: C:\Program Files (x86)\Perfect World Entertainment\Star Trek Online_en\Star Trek Online\Live\Data

Steam users will likely find it in: C:\Program Files (x86)Steam\SteamApps\common\Star Trek Online\Star Trek Online\Live\Data or something similar.
Post edited by donperk on
«13

Comments

  • stoutesstoutes Member Posts: 4,219 Arc User
    edited October 2013
    I am really curious how it will work out :D!
    maxvitor wrote: »
    Nerf is OP, plz nerf
    That's quite the paradox, how could you nerf nerf when the nerf is nerfed. But how would the nerf be nerfed when the nerf is nerfed? This allows the nerf not to be nerfed since the nerf is nerfed? But if the nerf isn't nerfed, it could still nerf nerfs. But as soon as the nerf is nerfed, the nerf power is lost. So paradoxally it the nerf nerf lost its nerf, while it's still nerfed, which cannot be because the nerf was unable to nerf.

    I call it, the Stoutes paradox.
  • castsbugccastsbugc Member Posts: 830 Arc User
    edited October 2013
    oh dear god yes!
  • paxfederaticapaxfederatica Member Posts: 1,496 Arc User
    edited October 2013
    Awesome! Thank you very much!

    How do you export missions anyway? I've never seen that feature in the Foundry editor. Is that a command-line ability or something?
  • thegreendragoon1thegreendragoon1 Member Posts: 1,872 Arc User
    edited October 2013
    This sounds excellent. I can't wait to see it.
  • donperkdonperk Member Posts: 200 Arc User
    edited October 2013
    Awesome! Thank you very much!

    How do you export missions anyway? I've never seen that feature in the Foundry editor. Is that a command-line ability or something?

    It's pretty simple. From the foundry, run your mission and then type the following in the chat window:

    /ugcEditorExportProject someprojectname.txt

    You'll get an output file in your <STO install directory>\Playtest\Data folder.

    I found out about it here: http://starbaseugc.com/index.php/trailers/essential-viewing/a-glimpse-of-the-future-mission-export/

    The result is a dump of all the objects in your mission. The reports I've seen run about 1,000 - 3,000 pages.

    There doesn't appear to be a way to import the file back, but at least you get this.

    I'm actually pretty close to having the formatting engine for Version 1.0 done already. It's bare-bones. It looks for what it wants in the export file and formats it into a plain text file -- but it's just what you need for proofing and is much easier to read.

    I'm hoping to have the engine done tonight and will slap a simple UI on it later this week.

    If there's a lot of interest, I'm planning a 2.0 version that will read in the file as a series of objects. That will give me the ability to display the results in Rich Text format (hopefully with spell-check highlighting) and be able to save the report in plain text, Rich Text, HTML, Word docx, Excel xlsx and PDF formats. That will be a lot more work, but will likely be worth the extra effort.
  • paxfederaticapaxfederatica Member Posts: 1,496 Arc User
    edited October 2013
  • lincolninspacelincolninspace Member Posts: 1,843 Arc User
    edited October 2013
    So essentially anyone can have a copy of all the perameters for your foundry mission in text form? Very interesting.
    A TIME TO SEARCH: ENTER MY FOUNDRY MISSION at the RISA SYSTEM
    Parallels: my second mission for Fed aligned Romulans.
  • donperkdonperk Member Posts: 200 Arc User
    edited October 2013
    So essentially anyone can have a copy of all the perameters for your foundry mission in text form? Very interesting.

    I haven't tried it in-game on someone else's map yet. I may try to confirm that right now. :) It will sure make editorial reviewing of other people's missions a bit easier if that's the case.


    EDIT: I have confirmed that you CANNOT export missions outside of the Foundry editor. This is probably true for any chat command starting with "ugcEditor".

    So the only way to get someone else's parameters is to have them export them and give them to you. This is how I got stoutes in-progress mission dumps for testing and review.

    By the way, the location of the mission dump files on my computer is: C:\Program Files (x86)\Perfect World Entertainment\Star Trek Online_en\Star Trek Online\Live\Data

    Your file location may be somewhat different, but should match the part starting with "\Star Trek Online_en\..."
  • azurianstarazurianstar Member Posts: 6,985 Arc User
    edited October 2013
    Oh my, quite clever. Kudos!


    It's wishful thinking, but be nice if that feature could be a normal function with the Foundry.
  • wombat140wombat140 Member Posts: 971 Arc User
    edited October 2013
    Hmm. Have you tried typing /ugcEditorImportProject someprojectname.txt ? Just a guess. Would be nice if you really could use this to import and export Foundry missions.
  • castsbugccastsbugc Member Posts: 830 Arc User
    edited October 2013
    I dont know if we will ever get import ability, just because its far easier to blanketly deny all access to their servers than to let a trickle of inbound traffic not from their own client.
    But we can wish and dream though.
  • kirksplatkirksplat Member Posts: 0 Arc User
    edited October 2013
    I can't wait to see this in action. A spell check would be a godsend for us. It's just too time-consuming and error-prone to copy and paste dialogues back and forth from word.

    If you want, I can make a tutorial for this, unless you want to make your own tutorial.
    [SIGPIC][/SIGPIC]
  • donperkdonperk Member Posts: 200 Arc User
    edited October 2013
    kirksplat wrote: »
    I can't wait to see this in action. A spell check would be a godsend for us. It's just too time-consuming and error-prone to copy and paste dialogues back and forth from word.

    If you want, I can make a tutorial for this, unless you want to make your own tutorial.

    Realize that this is a one-way process, so there will still be some pasting from Word or whatever back into the Foundry editor, but at least you'll be able to do composition in the Foundry like you are used to and then only deal with the problems found in the export.

    By the way... the V1 engine is COMPLETE! I'm able to extract and format all the elements that are important for proofing. This includes:
    • Project Description
    • Grant Dialog
    • All Dialog Trees
    • Map listing
    • Objectives list
    • Map Transitions
    • Chat Bubbles

    That's pretty much everything except NPC, ship and object names.

    I still have some work to do to hook up the engine to do file I/O and I need to slap a minimal UI on it (or release it as a console application), but the heavy lifting for reading and formatting is done.

    I'm also thinking I can sneak in the ability to do HTML formatting as an alternative. That will let you bring it into Word with tables and some slightly prettier formatting over the current plain text output.
  • pendra8080pendra8080 Member Posts: 30 Arc User
    edited November 2013
    http://sto-forum.perfectworld.com/showthread.php?t=252764&page=2

    Maybe someone still has it. I know I do :D.

    The parsing is extremely simple:
    Collect the lines that contain these values
    PromptBody = Text
    Action after it = Button text
    Description = Mission text
    Remove ", <&, &> marks and replace the \n with enter.

    And that is about it. You parsed the text. Now that I think of this. Few lines of word macro could do this and bam, you can open the export file directly from word.

    In the app, there was a button for copy to clipboard, so no need to select all...


    My import/export tool had the following extra features over this:

    The app was always on top.

    Individual dialog boxes were separated. All the button texts were included over the text. The content of the current memo was copied to the clipboard automatically. No need to click on the actual app window.

    You could go through the dialog boxes just by hovering over the next and prev buttons.

    All this meant that you didn't have to alt-tab copy-past back and forth. Just keep on pasting while the STO client was the focused window.

    And it could build and replicate map structures in a breeze :D.
    http://www.youtube.com/watch?v=hz5F1zNr7Z8

    Tried the import command. Didn't work.
  • donperkdonperk Member Posts: 200 Arc User
    edited November 2013
    That's pretty impressive, Pendra!

    This has a very different targeted use, but perhaps some of the ideas in your app can be re-used, like auto-pasting to dialog windows.


    Back to the reviewer formatting app: I just ran the dump file for "Collectiveness Strikes Gold I" through the formatter and it looks really good. I may be missing some dialog boxes -- I'm not sure yet -- but that can be fixed pretty easily if it's the case. And the thing is blazing fast.

    It's bare-bones -- just a plain text file, but it's really easy to read through and proofread.

    I'm going to try to get it to output HTML as well tonight, which will be even easier to read.

    No UI yet -- not even a command line. Everything is running from NUnit right now. I'll add a UI later this weekend once I'm happy with the parsing and formatting engines.
  • pendra8080pendra8080 Member Posts: 30 Arc User
    edited November 2013
    Dim singleLine As Paragraph
    Dim lineText As String
    Dim dline As Boolean

    For Each singleLine In ActiveDocument.Paragraphs
    dline = True
    lineText = singleLine.Range.Text
    If InStr(lineText, "PromptBody <&") > 0 Then dline = False
    If InStr(lineText, "PromptBody """) > 0 Then dline = False
    If InStr(lineText, "Description <&") > 0 Then dline = False
    If InStr(lineText, "Action """) > 0 Then dline = False
    If dline Then singleLine.Range.Text = ""
    Next singleLine

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "Description <&"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "PromptBody """
    .Replacement.Text = "^p^p"
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "PromptBody <&"
    .Replacement.Text = "^p^p"
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "Action """
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "&>"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "\n"
    .Replacement.Text = "^p"
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = "^t"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = """^p"
    .Replacement.Text = "^p"
    .Forward = True
    .Wrap = wdFindAsk
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
  • pendra8080pendra8080 Member Posts: 30 Arc User
    edited November 2013
    So, open word, go to Tools - Macro - Macro, Click create new, add a name
    and then copy the whole thing above the End Sub line.

    Load the export file into word.

    Go to Tools - Macro - Macro, select the macro you just created and let it run.

    You should end up with the text parts only in word.
  • starswordcstarswordc Member Posts: 10,963 Arc User
    edited November 2013
    Is there any good way to use the existing tools to export and import costumes? I've got five that I want to carry over to "Bait and Switch, Part II" but part of the reason I've been dragging my heels on it is because I've been dreading the fiddly bits of remaking Kree, Zell, Theel, Grell, and Kanril*. (How did I end up with four characters with names ending in the letter 'l'? :confused:)

    * I remade my Fed tac to be my face in the mission end dialog.
    "Great War! / And I cannot take more! / Great tour! / I keep on marching on / I play the great score / There will be no encore / Great War! / The War to End All Wars"
    — Sabaton, "Great War"
    VZ9ASdg.png

    Check out https://unitedfederationofpla.net/s/
  • bazagbazag Member Posts: 375 Arc User
    edited November 2013
    starswordc wrote: »
    Is there any good way to use the existing tools to export and import costumes? I've got five that I want to carry over to "Bait and Switch, Part II" but part of the reason I've been dragging my heels on it is because I've been dreading the fiddly bits of remaking Kree, Zell, Theel, Grell, and Kanril*. (How did I end up with four characters with names ending in the letter 'l'? :confused:)

    * I remade my Fed tac to be my face in the mission end dialog.

    no, screenshots are the only real way because even if you note the named things, the slides can drastically change how it looks.
  • pendra8080pendra8080 Member Posts: 30 Arc User
    edited November 2013
    Before the costume import, I used screenshots with transparency, always on top and 50% alpha blend.

    With this semi transparent overlay, I could quickly adjust all the sliders exactly as they were on the original image. No alt-tabbing or stuff.
  • donperkdonperk Member Posts: 200 Arc User
    edited November 2013
    I've added an HTML formatter to the engine. I need to add a stylesheet, but the output is looking good. I sent stoutes an HTML copy of his "Collectiveness Strikes Gold I" mission about a half-hour ago.

    The overall formatting in both plaintext and HTML are already a vast improvement for doing editorial review of mission scripts. The dialog trees read a bit more like a script now, yet still provide information on costumes, attitude, titles and button links.


    The only open items for declaring the engine finished at this point are:
    • an object-by-object comparison of input and output using the three mission outputs I currently have;
    • a good CSS style sheet for presenting the HTML.

    I still haven't decided how to package it (open source windows UI, Silverlight app, command-line app, dedicated web-site that emails the output or delivers it on-screen) but I should have something out for public review soon -- possibly even this weekend.
  • starswordcstarswordc Member Posts: 10,963 Arc User
    edited November 2013
    pendra8080 wrote: »
    Before the costume import, I used screenshots with transparency, always on top and 50% alpha blend.

    With this semi transparent overlay, I could quickly adjust all the sliders exactly as they were on the original image. No alt-tabbing or stuff.

    How did you set that up?
    "Great War! / And I cannot take more! / Great tour! / I keep on marching on / I play the great score / There will be no encore / Great War! / The War to End All Wars"
    — Sabaton, "Great War"
    VZ9ASdg.png

    Check out https://unitedfederationofpla.net/s/
  • pendra8080pendra8080 Member Posts: 30 Arc User
    edited November 2013
    I made a little tool for that. Load up the screenshot you made, the app added transparency to the slider rules, leaving the sliders themselves visible. After that, you had to align the movable sliders with respective non movable ones on screen. And finally, you ended up with the exact same face/body proportions. I could recreate a costume in less than 3 mins with that from scratch.

    The import button made it obsolete, but alas, it is useful again.
  • linyivelinyive Member Posts: 1,086 Arc User
    edited November 2013
    donperk wrote: »
    You read that right, folks!

    I'm working right now on a tool to condense and reformat a mission export file into a sort of screenplay file that you can then bring into a tool like Microsoft Word to do spelling and grammar checking on. It should even be able to help you find out if you have any pesky unnamed NPCs or ships.
    rofl...

    Steps on how to write foundry missions:
    (1) Write your dialogue in MS Word.
    (2) Copy & Paste: MS Word content into Foundry.
    (4) Done.

    Steps on how to write foundry missions:
    (If you are worried about character codding,..)
    (1) Write your dialogue in MS Word.
    (2) Copy & Paste: MS Word content into Notepad.
    (2) Copy & Paste: Notepad content into Foundry.
    (4) Done.

    You do not need to make another program.

    If you write your original dialogue out in MS Word, you do not have to worry about going backwards. Once you made changes to the original dialogue, you can copy and paste them directly into the Foundry.

    Everyone is building Foundry missions backwards. rofl...
  • khayuungkhayuung Member Posts: 1,876 Arc User
    edited November 2013
    Space wizardry of this boggles my mind! :eek:


    "Last Engage! Magical Girl Origami-san" is in print! Now with three times more rainbows.

    Support the "Armored Unicorn" vehicle initiative today!

    Thanks for Harajuku. Now let's get a real "Magical Girl" costume!
  • linyivelinyive Member Posts: 1,086 Arc User
    edited November 2013
    khayuung wrote: »
    Space wizardry of this boggles my mind! :eek:
    rofl...

    "Unsolved mysteries of 'Unsolved Mysteries'" ~ Homer Simpson
  • pendra8080pendra8080 Member Posts: 30 Arc User
    edited November 2013
    Writing the dialogs in word have drawbacks. The more elaborate branching you do, the harder it is to follow what goes where. Also, you need to see the text in game before amending it. Mainly length and density are the important factors there. When I see that a dialog box is too text heavy I start to mod it until I'm happy. This may involve adding another dialog box, removing, rewriting some text, altering the story a bit etc. You can't see this in word.

    Also the story is never complete in Foundry. You alter and alter and alter the dialogs based on feedback. Again, no way to do that in word.
  • linyivelinyive Member Posts: 1,086 Arc User
    edited November 2013
    pendra8080 wrote: »
    Writing the dialogs in word have drawbacks. The more elaborate branching you do, the harder it is to follow what goes where. Also, you need to see the text in game before amending it. Mainly length and density are the important factors there. When I see that a dialog box is too text heavy I start to mod it until I'm happy. This may involve adding another dialog box, removing, rewriting some text, altering the story a bit etc. You can't see this in word.
    Do you know anything about organizing information using a typographical hierarchy? Color, size, style, etc...
    pendra8080 wrote: »
    Also the story is never complete in Foundry. You alter and alter and alter the dialogs based on feedback. Again, no way to do that in word.
    *facepalm*
  • pendra8080pendra8080 Member Posts: 30 Arc User
    edited November 2013
    Yeah, altering story elements based on player feedback is unimaginable for people who create perfection on the first pass.
    I tried to check your missions to see how your method fares in practice. I couldn't.

    Well, here is one to you. Please show us a word for this dialog tree:
    Dialog starts. Player has the option to do a code break "puzzle". He has to input a 3 digits number between 000 and 999. He can also skip the puzzle anytime. If he fails, he loops back to the start of the puzzle section (not the start of the dialog). He can try to input the number as many times as he wants. He can also skip it anytime. Skipping or completing results different dialog continuation.

    Also skipping or completing results different story dialogs much later in the story.
  • stoutesstoutes Member Posts: 4,219 Arc User
    edited November 2013
    pendra8080 wrote: »
    Yeah, altering story elements based on player feedback is unimaginable for people who create perfection on the first pass.
    I tried to check your missions to see how your method fares in practice. I couldn't.

    <snip>

    I don't want to be blunt, but you're kind of derailing this thread.

    linyive wrote: »
    You do not need to make another program.

    If you write your original dialogue out in MS Word, you do not have to worry about going backwards. Once you made changes to the original dialogue, you can copy and paste them directly into the Foundry.

    Everyone is building Foundry missions backwards. rofl...

    As someone who does detailed reviews (see my sig) this would be a VERY valuable application to use. When I do a review, I will be writing while playing. When the original author has created multiple storylines within one map I will only write suggestions for the one line I have followed.

    With this tool I can reread ALL the dialogs which has been written, what helps the author improving his mission.

    Not only that; I am no native English speaker, when I'm building my mission it's more or less guaranteed that I'll be making grammar mistakes. People tend not to test my missions (...thanks to the eternal grind...) when I ask others to test it.

    However they DO want to help me review the dialogs if I could deliver it in a word doc. And that's where this application can shine.
    maxvitor wrote: »
    Nerf is OP, plz nerf
    That's quite the paradox, how could you nerf nerf when the nerf is nerfed. But how would the nerf be nerfed when the nerf is nerfed? This allows the nerf not to be nerfed since the nerf is nerfed? But if the nerf isn't nerfed, it could still nerf nerfs. But as soon as the nerf is nerfed, the nerf power is lost. So paradoxally it the nerf nerf lost its nerf, while it's still nerfed, which cannot be because the nerf was unable to nerf.

    I call it, the Stoutes paradox.
Sign In or Register to comment.