Hello there guys. Today is 30 of May, and I'm here working a lot. It took me a month and a half to write the entire third day for Karnal. Last time I told you guys I was about to finish it, and every time I do it, I do a quick reading of what I did wrote (because coffee + turbulent times in my country make us work on automatic sometimes), and there are some times that I redo a line, or two. Other times I erase the entire text and start it again.
Scrivener is one amazing software. It works like a big folder where I can store all the "chapters" of a book in order. It even let us "link" some documents to others so if we need we can click that link and go to the refereed document. It's amazing. But, the corrections in it are limited by misspelled words only, and as much as I think my English is fairly good, I know I make a ton of mistakes. Sometimes I miss some letters and I can fix that with Scrivener, but sometimes a comma is in the wrong place or I just used the wrong word for the sentence. No matter what, I don't know all the rules of the language even if I try to learn them every day.
So I copy-paste the text from Scrivener to my open office document, then I copy again to Grammarly. For those of you who don't know, Grammarly is a online software that uses an IA to check your text and show you what mistakes you did. It's pretty damn amazing. The free version of it does a ton of corrections, not only fix misspellings but also changes five to six words just to make that sentence better. Of course, I can't just click and spam corrections with it. I need to check if the corrections it suggests to me won't affect the overall texts meaning. Just like any piece of technology, Grammarly is not perfect, especially when we are writing text with our own story, something we made up. There are always some terms Grammarly doesn't understand and usually tries to offer something that's not that good in its place.
The reason why I copy/paste the text twice, one from Scrivener to Open Office, and another from Open Office to Grammarly, is because I use a set of text formatting to differ different types of dialogs, for example, A normal line of text usually means that's a text explaining a scene from Aiden's point of view or something he's thinking. If the text is on Italic, it means it's a text Aiden is speaking out loud and other characters can hear, and if the text is on Bold format, it usually means it's the route character who's talking such as Karnal or Wagner. This way I always know who's saying what, and I don't need to write useless text like:
"Karnal:
Text"
"Player:
Text"
This type of text is only necessary when third party characters come into play such as Chelsea, the resort manager. But when I copy and paste directly from Scrivener, the text formatting won't paste on Grammarly, just the plain text itself. It's probably a problem with compatibility, because the text formating does go from Grammarly to Open Office, but won't go directly from Scrivener to Grammarly. Is it a problem with Scrivener? A problem with Grammarly? Who knows? It's just a simple extra step I need to do because this way I can check an entire route part instead of line by line as I did before (Wagner's third day was a pain because of that and other things).
So now I correct the days on Grammarly and I paste the corrected and sometimes changed (sometimes I do read the text again on Grammarly and I decide to add more things to it to make it more robust and good to read) inside the JSON Editor.
The JSON Editor is another part I need to be careful: I cannot add any text that uses more than four lines of text in the text box, I need to check every dialog if I need to change the speaker to Nothing, the player, the character who's speaking, etc. Right now since I don't have the rest of the facial expressions for Karnal, I need to always check what expression is being called for him. On the preview, it's always "normal", but I need to call the correct ones so you guys can see them correctly in-game when the new faces are added too!
But the most difficult part probably is the attention I need to have when I select the anchors. Anchors are the link between routes, and they only exist on the end of a route inside an answer. Every time you answer something you're actually selecting an Anchor who will lead you to the route with the next sequence of dialogs representing the consequence of what you did.
An anchor has another value names "Affinity Needed" or in code "neededaffinity". This is the number of points you need to have with a character to access that route. I'm pretty sure the code always selects the route with the most points first, but I always put those routes in order of points from the highest to the lowest just to be sure. We never know when the machine will decide to stop doing what we ask them to do, so better to be safe than sorry. Like they always say: "Always remember to limit your AI before releasing something to the world". Ok, that's a stolen quote from Satisfactory, but that's a whole another story.
Anyway, if you pondering: "Well if the game expects an answer to move me between routes because you said only an answer contains an anchor that will link the routes, how do we go to the next route after the answer route is finished. Do you write the entire same text for all the answer routes? Because I never saw a single answer after I answer something, but I did notice that after some different text, every answer leads to the same text again" and you're smart if you got to that conclusion. It would be such a waste of time and resources if I had to copy/paste the same text after 25 different dialogs from an answer route, just for you to be able to experience the second part of that route. Can you imagine, after the answer and reaction in that new route I had to paste 80 new dialogs that are the same for all the new answer routes? Which means - four routes of answers containing 90% of their text is exactly the same?
You're right when you think A answer is the only thing that can have an anchor. An anchor is a part of an answer, and it would be bad if I decided to separate it from there. Instead, I coded a pretty simple solution in the game:
Every route that ends but needs to continue in another route will have one option/answer there. My games just verify how many options exist for the player to answer, and if there's more than one, it will display on-screen and wait for player input. But if there's only one, it will automatically select this option and move you -- forward --. THIS is essential to the day system. If I ever forget to add a "Forward" option at the last dialog of an answer route, the game will end. Because whenever the code tries to find the next dialog, and there's no dialog, and the dialog before had no option to answer with an anchor inside, it will try to start the next day. If there's no next day, it will go back to the title screen. So if you ever tried an old version of the game where after doing something you just got to the next day instead, that was the reason.
So now, imagine doing all this small work, having to check every single route just to be sure I didn't select the wrong route (My Json Editor will list all the existing routes, so I always create all the routes I will use first, then I populate them with text). I also need to add every Option/Answer points you will win or lose if you choose them too! If I forget about that, you won't be able to access any better routes in Day 4.
By now I'm working on the rest of the Third Act and all the answer routes. After that, I need to write the better routes for Karnal, the ones you should go if you answer an S question having 38 points for example. The better your affinity with him, the more flirty you two will become. Sometimes a simple "I like you" could become "I want to see you naked" outcome depending on how frisky the character can be explaining what he said. Sometimes an answer can have a continuation, and on that note, the player can be sassier with Karnal and that will lead to a totally unexpected outcome if you compare with the normal routes. Those routes I tend to write later because I need to make sure the main route is good enough but not too good. They need to feel natural no matter it's your first time with the character or not.
So, yes. Right now I'm doing the "population" of the routes, that's how we call when the software has to add all the lines there for you to see. It "populates a section". Once this is finished, I just need to do a final checking, to see if every option/answer has the correct route anchored and the correct points to add or remove and of course: The correct character is selected for that point to be removed or added. And I also need to check every answer route end line to see if it's sending you back with the Forward Option to the next route. Before I was making all the acts in one go, but after I noticed every time I needed to add a line or remove a line, I had to go through all the options and change the index inside the anchors (in this case for all the answer routes) or you guys would be forever stuck in a loop if I had added more dialogs or would skip some dialogs if I had deleted some (you can see I can select an Index when I select a route, that's the text you will start with. if none select you to start from the first dialog), so now I split the routes into parts, each part containing the first, second, third, fourth, fifth set of answers and being labeled part1/2/3/4/5 and so on. This will also ensure whenever I have to add or remove a line from the main act, I won't have to go through 7 - 10 other routes fixing the index you need to start on the next route because it's not the next route but a previous route but you need to start just after the last set of answers. That problem occurred way too much in Day2, especially for Karnal's route. A lot of you at the time had that issue that after answering something for Karnal you always got back to the same answer. Well, that's the reason: The index you start won't change. Actually, if I delete too many dialogs and the index it sents you won't exist, the game would probably stop working at all. So to avoid that, I decided to create more routes and split them into parts instead. It's more organized that way and easier to maintain.
Oh boy, sometimes I lost track of time while trying to explain the mechanics of the game, but down below, you guys can see me working on the 3rdDay/Karnal/3rdAct/Part1 route of Karnal part of the third day. You can see me adding the last text, the four answers, selecting how many points you gain and what character needs that point added/removed, and what anchor is needed to select there in the list with all the routes that exist on this JSON already. Then you guys can see me looking at the preview on the side to check if the number of the answer matches the points gained and the correct route (because I can select a Wagner route if I'm not paying attention and that would create a ton of confusion for you guys. Actually, I think this would make you guys as confused or even more than what I was when I learned that Kansas and Arkansas sound completely different from some weird, creepy reason I don't want to think about), not only that but I can make you go to any wrong route, even going back to the previous act. That would create a loop. So, as much as having a JSON editor helps me a LOT, it also shows me how much I need to be careful when I'm putting the information on the game. It looks complicated and it is. It's understandable if you mess with it for a while, but boy: It's easy to make a mistake here.

