-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsketch.txt
232 lines (124 loc) · 5.32 KB
/
sketch.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
It has come to my attention that I am an absolute Neanderthal
I did NOT apparently, setup my Python Project on the SDK properly
The only reason why it works is
1. I did not use any dependency
2. It only requires 3 files to works
3. Sheer Dumb Luck
4. (Also maybe because I deal with Pure Data)
And due to that, I uhhhhhh.......
Well, EVENTUALLY I, or someone else, would have to do this, YEA!?!?!
But NOW... Hear Me Out
Script Makers are not programmers
^ They are, this is terrible excuse
AND LIKE if I went this long without realizing that imports doesn't works
Or that there are no __init__.py anywhere in this codebase...
^ It's pure dumb Luck
This just means that I can, ONCE AGAIN! Avoid the Problem Like a Coward!!!
^ This part is true
So... Let's think about it...
If I am a script maker, what would I want???
How do I want to get this... "Zen" sort of thing????
Hmmmmmm...
Okay, what is it that the Script Maker make?
No, even more specific, what are Script Maker? Who's gonna use my SDK?
- Mod Maker
- Modpack Maker
- Standalone Script Maker
Mod Maker can deal with Minecraft, they can deal with this.
Okay, bad, bad Iteranya, you gotta want to make this thing as comfy as possible.
Which one of my user has the LEAST amount of experience in coding????
Standalone Script Maker, writers and artists.
So, I have to make this thing as super friendly to artists and writers as possible~
(Ahem)
So, we'll design something that artists and writers would want to use...
I can't make a GUI so they still need code editor
Therefore, I have to start with the simplest thing imaginable
Step 1: Make an empty folder
Step 2: `git clone https://github.com/Iteranya/MobTalkerSDK`
Step 3: Open the thing in VS code
Step 4: Start working
Adding Step 5 like venv, build dependency, etc, will just overcomplicate stuff you see???
Anyway, let's see... What's the easiest way they can start working?????
Template, definitely, so I'll just have to make something that helps them get started.
But before that, how do I want them to work on the project????
Well... First I want them to define who the characters are...
So... they open thingy and "Oh, let's make a character"
And they can start Nyoomin*
*nyoomin - Verb, a word used to describe the act of continuing what one sets up to do.
So, here's the general workflow:
- Make character
- Write dialogue
- Compile
- Send to Minecraft
- Profit???????
...
Yea??? MAYBE YES!?
Or maybe I'm doing this the wrong way.
Maybe forcing my ideal of simplicity is not always the right way of doing things?
I can't keep avoiding my problems, sooner or later, the tech debt will caught up to me.
People will question if I even doing this properly, if I even have the best intention in mind, if...
If...
...
Lol, lmao, just kidding, fuck the proper route.
I'm a Toy Maker not a Developer.
And this shit is marked as choking hazard.
Anyway, let's continue.
How do I make 'character creation' easy???
Well, just slap em together in the Script!!!
How do I make 'write dialogue creation' easy???
Well just slap em together in the Script!!!
What if they want to get organized?
Creating multiple dialogue files?
...
...
See... the dialogue file is just a flat dict that gets processed into a json array... right???
So...
dictArray1+dictArray2 = theDictArray
Compile theDictArray into FSM
...
Am I... Am I wrong???
Like... That's it, just, combine the two
And like, how to connect them???
jumpTo and label??? Same logic as how you jump from different part of the script.
Everything gets combined into a single script.
It works cross-file too
Let's not overcomplicate this yea?
UPDATE!
Everything Finished~
The thingy is working as expected!
And I don't have to deal with a single venv, or actual workspace management!!!
And the script maker can work with a single file monolith
Or well organized script folder!
Let's gooooo~
HUMU!!!!!
...
Nyaaaaa~
Okay, next up is the uhhhh...
The THINGY!!!
Day, yes, Day, FOCUS! COME ON!!
I haven't had coffee, brb
Okay, got coffee...
Now, Day... How do I day...
How would script maker do 'Day'?
...
I think instead of day, we can do 'meeting'?
Like, number of meeting?? Sort of thing????
Hmmmmm...
If we want to do that... HMMMM...
Or should we go with Monika After Story approach?????
You go in there... And...
After certain amount of interaction, aff will not increase????
Or maybe the 'aff' event will be gatekept???
No, no, something simpler!
Be the script maker, what's the easiest and most intuitive way for me to design this Galge Relationship System???
...
Limit Conversation?????
NGAAAAAAAA!!!!
I realized now I don't play Eroge Enough...
Hmmm...
So here's how the new Mob Talker mod interacts with player.
Basically, when you talk with one of the mob girl, you will trigger an "Event" conversation.
When you finish the "Event" conversation any repeat conversation will be marked as "Idle" conversation, these are very short by nature.
If it's different day (so a day or two has passed), triggering conversation again will run another "Event"
Even then, some event can be gatelocked behind Affection Point. And one of the best way to increase affection is doing some mission (coming soon) and maybe quests (not coming soon)
And if all the events have been exhausted, then, well, the "Idle" conversation will trigger from then on until Script maker updates the script.