-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO.txt
66 lines (54 loc) · 3.74 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//for cutscenes try hiding the controller perhaps
USEFUL INFO
TRANSITIONS on flags:
- Can clear or not inventory
- can go to: cutscene || dialogue || playAudio || newURL || change visibility of objects with scripted-invisibility component || unpause video
|| inject new element || changeVideoSrc || addToInventory
-player choice in cutscenes cannot coexist with video loop or cutscene-end-transition
When can dialogue be presented:
OnBeginScene: have a cutscene with dialogue then transition into normal gameplay. Cutscenes of dialogue or of video. - done
OnEndScene: transition into dialogue with flags and then transition into whatever/transition into cutscene with dialogue - done
OnObjectExamination: onclick this object start dialogue - DONE
OnSuccessfulObjectUse - DONE
OnPickObject- DONE
When can cutscenes be played:
OnBeginScene - Start with cutscenes and transition to playable scene - done
OnEndScene - Define a new url on cutscene event emitter vs regular destination - done
OnObjectPickup - through transitions - done
OnPlayerChoice - move to some other cutscene after player choice by changing scene or url - done
//todo
OnObjectExamination - changeVideoSrc, instead of transitioning to a cutscene (saves on having to remake entire scenes with the same objects but different background videos) - done
OnSuccessfulObjectUse - changeVideoSrc, instead of transitioning to a cutscene (saves on having to remake entire scenes with the same objects but different background videos) - done
When can voice tracks be played: (have exclusive voice tracks, voice tracks that lower background volume, whatever else)
OnDialogue - Done
(OnObjectPickup - Done
OnObjectExamination - Done
OnSuccessfulObjectUse - Done
these are encapsulated on dialogue/transitions)
OnEndScene - done
OnBeginScene - done
When can Player choice appear: (different implementations for both cases)
- in Dialogue (here player choice integrated in dialogue component, add flags as necessary)
- in Cutscene (here player choice integrated as player-choice-transition component, add flags as necessary)
Cutscenes different ways of transitioning:
cutscene-end-transition (transition into newURL/level or back to some scene after the video ends automatically, newURL takes precedence over scene destination)
player-choice-transition (pause video at player choice moment and transition to different cutscenes on player choice or resume same)
dialogue (if it's a dialogue only cutscene, video irrelevant, transition into newURL/level or back to some scene after dialogue ends automatically)
changeVideoSrc-transition (if we only want to change the videosource cuz it's the same scenario and then change back to a neutral videosource)
Interaction components:hoverable,inventory(grabbable,use-effect),pickable,navigation-event-emitter,dialogue
if(inventoryOpen)
-disable everything else except inventory(grabbable,use-effect)
if(dialogueOpen)
-disable everything else except dialogue
else
-everything is active
Transitions:
Flag based transitions (player choice here): upon certain conditions trigger a transition into something, very powerful allow for in between gameplay transitions into anything
Dialogue based transitions: after dialogue ends go somewhere possibly
Navigation based transitions: user clicks on navigation element to go to different environment
Cutscene based transitions: transition into different stuff from cutscenes
OnPickObject: Transition into cutscene or dialogue(voiced or not) that automatically transition back into playable scene
OnObjectExamination: Transition into cutscene or dialogue(voiced or not) that automatically transition back into playable scene
On hoverable component
-can define different hover icons
-if item only flag present there is no feedback unless you try to drag an inventory object into the object