Anyway, with all of that being said I'm going to try and finish all the answers routes and the last three parts of the third act (because I paused to write a little and tell you guys where I am with the development of the game) by tomorrow. I plan to release an alpha with this first part of the day for you guys to download before the month ends, but I can't guarantee I'll be fast enough. There are still 36 routes for me to populate, and some of them are bigger than others. Especially the Part 2 and 3 of the third act, they are massive. But overall I'm enjoying working on this game story. I want you all to come on the page of the Alpha release when I release the next alpha and tell me what you guys think about the Lore I added to the story. I don't want to make this a political game, but I do like to think how our world would work if hundreds of years before today nature decided to evolve the animals we've been killing and removing from it by burning forests and advancing our society to make them have a fighting chance to survive. What would happen if we as a civilization suddenly noticed that now, human-tigers are walking around, talking and that they are as sentient as we are? That they can think the same way as us and communicate with us. I love to think that and I love to think that we would not be receptive to that. Hell we enslaved entire cultures before, some nations invaded others, in search of resources and stuff like that, I definitely think if one-day anthropomorphic animals started to show up we would try to exterminate them because there's not a more arrogant thing than us, that's what I think. But maybe I'm watching too much Avatar.
Anyway, I'm going back to work, and I'll try my best to bring the game for you guys tomorrow, but please forgive me if I can't. Making a game alone, having no help at all with anything, and having to do all the other works around the house to live in a good place where we can look around and feel at home, it's not easy. Then you put that with a government who wants to kill its people instead of helping them, walking towards a dictatorship every day, sometimes it wears me out very quickly. So I'm sorry about that guys. I'll work as hard as I can, as always. And thank you all for sticking with me. You may think that this 3 bucks you give me every month as a tier 1 or that 20 you give me as a tier 4 is such a small thing, but right now, it's what separates me from not having a job and having something I can work on and pay my bills with it. So, thank you all for helping me in those difficult times. You guys are amazing!
I'll see you guys soon with the next alpha!