30042020
April is already over… I feel like at the end of every month for the past year at least I’ve been expressing an ever-increasing amount of both bewilderment and anxiety in equal parts at how quickly time has passed, always concluding that the most recent month seemed to have passed especially quickly… but I feel that this month in particular has really passed by uncomfortably fast. All of a sudden the amount of time I have left compared to the amount of work I still have to finish has begun to feel terribly daunting…
I spent a few hours today trying to work through the backend of the log entry storage system. It involved reading a lot of documentation and forum posts, but I think I’ve finally figured it out. I implemented a two-column ds_grid solution: the first column stores the text for each log and the second column stores whether the text has been written yet (in-game, that is, once the player submits a new entry). When the game begins, a certain fixed amount of entries will be prepopulated to represent older entries Avery wrote in the past, which are all readable. New entries will throw an error message (”The entry you searched for does not exist.”) until Avery/the player submits the respective entry.
I’m still trying to figure out the exact details for it but I think I’m gonna implement a search-based system instead of the traditional list when it comes to presenting the log entries for the player to read. While the list is a more immediately familiar interface, both for the average player and when it comes to average software design, I’m leaning towards a search-based design in which the player/Avery must manually type out a number, which then is submitted as a search and if a corresponding case entry exists, it’ll be brought up. That saves me a lot of time in sorting through the grid and trying to figure out how to skip empty entries, to name just one issue that it solves. I might add in the ability to move backwards and forwards – namely, between the previous and next entry – but we’ll see about that tomorrow.
I also implemented mouse-based scrolling for the actual stored logs themselves. It’s a bit rudimentary right now and is strictly tied to the mouse’s position in the room instead of a fixed point (meaning it can’t be scrolled with the mouse wheel or keys, which is the ideal implementation); but the fix shouldn’t be too difficult I think (/ hope).