Tricks to a Cross-Examination: V6 Edition

Get started with the upcoming AAO version 6.

Moderator: EN - Forum Moderators

User avatar
E.D.Revolution
Posts: 5743
Joined: Mon Jul 26, 2010 9:00 pm
Gender: Male
Spoken languages: English and decent Spanish
Location: Across dimensions, transcending universes

Tricks to a Cross-Examination: V6 Edition

Post by E.D.Revolution »

You may be wondering how to do a cross-examination in AAO. Or perhaps you're stuck on programming a part of the Cross-Examination block and need clear instructions. You came to the right place, fellow author. This guide helps you to understand how the Cross-Examination system works here. After all, the Cross-Examination is your bread and butter for any trial. This guide assumes you know how to add characters, evidence, sounds, etc.

Before you start to make a Cross-Examination block in the Editor, you need to plan all of your moves. The reason is because you could want the attorney to request the testimony to be amended or you could have multiple paths. Also, there are contradictions to consider. I will show you how to do it. It is highly suggested that you have written up a plan for your CE in a separate Word or txt document.

This guide is separated into three levels: Beginner, Intermediate, Advanced. The levels are from a technical point of view, not the difficulty of the actual CE. It's up to you to determine the difficulty of the Cross-Examination, and that comes from the writing. I will not be covering the writing aspect of the Cross-Examination except to show what kind of limitations certain CEs have. For more information on writing contradictions for CEs, look at this writing guide and encyclopedia, courtesy of Jean Of mArc, of The Omniscient Game fame.

What the Cross-Examination block looks like in the Editor.
Most of the GUI for the Cross-Examination block is now tab-based instead of hidden-menu based.
Spoiler : :
  • Statements Tab: Click on this tab to open up a whole interface regarding the Cross-Examination statements.
    • Statements bar: This is where all your statements will be displayed. You must click "open" on that statement to open that statement (excuse the redundancy) and open up the Pressing Conversation associated with it. The current statement will be in a white bar while the Pressing Conversation will be in pink.

      WARNING!: Do NOT redirect any frame back to the statements bar. I repeat. DO NOT REDIRECT ANY FRAME BACK TO A STATEMENT. It will create annoying bugs.
    • Contradiction menu: When you add a contradiction, you have to specify the actual evidence and the frame to redirect to. It must be done on the appropriate statement.
      For v5 users: It is no longer a simple button, but a menu. The good news is that you no longer have to click on "contradiction" on the statement and then click on the evidence above. However, the contradiction process is NOT automated as it was on v5. Meaning, on the first evidence, you DO have to specify a frame to leave the CE.
  • Co-counsel Tab: Self-Explanatory. The Player goes to this tab after exhausting all of the statements.
  • Penalty Tab: Self-Explanatory. The Player goes to this tab if the player makes a wrong contradiction in the Cross-Examination statement.
Before we start, I will say this once and only once: Do NOT redirect ANY frame back to a statement. If for some reason you have to go back to the testimony, either let the player take care of that for you or redirect to a blank 1 ms frame at the end of a talk, penalty, or co-counsel convo.

I should also mention that "CE" is shorthand for "Cross-Examination". I might also abbreviate actions after the first time it is mentioned. It should be easy to find in the Editor when you look for the action.

Beginner Level CEs and Techniques

This level does not require variable manipulation. After the basic Cross-Examination, you will need to learn how to use other actions, such as "Select an Answer", "Ask for Evidence", "Ask to point to an area", "reveal hidden frame" and "hide a frame from game flow"

Actions to learn
Spoiler : :
  • Ask the Player...
    • To select an Answer: You can define how many answers you want to give him. Basically, multiple-choice. However, in the official games, you never go above 4 and below 2. No matter how many possible answers you give to the player, you need to define what the choice is. Then, under the target frame, define what frame that choice goes to.
    • For evidence: Self-explanatory. You need to define the correct evidence. Click on the menu for "Court Records Element" to select the exact evidence. You can even restrict what kind of evidence the players can present. You need to define where the Player goes for a correct and incorrect present. You can use multiple pieces of evidence for this prompt.
      To point to an area: You will need to supply your own image, uploaded somewhere. Then, click the button "set coordinates" to click on the picture. First, select the type of selection area. Then, select the points of the picture to define the area you want them to click. Confirm and complete the form, including failure and correct presents.
  • Edit Game Flow:
    • Proceed to another frame: Self-explanatory. It will go to that frame after current frame has finished displaying.
    • Reveal hidden frame: Again, self-explanatory. Only works for statements that have the "hide" checkbox marked.
    • Hide frame from game flow: Yet again, self-explanatory. The direct opposite of "Reveal hidden frame"


