Weekly Report (Jan. 15th)


Hello, everyone.

Another week has passed. As mentioned in the previous weekly update, I aimed to complete some code-related tasks before moving forward. Specifically, I focused on integrating the coroutine initiator, a task that couldn't be seamlessly accomplished at the time of the initiator's introduction, as mentioned in the relevant weekly update. I have now successfully completed this integration. Unless something unexpectedly catches my attention, I currently have no code-related tasks on my to-do list.

So, what has been done previous week:

- Applied the new coroutine initiator to the music player script - had to rework the whole thing to accommodate the new logic. I had A LOT of trouble and spent an obscene amount of time remaking this, and even now I’m not 100% sure it’s bug-free. I’ve encountered bugs when working on it, and though the latest iteration seems to have them ironed out, I may have simply been lucky to not encounter any;

- Oh, I also added a timer that indicates when the current music track is going to finish playing;

- Also applied the coroutine initiator to the indicator that appears after some time of inactivity during dialogue mode, the one that prompts the player to invoke the next nod - this script was less troublesome compared to the music player, but I wouldn’t exclude occasional bugs popping here and there, even though I think I tested it rather thoroughly;

- Revised the notification system, not only making it compatible with the coroutine initiator, but also making it possible to actually have multiple notifications at the same time. While I still programmed it in such a way that there can be no multiple identical notifications at the same time, different notifications can coexist in relative peace;

- Further modified the toolset (erm, a tad big of a word, but it’s the closest I can think of to describe those helper functions) I’m using when building levels. I already had a script that automated renaming tiles, but the renaming is more sophisticated now. Also, I programmed tile sorting. Previously, it was a huge pain in the ass to change a tile’s position, because I had to manually drag the object to its new place in the object hierarchy (or - which is worse - leave it where it was), but now it’s as simple as press ‘Sort’ (to update the place in the hierarchy) and press ‘Rename’ (to update the position in the object’s name, which is now a thing, instead of relying on the tile’s index number) buttons;

- Modified the logic for loading/replacing flavour strings on player collision / action button flavour string outputs. Before, the loaders were separate helper scripts that required the original scripts, but now I’ve moved the functionality inside the original scripts. I just felt like reducing component bloat. Haven’t tested yet. I still find this approach very limiting and largely convoluted, but hey, I can’t think of an easier and better approach as of the moment of writing;

- Disregard that, it didn’t work out in the end. Reverted back to separate loaders. A whole evening’s worth of work down the drain;

- Prepared background pictures for the lodgings floor of The Lonely Marigold and the protagonist's room - I'm not super happy with them, but they should be fine, at least for now;

- Prepared the scene for the lodgings floor, including the location strings - keep in mind that only the descriptions are different, the names are the same: 'Inside The Lonely Marigold'. I simply don't want to make each name different for every corner of a building. I find it cute that a player may be surprised to find out that strings actually change, prompting them to occasionally check them out via the L button. For some reason, the strings refuse to load in on scene start. I will find out why by the next weekly, but for now, you simply have to reach the tiles near the corridor connecting eastern and western hallways for the strings to get reassigned. Also, I may make the location smaller. I was trying to keep the size somewhat similar to the ground floor (pub + kitchen areas combined), but I find the lodgings floor a bit too big. Maybe I'll reduce the height by 1-2 tiles.

Initially, in the story script I have, I started a dialogue and forced sleeping sequence right after appearing in the lodgings area, but I didn't know I'd be showing flavour strings during player traversal between tiles and on action buttons pressing, so I will change the original idea. I will make the next sequence a little more interactive, in the sense that you will be able to walk around the floor before going to bed, and Lawrence will be able to comment on two rooms that will play part in the demo's story further down the line.

I am tempted to improve the SFX player to prevent the sounds from being forcibly stopped before the next one is played (resulting in noticeable audio 'chopping'), but I've already spent almost an entire month  working primarily on the game's code and optimisations. I will probably add it to my back burner and get back to it when I don't feel guilty about not pushing the story forward. After all, I WILL have to work on code, because having base systems is not enough, I'll need to also integrate them into the narrative.

And that's it. See you next week!

Files

CoFI-Demo-0.2.5.zip 109 MB
Jan 15, 2024

Get Chronicles of Forgotten Islands -DEMO-

Leave a comment

Log in with itch.io to leave a comment.