XaiJu
tgednathan
tgednathan

patreon


Devlog #9: These damned Phones!

As i sit in my chair with the screen of death I take a look at my life and realize there's so much left Cause I've been writin and codin' so long that Even Nathan thinks that my mind is gone

But i ain't never killed a bug that didn't deserve it Me be treated like a perv, You know that's heard of You better watch how you talkin' and what your codin' Or me and my furries might turn up

I really hate to curse, But i gotta log As they croak, I see myself in the keyboard smook Fool, i'm the kinda B the little homies don't wanna be like On my knees in the night, Sayin' don't come inside!

Been spending most my life
Living in the coders paradise
Been spending most my life
Living in the coders paradise
Been spending most my life
Living in the coders paradise
Been spending most my life
Living in the coders paradise

ANOTHER DEV LOG WITH ALICE!,

Woooooh! Yeah, and this time we aren't going to be doing a boring retrospection. No, we are going to be doing a look into the future! A brand new feature is coming in the next update. Which will be DRUMROLL PLEASE [insert disappointing drumroll] Really?... should have made one myself. ANYWAYS! The newest mechanic introduced will be a mobile phone! [Insert mobile phone picture] Yes indeed, good sir and sirrettes! Lads and ladies! You will be able to use your phone to influence Miles's decision on whether or not to press the button. Now there are three separate things for this devlog I would like to go over.

1 The usage of the phone,

Right. You may be asking, "Alice, what will we use the phone for?" To which I will say. Look back one paragraph and reread you forgetful perv. If you are too lazy to do that. Well... here we go. The main usage of the phone is for the player to interact with Miles and influence his decision. It also serves a bit of a worldbuilding tool to let us flesh out the relationship between Miles and Brandon (Maybe future characters? Who knows) During your playthrough you will be able to unlock several conversations with Miles. Depending on what you do and when you do it. Circumventing Ripley's desire to keep you isolated. (Careful not to get caught ) (edited)

2 the programming of the phone,

Now that the basics are out of the way. We can get into the technical details. A few systems are working together to make the phone work properly. We used a few basic components of the Unity engine itself. Mainly the scrollview UI element (we only removed the horizontal scrollbar). Allowing you to scroll up and down the conversation with Miles and reread all the fun! Though a strange error seems to have removed all conversations prior to the experiment. Weird right? There are 3 base parts: the background, the options, and the messages. The messages are played in sequence and whenever the conversation branches then you will be shown up to 4 buttons to allow you to pick where the conversation goes next!

We have the basic layout of the phone. Now we need the logic for the text conversations! These conversations are a lot more branching than the main cutscene and a lot more complex. Therefore, we elected to use scriptable objects named TextConversation and references to these TextConversations. Allowing us to split the conversations in small little segments and then to reference the next parts with the point changes for any and all choices/progressions. This allows us to control the progression off. But what is a text conversation without text messages?! So we made another simple class holding the text sender, their type time, their read time, and the text they send. Ending us up with this masterpiece of code! [Insert scriptable object image] At last the final part of this section. The tracked conversations. Since you can trigger multiple conversations at the same time we need a way to track them. Currently we are doing that in the phone script which will soon be moved to the savedata class to make sure you gremlins can't cheese it. From these tracked conversations, we select four conversations and then let you pick and choose which one you'd like to do first!

Now that that is all done. Onto the final parts (edited)

3 The writing for the phone,

Right. Now that we have had the 'easy' stuff for the phone, and with it all fully working. You think it would be easy to just... write it you know? Write the text conversations and apply the point totals. Well, dear reader. You would be severely WRONG! This took me BY FAR the longest of the three parts. For this writing is branching, confusing and complex. There are three problems you need to keep track of.

Make it fair: The player has to be able to convince Miles not to press the button without TOO much trial and error.,

Make it make sense: The points change needs to make sense, and the dialogue flow needs to make sense too. An idiotic conversation is an extremely quick immersion breaker,

Avoid loops: During this whole process, I needed to make sure that there were no loops. This can result in an infinite point gain and/or loops. The other solution was checking this in code and removing options when they are chosen, but since we use scriptable objects, that is harder than you may think.,

These three combined make it damned difficult to properly write the conversations. I have had to employ the use of an external tool (LucidChart) to diagram these properly. Terms that will be used a few times, so LEARN EM. They ain't hard: Node: A conversation, One of the little tables Branch: A choice, arrow between the tables Ending: A conversation in the endings table, an end.

I wonder if there is a LucidChart advertisement for smut. With all these in mind, I finally started on writing! First off. Different texting styles. I'll be honest, Miles's texting style is based on my writing style (Sans the typos and capitalization mistakes), while Brandon is... well, more of a friend of mine. The way I approached this problem is to first write the initial conversation as a single node. I then split up this initial conversation into several nodes where I could. Branching those new nodes into wholly new conversations. Looking where I could reuse old conversations and it would still make sense. After fully writing the starting conversation, I used Lucid Chart to visualize the flow of the conversation. I followed two rules to avoid loops.

Nodes can only branch into other nodes that are to the right of them. If this is impossible, there is a loop which must be TERMINATED,

Try to keep the conversations as much to the left as possible (The observant among you may observe that this rule is broken in the first image),

Using these methods, I was able to craft not 1, not 2, not 3, not 5 BUT 4 UNIQUE, BRANCHING AND ENGAGING CONVERSATIONS! That was all! I am going back to working on this game. Hopefully, we will get the finished product out soon! ALICE AWAAAAAAY!

 Devlog #9: These damned Phones!  Devlog #9: These damned Phones!  Devlog #9: These damned Phones!

More Creators