Weekly Report (Dec. 25th)


Hey y'all!

It has been a very difficult week to drudge through. The first half of it was downright lazy on my part and the second was hectic, because I couldn't implement one thing that I wanted to implement no matter what. It simply wouldn't work properly. Hopefully, the new coroutine handler will prove to work just fine. At least as of now, even after testing, I don't see any problems with how coroutines are handler.

Content-wise, I did almost nothing. I - again - got stuck with the code, which is not something I thought I would enjoy doing, but surprisingly, it's not so bad. Sometimes, I even enjoy fiddling with it. Though, any competent coder/developer would be appalled with my game's innards.

Anyway, what has been done:

- Reworked scripts related to adding entries to backlog on stepping inside tiles and using action buttons that add messages to backlog - code is now cleaner (and less cluttered), but the main point is that now it is possible to add strings that are only going to be shown in case certain characters are either part of the player party or the counterpart party. Basically, if there’s Gaspar in either of the parties, strings with him using direct speech are going to be available, if not - they are skipped;

- A welcome bonus I didn’t expect would occur is that messages coming from the same string source are now shared among all triggers that invoke messages from that source. This explanation sucks, so let me provide an example: previously, when you interacted with pews in the church, the system was coded to have separate pools of strings for each tile, all copied from the same source, so if you first interacted with one pew, got a message, and then interacted with another pew, there was a chance to invoke the same message - now it’s principally impossible, because all strings are shared among all the pews;

- Wrote some basic strings for the Alderwick Streets location, both those that appear randomly on tile traversal and those invoked by action buttons. As soon as the latest quest stage is passed (after the dialogue at the tavern entrance), those strings are switched to placeholders; 

- Performed an internal clean-up and revision of all location strings - it turned out I forgot to update IDs for some of them, so I updated them and also looked through the strings themselves while I was at it;

- Designed a new location for the next stage of the tutorial;

- Freshened-up code for camerawork;

- Overhauled map mode code;

- Fixed a bug that caused a ‘blink’ during map mode to happen even if the camera and player were close to each other - by design, I wanted the blinking effect to only happen in case the camera was too far away from the player or higher/lower than the default camera height. Now, blinking will only happen if the player character icon is out of sight or the camera is higher/lower than the default height;

- There might have been a bug that allowed to move the map via mouse dragging even when not in map mode - for this, you needed to change to map mode and then change back to traverse mode, and after this it was possible to drag the camera, which would promptly return to the player character position once you let go of the mouse button. This was not intentional. Fixed;

- Introduced location segmentation as well as coded scripts that allow the player to 'jump' from one location area to another, with the area left becoming hidden and the area reached becoming visible.  To see what I mean, use the tile in the tavern with an arrow near the [ L ] icon.

- Developed a new system for working with coroutines (took me just three iterations to make the darn thing work as I wanted it to, and the final iterations is under 65 lines of code, smh) - now the coroutines (who knows, knows) don’t have to sit on the affected game objects, so it is possible for them to work even if the affected object is disabled. I needed to integrate it throughout the whole codebase, which took me an entire evening with breaks. However, I think it was worth it, because I will no longer have to look for workarounds and make sure the objects are active for the coroutines to work. Some scripts are not compatible with the new system, but I'll see if I can rework them to use the new coroutine handler as well;

- Overhauled the level background picture code - now it’s always in the centre of the screen. Besides, I changed the sprite to a more palatable one, in my opinion anyway. Also, changed the sprite’s layer - now it slightly smudges the tiles by being one layer above their base sprite's layer, making them appear less sharp, which is quite the problem with some of the sprites I use, especially when they change position or scale;

- Made it impossible to move until the transition screen is fully transparent on scene start - did so to prevent the player from moving before any logic that fired on scene start actually performed. For example, previously it was possible to move the player character before the church exit dialogue began, in that short time then the image was getting transparent;

- Fixed a bug that made the move button active even if there were no traversable tiles in the relevant direction;

I really don't want to say anything about the next update. I was planning to advance the story this week, but as you can see, I only made a new location, and that's it. I hope to do more story-related content, but whether I manage or not depends on pure chance at this point. Let's just hope I won't come across another in-game system that I may deem as needing overhauling ASAP.

Anyway, see you next year. If I manage to keep to the schedule, I'll release an update on the first of January, so wishing you a Happy New Year in advance! 

Files

CoFI-Demo-0.2.2.zip 108 MB
Dec 25, 2023

Get Chronicles of Forgotten Islands -DEMO-

Leave a comment

Log in with itch.io to leave a comment.