Closed notexplosive closed 2 years ago
Low tech solution: If a script requires you to PRESENT and item, and you don't have it, it gets silently added to evidence at the start of the script (or maybe right when the PRESENT executes)
Say you need to PRESENT
the dinos in scene_5
, you got the dinos added to the court record in scene_3
:
scene_5
via the editor you just have the dinos, but that's all you needscene_5
via loading scene_1
and advancing through the plot, you have the dinos because you picked them up in scene_3
scene_4
(thus skipping the dinos but before the PRESENT
requirement) the dinos materialize in your court record right at the start of scene_5
, or right before the PRESENT
itself. (whichever is easier for the developer).Pros and cons:
From a technical perspective, I see us having to decide on one of these options as a requirement to make this happen, each with its own advantages and disadvantages:
DebugGameStarter
would follow the same flowADD_EVIDENCE
/ADD_RECORD
-lines
=== StartState ===
= Case1-1
&ADD_EVIDENCE:Switch
&ADD_EVIDENCE:BentCoins
-> Done
= Case1-2
&ADD_RECORD:TutorialBoy
&ADD_EVIDENCE:StolenDinos
-> Done
DebugGameStarter
, we need to manually specify which items we have in our inventoryFun fact:
This final approach is both how PyWright (fan-engine in python) and (if this random Phoenix Wright Save File reference is to believed) even the official Ace Attorney Trilogy do it. Beginning to think I'm overlooking a clear advantage of that approach... 🤔
Addressing that list personally, I think I would go for b) for these reasons:
Also, no matter which option we go with, I think having a sanity check as part of the build process would be a wise idea. It can be as simple as (somehow) finding the full list of Ink Stories a player will interact with from start to finish and validating, that at no point the player is asked to PRESENT
an item that wasn't ADD_EVIDENCE
/ADD_RECORD
ed beforehand for each script.
I have two ideas and both of them are needlessly complicated :D
As for more realistic ideas I like @notexplosive's idea of checking a script to see if evidence is presented and automatically adding that evidence, and storing the evidence the player has in save data.
Personally I'm happy to stick with the specifying evidence at the start of Ink files but I can see why that would not be preferable.
Description
There are two things I want:
If I'm transitioning from scene_1.ink to scene_2.ink I want the game to remember evidence/court record I obtained from scene1 as I enter scene2. I don't want scene_2 to need to re-add all the things I got in scene_1 (that's a technical debt timebomb).
BUT! at the same time...
If I'm loading a scene_2.ink ad-hoc from the editor I still want it to know what evidence I obtained in scene_1.
Acceptance Criteria
This story will be finished when evidence is preserved from scene to scene without duplicating AND a developer can still load any arbitrary scene and have the correct evidence.