Cross-Examination: Basic
Spoiler : :
The basic cross-examination is one where the contradiction is obvious. All the player has to do is present the evidence or the profile (remember, this is based on PW T&T format) and check whether the answer is correct or not. Because this is a cross-examination, each statement gets its own set of conversation blocks.
  1. First, click "insert event block" and select "Enter Cross-Examination." The interface will appear on that very frame.
  2. Next, write out all the statements in the Statements tab.
  3. After each statement, click "add a pressing conversation" to add the conversation after pressing the statement. Write out the conversation as you would in a normal situation. After the last block is played, the Player will go on to the next statement.
  4. Write out your co-counsel and failure conversations. Once the Player has read the co-counsel conversation, it will go back to the 1st revealed statement (more on revealing statements in a later section).
    For the failure conversation, if you do not specify the amount the player will lose, the player will lose 24 hp or 20% by default. It is highly recommended that you use the action "Set flashing health points" at the beginning of the convo and then use the action "Reduce player's health points" when the penalty is assessed, story-wise.
  5. When you have written all the conversations (including co-counsel and failure), go to the statement that will contain the contradiction. Right under the statement will be a small menu for contradiction. Click "Add Contradiction". It will then ask you for the evidence. Then you will have enter a frame number. For most cases, enter the frame number that follows the CE block.
    • If you're feeling trollish, you can add "false contradictions". That is, it looks like a contradiction, but it's not a valid contradiction. It's the same way you would add valid contradictions. Except, instead of ultimately leading out of the CE, you will have to redirect back to the CE.
Writing Notes
This kind of CE is the building block to every other type of CE. It's the easiest to make, but very limiting in terms of difficulty. You will need to employ other techniques to increase the difficulty. If you want to be trollish, you can put false contradictions. Whatever you do, remember the cardinal rule of valid contradictions: contradictions must be clear and unambiguous.
Technique: Amending/Adding statements
Spoiler : :
Sometimes, you may want to have a situation where the player cannot find a contradictory statement in the original set of statements. There are two ways of finding a contradiction: adding statements or amending statements. In this case, you have to make more statements than what was said in the testimony. In this type of CE, you follow all the rules under "Basic CE" but there are a few more guidelines to follow.

The general rule for changing the testimony on the testimony line are as follows:
  • If you must add a statement, pick the statement that you wish to have the player press in order to add statement. Then create a new statement after said statement.
  • If you must amend a statement, then pick a statement that you have to wish to press in order to amend the statement. Depending on how you structure your testimony, you can put the amended statement after the said statement.
Here's how to add statements:
On the original statement, write out your conversation. In order to add a statement, you must make a new statement afterwards. The second statement will be written as normal, but you should click the checkbox for "hide at start." In order to reveal the added statement, you must use "reveal hidden frame" action in one of the frames in your first statement conversation. The ID must match the statement in the CE block. If played correctly, when the player is done pressing the statement, the Player should go to the added statement.

Here's how to amend statements:
Follow the guidelines on adding statements, but there's an added step. Somewhere in your first statement conversation, you have to activate "hide frame from game flow." Make sure the statement in the action matches the ID of the testimony statement in the CE block. If played correctly, the Player should go to the amended statement, and the original statement should be gone.

Oh, and by the way, these type of situations almost always call for this question: "Was that last statement important?" In this case, you will have to use the action "Ask the player to answer the question" to ask the player if the new information was important before adding or amending the testimony. If it was important, then you will redirect the conversation to reflect the fact (with reveal and hide frame actions only on the "Yes, it's important" conversation path). If the player think it wasn't, then it should run the CE as if there's no need to change the testimony.

Another thing: sometimes, a press might ask for a few things to be clarified (There was a bit of information in that statement. What should I ask for?). Again, use the action "Ask the player to answer the question" to give the player choices on what should be asked. You can even put stupid answers there to throw the player off-track. In the end, if the statement might be important, you should ask the player if it was important. Usually, you would just add statements if something would need to be clarified, not amended. (Thanks to henke for pointing that out!)

Writing Notes
In terms of writing, the player knows that the revealed statement is the contradictory statement. Always. Unless it's not, but that's rare. But if the revealed contradictory is hidden via rotating statement (more on that later), then it is not this simple technique.
Cross-Examination: Press to Object
Spoiler : :
Miles Edgeworth loves to use this type of Objection. In fact, after the the previous two techniques and CEs, this is the most common type of CE you will find in the GK/AAI series. Basically, this type of contradiction requires the player to press the statement and present the contradiction in order to get out of the CE. You shouldn't have a regular CE along with a "Press to Object" CE. But, be careful. In the AA world, when you press to object, there's always a choice to back down before you can truly attack, i.e., there's always two choices: "raise an objection" and "back down." You need to program that into the CE.

Basic Press to Object
  1. In the conversation following the contradictory statement, you should activate the action "Answer a question" so that you can put up the choices I have outline earlier.
  2. You must put up the penalty the player is facing via "set flashing health points."
  3. On the conversation following "Raise an objection" you can have a few ways to go about doing this
    • Ask for evidence
    • Answer another question
    • Point to the exact place in picture
  4. You need to provide the correct answer. For whatever method you use, you must have at least a conversation that leads out of the CE and another conversation the shows the player that (s)he has chosen the wrong answer.
Intermediate Press to Object
In this one, you can have a web of conversations going on after you have the player press the statement to try to escape the CE. Use your creativity and refer to the "Basic" version above so that you program it correctly. The one I think uses this type of "Press to Object" is Ignatius Burn's 2nd Testimony in lynx's first case in "Von Karma: Corrupt Attorney"


Writing Notes
For this type of CE to work, the statements must be ambiguous enough to entice the players to press statements. If the contradiction is quite obvious, it becomes your basic cross-examination, therefore this type of CE does not work.

Intermediate Level CEs and Techniques

This section introduces you to variable manipulation. This will require you look at the actions "define variable", "read variable's value", and "evaluate condition"
Spoiler : Actions to learn :
Define new variables: Give a name of a variable. Then define its value. The good thing about this engine is that the value can accept alphanumeric values. But for simplicity's sake, stick with "1". Also, before the Player gets to the frame with this action, each variable is set to 0. This is done by default of the engine.

Test an Expression's Value: You can test both expressions (defined as an abstract comparison statement, such as liver = kidney. Don't think too much of it right now) and variables. Define what needs to be tested. Then fill in the rest of the form (id if failure, id if success).
Note: This has replaced "test variable's value" on v5.
Evaluate conditions to redirect player: This tests an expression or set of expressions to see if any of them are true.
Note for v5 users: This has replaced "evaluate condition". Even though it says "first match wins," you only need to use the first expression result unless you're doing some complex expression condions.
Technique: Recursive Contradictions
Spoiler : Mastery required: Adding/Amending Statements :
On rare occasions, you may want to have a player reveal a statement before objecting to an earlier statement. This is known as a "recursive contradiction" because new evidence or information has revealed a problem with an earlier statement. This is where you will get your first taste of variables.

Write out your CE as normal, with added or amended statements as well, but without defining the contradiction. On the press conversation before the statement you want to reveal, use the action "define new variables" and define a variable you want to define. I would suggest you define it as "revealchk" and set the value to 1.

Then fill out the contradiction form as normal on the contradictory statement. Go to the frame that you have defined for the contradiction. On that frame, use the action "Evaluate conditions to redirect player". The expression you want to check is this: "revealchk = 1". This checks if you have revealed the statement needed for that contradiction. Then set the frame ID to go to if it is true. If it is false, go redirect to the CE's failure conversation.

Writing notes
This is not as hard to program as it is to write. Writing for this specific technique is quite tricky if you don't plan out your moves carefully. It is highly suggested that you read Jean Of mArc's Encyclopedia of Contradictions before you attempt to write with this technique in mind.
Cross-Examination: Press-all-to-continue
Spoiler : :
Sometimes, a CE doesn't reveal a contradiction, no matter how much you press. Once all the statements have been pressed, then the next part of the trial goes on. This is what people refer as "press all to continue." Unlike present evidence ends, "press all" ends are on the intermediate level of programming. This involves variables. Now, if you haven't take programming classes (I haven't,) then don't worry. There's an easy way to make sure that the "press all" runs smoothly.

Follow the guidelines for the basic CE guide, but do not add a contradiction. There is an added step before we get into the programming part of the guide. You need to create a blank frame after the last part of the convo on each press convo. This is very important as if this isn't done, then the programming may not work correctly.

There are two main methods: the common way and Enthalpy's way.

The Common Way
  1. Decide on the name of the variables to use. The best default is

    Code: Select all

    pressX
    where X is the position of the statement in the testimony (press1, press2, press3, etc.).

    If you want to be even more precise, or to keep track of certain testimony's variables, I would suggest using this syntax: charnumberpressposition. The syntax goes as following:
    • char: character (or shorthand for character) speaking for that CE
    • number: if you have multiple testimonies for that character, add a number before "press". Otherwise, skip and enter "press" instead
    • position: position of the statement needed to be pressed in that testimony.
    An example of a very precise set of variables for Kristoph's 2nd CE would be: kris02press1, kris02press2, kris02press3
  2. On the first frame of the press conversation, use the action "define new variables". The put your variable "press x" or whatever variable you choose in the box for "name of variable to test." Under the value bar, put 1. Do this for every statement.
    One thing to note: All variables are initially set to 0. So you do NOT have to do this

    Code: Select all

    please do not do this
    define variable
    variable press1
    value 0
    It's redundant coding, especially when the engine does this for you. So don't waste time setting each variable to 0.
  3. On the last frame of each of the press convos (or rather, the last frame before the "continue your testimony" frame), use the action "Activate variables..." Under "conditions to test", go to the bar for "expression to test" and enter

    Code: Select all

    press1=1 & press2=1 & press3=1

    using my syntax,

    Code: Select all

    kris02press1= 1 & kris02press2 = 1 & kris02press3 = 1
    Then enter your target frame id in the box below. This should be the frame leading out of the CE. Then, go back to "failure frame ID" and enter the frame id number AFTER this one. You should already have a blank frame after this, otherwise make one quickly and set the wait timer to 1.
Okay, I bet you're asking "why are there more press values and ampersands?" Again, this has to do with the programming aspect. The ampersand is required if you are going to check all the statements have been pressed. The Player has to evaluate all the statements have been pressed, so you have to put the number of variables to check in that bar. What that sample syntax is saying is "Is press statement 1 activated? And is press statement 2 activated? And is press statement 3 activated?" In plain English, "Are all the statements activated?" If at least one of the questions is false, i.e. not all the statements have been pressed, then it will continue the CE. If the statement is true, i.e. all press convo have been pressed, then it will direct the player out of the CE.

I'll refer you to henke's thread for a tutorial about variables. It's not in the nature of the tutorial to show you how to use variables like an expert. If you are aiming to master variables, I suggest you read up on Enthalpy's Variable Guide for a full tutorial on variables. This guide only aims to help you use variables for CE purposes.

Enthalpy's Way
Enthalpy's Way is a bit more intuitive. Go to the third step of "The common way." Instead of the whole "Variable = 1 & Variable2 = 1", use this expression instead:

Code: Select all

press1*press2*press3=1
using my syntax

Code: Select all

kris02press1*kris02press2*kris02press3=1
This expression uses a multiplier to check each variable. Basically, each variable, when activated, is set to 1. When you multiply 1 many times, the result is always 1. If not, then the expression is false because anything multiplied by 0 is 0.

Writing Notes
In terms of writing, this is best left for exploratory testimonies. Or if you're being von Karma-ish, testimonies that have no direct contradictions. This usually gives players breathing room.
Cross-Examination: Press to Obtain Evidence
Spoiler : Mastery Required: Press-all-to-continue, Adding/Amending Statements :
For this type of CE, you will have to hide evidence in certain statements. This requires a bit more planning, as it's way too easy to escape this kind of CE without the right evidence. In the official games, one never leaves this type of CE without all the evidence that is required. If testimony is an exploratory testimony, like detective testimonies, then you should employ this kind of CE.

For this type of CE, you will be employing the action "Reveal Elements from the Court Records". But you will also have to make sure the player "doesn't get the same evidence should he press the same statement again." In order to avoid this classic mistake, have a frame with the action "Evaluate condition" before the frames that give you the evidence. On that action, use the following syntax to test whether the evidence has been added to the CR

Code: Select all

f:evidence_is_revealed('X','Y')
where "X" is either preuve or profil for evidence and profile, respectively (it's in French. Ask Unas for why the syntax is that way), and "Y" is the ID number of said evidence. Repeat as necessary. Note for v5 users: This is the same as it is in v5.

After you have revealed all the evidence, you have a couple of options for escaping the cross-examination. This usually means combining them with one of the other types of CEs above.

Ending the CE

If you want to end the CE, you should consider employing tricks from "Press-all-to-continue". You will be using the "evaluate expression" function at the end of every press convo that has evidence to be revealed. In this case, instead of pressx, you will use the "evidence is revealed" syntax like as follows

Code: Select all

f:evidence_is_revealed('X1','Y1') & f:evidence_is_revealed('X2','Y2') & f:evidence_is_revealed('X3','Y3')
and so forth. Enthalpy's method works with this as well.

Continuing the CE

If you want to continue the CE, you should consider "Adding/Amending Statements". You will have to use the same tricks as above (Press-all-to-continue). But this has an added coding challenge. Unlike the regular "Press-all-to-continue", this will reveal/amend statements. Again, use the "evaluate expression" function at the end of every press convo that has evidence to be revealed. Only instead of escaping the CE, redirect it to the frames that will reveal the new statement. Tag that convo with a variable, say "EvRevealed". So the syntax for that variable to say you have revealed all evidence would be "EvRevealed = 1". So that in case the player decided to press the statements again AFTER revealing the new statements, you can safely redirect the convo away from "I request a new statement" convo. I would suggest checking for that variable BEFORE you check that evidence is revealed. So a sample press convo with these elements look like this (from a technical standpoint)

Code: Select all

Press convo

*dialogue*

Check to see if this convo's evidence is revealed. 
Evaluate expression - f:evidence_is_revealed('preuve','7') 
If true, goto B. If false goto A.
Branch A: Reveal evidence (In this example, reveals Evidence ID 7). Leads directly into Branch B. 
Branch B: Continue convo

*more dialogue*

Check to see if amended/added statement exists. 
Evaluate Expression - EvRevealed = 1
If true, goto E. If false, goto C.
Branch C: Brings up another check

Check to see if all evidence is revealed. 
Evaluate expression - f:evidence_is_revealed('preuve','7') & f:evidence_is_revealed('preuve','12')... etc.
If true, goto D. If false, goto E.
Branch D: Reveals a new statement. Also activates variable "EvRevealed" (Set "EvRevealed" to 1) Leads directly into Branch E. No additional coding necessary

Branch E: Ends this press convo. Continues CE
Writing notes
Do be careful. For this type of CE, your original statements should be factual and not contradictory at all. Otherwise, you will create gamebreaking bugs.
This is also tricky to do correctly. Authors frequently forget to put up that variable check before you reveal evidence. So when the player presses that statement, you "get" that evidence again.
Technique: Toggling to amend
Spoiler : Mastery Required: Recursive Contradictions (optional), Press-all-to-continue, Press to obtain evidence, adding/amending statements :
There are many testimonies, both in the real games and in fangames, where the player is forced to search for the truth or drag a contradiction out of the witness. The witness may appear to reveal the truth. However, after pressing several statements, you realize they are contradictory to each other. However, in many games, you may want to reveal a statement that makes the contradiction easier to attack. The cardinal rule of contradictions in AA games is this: contradictions must be clear and unambiguous. Many press statements, especially in high difficulty testimonies, will have partial-contradictions. Meaning, a statement may appear to be contradictory but might be too hazy to actually attack. Using logic, once you piece together the problems with these statements, you may want to force the issue with the witness.

In order to do the toggling to amend, you will make a partial press-all CE. You will take techniques from the press-all (making variables for statement to press) but you will incorporate it into a normal CE (meaning, there IS a valid contradiction).

Write out all of your statements, including hidden ones. Then choose the statements that you want the player to press in order to reveal the hidden one. Under those talk conversations, define the press variable for that statement, preferably at the first frame of said press convo. As I have said under press-alls, you need to define a specific variable for the specific CE, preferably using a syntax that helps you remember which CE it is. If you recall the syntax I use, it is char-number-press-position, such as kris01press1 and such.

On the last frame before the continue-your-CE frame, do your variable check. If all your statements have been pressed, go to the conversation that asks to reveal the hidden statement. Make sure the "revealing conversations" happens in the press convo before the hidden one. In that very same convo, make another variable that says represents revealing the hidden statement.

If they have not all been revealed, you may resume to the continue-your-testimony frame.

So, if your CE goes like this:
Press 1 - Press 2 - Press 3 - Press3a (hidden)

Make sure your "revealing statement convo" is under Press 3's press convo.

The programming logic is exactly the same as press-to-reveal: continue CE:

Code: Select all

Press convo

*activate press variable*

*dialogue*

Check to see if amended/added statement exists. 
Evaluate Expression - StatementRevealed = 1
If true, goto C. If false, goto A.
Branch A: Brings up another check

Check to see if selected statements are pressed
Evaluate expression - kris01press1*kris01press2...etc.=1
If true, goto B. If false, goto C.
Branch B: Reveals a new statement. Also activates variable "StatementRevealed" (Set "StatementRevealed" to 1) Leads directly into Branch C. No additional coding necessary

Branch C: Ends this press convo. Continues CE
Writing notes
This is a favorite for most authors. This allows one to dig through the statements and then realize what the problem is. You can combine this with the "recursive contradictions" to amp the difficulty up.

In terms of writing, this can be tricky to pull off. For one, writing for this technique means that you have to write seemingly truthful statements that entice the players to press. The logic behind this has to be sound. While one innocuous statement is not enough to reveal a contradiction, several of these are required to reveal a contradiction or problem with the testimony. If the player has not gone through "fridge logic" while going through this testimony, then it's not written well. The player should be thinking "Well, if he said this... and then he said this... Wait a second, there's something off about these. Let me see if combining the two will reveal something." Again, if the normal player isn't thinking that certain things being said in the CE doesn't add up, then that CE isn't written well. Go back to the drawing board and rewrite the puzzle.

As with the "press to reveal evidence", you need to make sure that if the player decides to press statements again AND the new one is revealed, the "revealing statement" convo does not play again.
Advanced Level CEs and Techniques

This section requires mastery of the two previous levels. There will be even more tedious variable manipulations and a lot of actions. From a programming point of view, it can become a big headache.

Technique: Rotating statements
Spoiler : Mastery required: Press to Object and Adding/Amending Statements :
Sometimes, it's not enough to simply reveal more information. Sometimes you want the player to reveal the relevant information out of a few possibilities. The player can then ask for a statement to be revealed. But if the player can't find anything wrong with the new statement, then the player should have the option to ask for the other one. This is commonly referred to as "rotating statements". There are two basic forms: The Complex and the Simple Way.

Both forms require the techniques listed in "Press to Object" and "Adding/Amending Statements."

The Complex Way
In 1-5, Lana is testifying about her role in forging the scene from SL-9. You're going to have to drag the truth out of her. But there are a few possibilities to consider in her testimony. On that particular testimony, she talks about what she forged. You can ask for the body or you can ask about the urn. In either case, the Complex Way is actually needed since you will have to press the new statement to get yet another one.

The Complex Way requires you to extract a few new statements, but you must extract it one at a time from the original statement. Follow the "Adding Statements" guide. Hide the added statements by checking "hide" in the CE text field. In the original statement where you are asked which statement to add, use the "hide a frame" and "reveal a hidden frame" actions in the choices.

Example:

What the editor says:
Original Statement... Info A (hidden)... Info B (hidden)
Under the original statement, there will be a choice using the action "Ask the player to answer the question". It'll look something like this:
Was any of the info he gave us very important?
Info A
Info B
None
You must create a blank frame at the end of the press convo with a 1 millisecond pause. Obviously, you know what to do for "None." But let's say you choose "Info A." In the conversation following "Info A", you must use "Hide a Frame" for the statement about "Info B" and "Reveal a hidden frame" for the statement about "Info A." Do the same thing for "Info B," that is "hide a frame" for the statement about "Info A" and "reveal a hidden frame" for the statement about "Info B." All of the choices must converge on the 1 centisecond blank frame.

If done correctly, it should look like this (in the Player):
Before I ask for the testimony to be amended...
Original Statement... Info A... Info B (hidden)
If I choose Info A...
Original Statement... Info A... Info B (hidden)
If I choose Info B...
Original Statement... Info A...(hidden) Info B
The Simple Way
A second variation on this type of CE is actually much simpler. Let's say you have already revealed one of the rotating statements and hidden the original statement. You can ask the player if he/she wants to switch to the other statement.

Again, let's go with the Info A/Info B situation above. If you're on Info A and you want to switch to Info B, then you will have to do the following: Hide Frame Info A and Reveal Frame Info B. On Info B, do the reverse: Hide Frame Info B and Reveal Frame Info A. However, if the player opts to move to Info A from Info B, you must redirect to the last frame (hopefully empty) from the original statement. That way, the player sees the statement about Info A when you do end the convo for Info B.

Writing notes
The Simple Way is best used if there won't be a whole line of press statements waiting for the player.

Overall, this technique can significantly increase the difficulty of a CE, as the player is left searching for statements to object to. But at the same time, it's also very annoying to program. Use this sparingly.
Cross-Examination: Press the right statements
Spoiler : Mastery Required: Press-all-to-continue :
In case 1-2, Phoenix finds something wrong in Gumshoe's first testimony and presses the statement in order to clarify the facts. In case 1-3, Phoenix cross-examines douchebag Oldbag for the last time and he had to press the right statements in order to get out of the CE. In the one of the testimonies of "The Tortured Turnabout (AAO version)," the player must press the right statement or risk being penalized.

All three cases highlight the concept of "pressing the right statements." In this kind of CE, the player will have to press the right statements in order to get out of the CE. This sounds a lot like "press all to continue, right?" Well, yes and no. I'll explain below.

Situation A: Press the one correct statement to end CE.
Assuming that the player should only press one statement to get out, you can simply redirect the player to the next conversation via "skip directly to frame" action. Think Gumshoe in 1-2. Not too hard to program.

Situation B: Press the correct statements to end CE.
This requires the use of variables. For however many statements that you require the player to press, you have to tag the said statements and evaluate the condition at the end of those pressed statements' convo. It is not necessary to tag all of the statements, only the relevant ones. This is the basis to the fan-made "Supra Objection" where you have to object the correct evidence at the correct statement. I will not be covering this, as this never appears in the original games. Yes, it does say "Supra" not "Super". A "Super" is actually using multiple correct pieces of evidence in one statement or objection. Again, will not be covering this, since this is fan-made.

Corollary to Situation B: Press the correct statements to end CE, but give the option to stop CE.
This is a corollary, an addendum to Situation B, where the player must press the correct statements before attempting to end CE. If you think there's good information in the CE that the player should read, you should combine the tagging of variables with the action "Answer a Question." The action "Answer a Question" can serve to ask the player if (s)he wants to end the CE, kinda like Oldbag's last CE in 1-3.

Situation C: Only press relevant statements
The difference between Situation B and Situation C is that Situation B gives the players freedom to ask irrelevant questions like :phoenix: press the statement (s)he deems important and Situation C penalizes the player for wasting time. You do the same thing for either Situation A or Situation B, but you will add the warning and the penalties at irrelevant statements. This is used a lot in 2-3, especially with Moe. No wonder 2-3 is known as "Turnabout Big Flop".
BIG WRITING NOTE FOR THIS!
This is an excellent way to piss players off, so use this sparingly or give a really good reason for this.

Corollary to Situation C: The Luke Atmey Testimony
Remember Luke Atmey's final testimony (3-2) in which you've only got chance to expose the contradiction? This is the corollary to Situation C, and there are a few styles, but this is what they have in common
  • The testimonies must be ridiculously long (more than 10-12 statements)
  • They contain only one contradiction.
  • There's a ridiculous penalty on the line. (at least 50%)
There are a few modifications of this type of testimony that can still be considered the Luke Atmey Testimony:
The Jin Triad Final Testimony (E.D.Revolution's "The Tortured Turnabout" [AAO version])

Warning: Spoiler Alert!!!

Jin Triad's final testimony: Jin Triad builds a testimony full of traps, and pressing irrelevant statements will incur the Judge's wrath. You MUST press before you present the evidence. You can't present the evidence right there. Wrong evidence will cost the player the game. There's one contradiction, and it must be presented. This has 16 statements to start.

Standard Luke Atmey Cross-Examination:
  1. You must redirect the wrong press to a game over sequence. This can be done by activating the action "skip directly to frame" when the convo will take you to "Game Over."
  2. Choose the right statement and redirect outside the CE block as a "success" convo.
[/list]
As long as you follow the two cardinal rules of a Luke Atmey Testimony, you will have a killer CE.

HUGE WRITING WARNING!
A Luke Atmey-style testimony is a great way to tick off your players. Employ with caution. Nobody likes to go through a lot of statements to get to the right one. And with a 100% penalty on the line, it's adds a healthy dose of frustration. Done correctly, it's a great puzzle/challenge. Done incorrectly, it will feel like fake difficulty and your players will rage-quit. This should only be done on the final testimony.
I hope I have covered most of the basic Ace Attorney Cross-Examination styles. If there's any wrong information or anything you think I missed, please reply below. For v5 users, I hope this is helpful in adapting to v6. Many things on the Editor is the same or similar as it was before.
Last edited by E.D.Revolution on Wed Aug 12, 2020 2:59 am, edited 4 times in total.
Image
forthewin99
Posts: 16
Joined: Sun Dec 01, 2013 4:34 pm
Gender: Male
Spoken languages: English
Location: Far far away

Re: Tricks to a Cross-Examination: V6 Edition

Post by forthewin99 »

Nice :larry:
That awkward moment where you start yelling "Objection" into your microphone-less laptop... in public.
Phantom

Re: Tricks to a Cross-Examination: V6 Edition

Post by Phantom »

Damn this is the ideal standard guide I'm looking for
Reverie
Posts: 497
Joined: Thu Dec 12, 2013 10:41 pm
Spoken languages: English

Re: Tricks to a Cross-Examination: V6 Edition

Post by Reverie »

This may be considered a slight necro, but I figured I'd ask in the most relevant place I could find.

Say I started with a testimony with 3 statements, 1, 2 and 3. After pressing all of them in any order, I want to reveal statement 4. The only way I can find is to attach "reveal frame" onto one of the pressing conversations, but in that case, the player would only need to press the statement I used reveal frame on.
Any help is appreciated.
User avatar
TheDoctor
Posts: 992
Joined: Mon Sep 16, 2013 6:13 am
Gender: Male
Spoken languages: English

Re: Tricks to a Cross-Examination: V6 Edition

Post by TheDoctor »

For this, you'l mostly need to follow the instructions under "Cross-Examination: Press to Obtain Evidence." There's a bit in there where it talks about using it to add statements to a testimony.
Image Image Image
Reverie
Posts: 497
Joined: Thu Dec 12, 2013 10:41 pm
Spoken languages: English

Re: Tricks to a Cross-Examination: V6 Edition

Post by Reverie »

Lemme quickly say that apart from what is written in this guide, and a couple of the others linked here, I know nothing of variables.

So, in that section, there's this little line - f:evidence_is_revealed('X','Y').
Should I change that do something such as - f:statement_is_pressed('1') & f:statement_is_pressed('2'), or have I got everything completely wrong?
User avatar
TheDoctor
Posts: 992
Joined: Mon Sep 16, 2013 6:13 am
Gender: Male
Spoken languages: English

Re: Tricks to a Cross-Examination: V6 Edition

Post by TheDoctor »

Oh wait, I'm sorry, I didn't fully read the instructions. I'll have to come up with a hybrid version for you.

First, you start off as if you were making a "press all to continue" CE. If you have three statements, you'll need three variables. Press1, Press2, and Press3 are the easiest ones to remember. Think of these variables as toggle switches. If they're on, they'll have a value of one. If they're off, they'll have a value of 0. They're set to 0 by default, so you only have to worry about switching them on.
Spoiler : If you're doing more than one of these CEs... :
You'll need new names for each variable in each testimony. If testimony 1 switches all variables to "on," that means they'll be on for the rest of the game unless you switch them off. It's a lot easier to use more variables than it is to switch the old ones off.

So, for example, if you were to have Gumshoe testify twice, and have Larry testify once, you could use Gumshoe2Press1 for Gumshoe's first statement in his second testimony as opposed to Larry1Press2 for Larry's second statement in his first/only testimony)
On the first frame of each press conversation, use the action "define new variables". The put your variable, "Press1," "Press2," and "Press3" in each statement's respective box for "name of variable to test." Under the value bar, put 1.

On the last frame of each of the press convos (or rather, the last frame before the "continue your testimony" frame), use the action "Activate variables..." Under "conditions to test", go to the bar for "expression to test" and enter:

Code: Select all

Press1*Press2*Press3=1
Since a variable is equal to 1 when on, and 0 when off, multiplying the variables by each other will only come out as 1 when all switches are on. If any of them are off, it will be 0.

Anyway, once you're done writing that out, enter your target frame id in the box below. This should be the frame that reveals the 4th statement. Then, go back to "failure frame ID" and enter the frame id number AFTER this one. You should already have a blank frame after this, otherwise make one quickly and set the wait timer to 1.

Note that if you're using dialogue to show that a 4th statement has been added, instead of the target frame being the one that reveals the 4th statement, you'll need a blank frame. In this frame, use the action "Activate variables..." Under "conditions to test", go to the bar for "expression to test" and enter:

Code: Select all

statementRevealed=1
For this one's target frame ID, enter the same blank frame as the failure frame ID's from the previous testing boxes. For the failure frame ID, enter the first frame of the dialogue that shows a new statement has been added to the testimony. On that frame, use the action "define new variables" and put the variable "statementRevealed" in the box for "name of variable to test." Under the value bar, put 1. This way, if you've already stated that a new statement has been added to the testimony, you won't be redirected to that conversation if you press any of the first three statements again.
Image Image Image
User avatar
E.D.Revolution
Posts: 5743
Joined: Mon Jul 26, 2010 9:00 pm
Gender: Male
Spoken languages: English and decent Spanish
Location: Across dimensions, transcending universes

Re: Tricks to a Cross-Examination: V6 Edition

Post by E.D.Revolution »

This is not a necro, as that's a valid question. That is how I do that press-statements-to-reveal-another-one.

@TheDoctor, which skill level shall I list this technique?
Image
User avatar
TheDoctor
Posts: 992
Joined: Mon Sep 16, 2013 6:13 am
Gender: Male
Spoken languages: English

Re: Tricks to a Cross-Examination: V6 Edition

Post by TheDoctor »

I'd say intermediate. It's a little bit more complex than "Press all to continue," but that's only if you're using dialogue to show that the additional statement has been revealed. Without the dialogue, it's almost identical to "Press all to continue."
Image Image Image
Reverie
Posts: 497
Joined: Thu Dec 12, 2013 10:41 pm
Spoken languages: English

Re: Tricks to a Cross-Examination: V6 Edition

Post by Reverie »

@TheDoctor, Thanks a lot, it worked.
Last edited by Reverie on Sun Mar 25, 2018 2:16 pm, edited 3 times in total.
User avatar
E.D.Revolution
Posts: 5743
Joined: Mon Jul 26, 2010 9:00 pm
Gender: Male
Spoken languages: English and decent Spanish
Location: Across dimensions, transcending universes

Re: Tricks to a Cross-Examination: V6 Edition

Post by E.D.Revolution »

Thanks to TheDoctor, I've modified his hybrid solution and compiled it into "Toggling to Amend". Not the most catchy name, but it describes the internal programming logic behind this technique.
Image
User avatar
TheDoctor
Posts: 992
Joined: Mon Sep 16, 2013 6:13 am
Gender: Male
Spoken languages: English

Re: Tricks to a Cross-Examination: V6 Edition

Post by TheDoctor »

Perhaps "Press multiple statements to amend" might be another name option?
Image Image Image
User avatar
E.D.Revolution
Posts: 5743
Joined: Mon Jul 26, 2010 9:00 pm
Gender: Male
Spoken languages: English and decent Spanish
Location: Across dimensions, transcending universes

Re: Tricks to a Cross-Examination: V6 Edition

Post by E.D.Revolution »

I was thinking that, but it's too long. Press to amend is not much better.
Image
User avatar
drvonkitty
Posts: 567
Joined: Sat Apr 14, 2012 12:25 am
Spoken languages: English

Re: Tricks to a Cross-Examination: V6 Edition

Post by drvonkitty »

Maybe remove "statements"? "Press Multiple To Amend"?
Image

Image
User avatar
E.D.Revolution
Posts: 5743
Joined: Mon Jul 26, 2010 9:00 pm
Gender: Male
Spoken languages: English and decent Spanish
Location: Across dimensions, transcending universes

Re: Tricks to a Cross-Examination: V6 Edition

Post by E.D.Revolution »

I'd like to hear more responses and a consensus on the matter.

Something catchy. Something concise. Something accurate. Something truthful.
Image
Post Reply