spncryn/log

Menu

Month: May 2020

30052020

Another day without any meaningful work. Tried to get some writing done, but it wasn’t that successful, to put it one way. The state of the world outside is really starting to get to me. I’m finding it increasingly difficult to find the motivation or necessary context to justify my work. I suppose I don’t have much other choice though but to continue. I just wish it didn’t have to be this way. 

29052020

Didn’t get any meaningful work done today whatsoever. I’ve been in a slump these past few days or so, which has been considerably exacerbated by the humidity. I wasn’t able to fall asleep last night until some time around 0700 and even afterwards I suffered from yet another strange and rather disturbing dream. This time I witnessed a series of increasingly bizarre and grotesque murders without any apparent context or relation. I woke up feeling haunted by an obscene sensation.

28052020

Spent some time today redesigning how the fog overlay’s opacity works, as well as the spawn system for it. Previously, the cloud instances were spawned in incrementally on a timer, which resulted in the potential for uneven clumps to form. Now, the cloud instances will all be spawned simultaneously along evenly-spaced cells on the height of the room as soon as the fog starts, but won’t animate (that is, move into position) until the overlay opacity has reached a certain level. It results in a much smoother and more consistent transition, as well as a dense fog cover which feels more realistic in terms of its spacing and uniform distribution.

It’s been incredibly humid since yesterday and I’m having difficulty going to sleep at night. When I woke this morning, I had a rather severe headache, following a very vivid and intense dream about catastrophic events to come which left me feeling uneasy throughout the morning. My computer is also heating up to a rather concerning degree, which makes working difficult for prolonged periods of time as the keyboard becomes uncomfortable to use after a bit. If this is a harbinger of what’s to come this summer, well…

27052020

Finally finished up the recipe selection UI for the printer… unfortunately it’s also only now fully dawned on me just how much work the rest of the stuff – calculating the exact ingredient values for the recipes, especially – is gonna require. I not only will have to figure out the actual approximate recipes for every single one of the rations, I’ll also have to create variables to track how many of each ration Avery has at any given time, and then I have to save/load all of those, and then I have to implement the popups for each individual recipe in the printer UI and check against some kind of master list whether Avery has enough of each ingredient to prepare them…

To put it very lightly, it’s gonna be a real pain in the ass all the way through to the end. The sole upside to all of this is that I can very easily just blunt-force it with a whole lot of global variables. It’s definitely not gonna be either pretty or clean but I suppose that this is just the price I pay. I’m not sure yet if I’m gonna start on it tomorrow – this whole printer business is really burning me out a bit, I’m not gonna lie – but if I can dedicate two or three days of full-time work to it I think I can get it done one of these weeks. Not too many days left in the month either, maybe I should finish up the other systems first…

26052020

Spent the day working on a bunch of backend tweaks for the fog which have improved the overall experience. Some changes of note include improved depth sorting, a smoother transition for the overlay, and the addition of a Perlin noise filter to the weather particle layer (ie raindrops and leaves). I still have issues to address, the most notable being improvements to the spawn pattern for the clouds – it feels inconsistent right now, sometimes it ends up looking pretty good but other times the clouds just bunch up together in a rather disorienting and ugly manner – but it’s looking pretty good now and I can probably let it go for now after a few slight adjustments tomorrow. Tomorrow I’d like to get back to working on the printer, and hopefully get it done for good.

25052020

Got a lot of progress done today although not on the printer: I got distracted shortly after I woke by the sound of the brook in my backyard and decided instead to work on environmental stuff. Amongst the number of additions I made, the two most interesting ones in my opinion are:

+ The implementation of a subtle darkening effect at night which causes objects to appear darker the farther Avery is from them (along with the re-implementation of a very old shadow system that I disabled almost a year ago in favour of the current one, but which works well with the aforementioned effect to produce a kind of harsh lighting appropriate to torchlight). This alone took me several hours of what I now realise to be effectively pointless work sifting through forums trying to figure out how to pass a texture to a shader. After maybe the fifth hour or so I finally decided to give up and just use surfaces instead. Initially I’d avoided doing it because I feared that creating a new surface for each sprite of every piece of flora would have destroyed the performance; well, I should’ve just tested it directly from the start because my assumption turned out to be basically negligible at the end of the day.

+ The addition of fog, which previously I’d just handled via an overlay but which now also includes in-world cloud objects which have their own depth and gradually move across the screen. I’ve also tied in the overlay’s degree (ie how much it occludes the screen) to the number of cloud instances on screen at once, meaning the overlay will now dynamically adjust itself based on how dense the coverage is. It’s not perfect yet as I still want to adjust the depth a bit more to produce better consistency but it turned out looking much better than I’d initially expected.

24052020

Didn’t quite manage to finish the printer as I would have liked, but I put in a decent amount of time and effort – well, better than the past few days combined, I reckon – and got the most annoying part of it done, which was setting up the framework for the “Recipes” screen. There’s no interaction yet with the actual recipes and I’ve yet to implement any meaningful visual effects (I suppose that’ll constitute the bulk of the next two days’ worth of work), but I think the worst part of is now behind me so the rest is just a matter of moving things into the right order.

23052020

When I woke up today it was incredibly dim and humid, and I felt completely drained. I still haven’t been able to progress on the printer UI much, although I did implement a very minor change, which aligns the ingredient amount display for the composite materials to the OK/REFILL/EMPTY style used by the rest of the ingredients (will probably put a toggle in the options screen for choosing between approximate and exact amounts). Instead, I spent most of tonight working on new UI audio for the satellite view. All of the environmental audio is muted once the player enters the satellite view and is replaced by a new ambient track (not exactly “realistic”, I suppose, but I think the effect works well enough). There are also unique sounds for zooming in and out. 

Tomorrow I’m gonna finish this printer shit for good, no more delaying it.

22052020

Didn’t get anything meaningful done today. I designed the icons for the recipe categories – they’re split into meal and sundry rations (I haven’t finalised the names yet, although it’s probably gonna be either “meal/sundry” or “primary/supplementary”) – with the intention of building the full menu today… but lost all motivation to continue working for some reason almost immediately afterwards. It was incredibly humid today, which I imagine had some kind of effect upon my mood, although I can’t quite articulate how… fortunately I uploaded my #screenshotsaturday post today so tomorrow I can just focus on getting the printer UI done.

21052020

I’d initially planned on getting some more work done at some point tonight, but I no longer feel motivated to do so. I didn’t get much done today, just the save/load for the ingredients. Hopefully by the end of the weekend I can finish up the printer’s UI at the very least: I’ll spend some more time tonight figuring out how I’d like to handle the recipes (basically, if I want them all in one list alphabetically, or if I want to have separate categories for different types of rations etc) but once that’s sorted out the actual execution should be pretty straightforward. Just slightly over a week left until the end of the month, which means I’m about two weeks behind schedule now…

20052020

Finally got around to putting in some dedicated work on the printer. I implemented the full interface for the available ingredients, including the transferal prompt for the raw materials: the only thing left to do is to integrate the stored ingredients into the save/load system, which shouldn’t be too difficult as it’s basically just a stack of single variables. I’ll try to get that done tomorrow, and then start on the recipe page.

19052020

Another slow day. Once again got distracted and didn’t work on the printer, but instead decided to implement cattails (I’ve yet to add interaction for them but that shouldn’t be too difficult to implement). I also touched up the wind FX again across the board, and added a new grass pattern which is a bit denser and reacts to the wind slightly, unlike the static small grass. I’m still trying to figure out the precise tuning on it but so far it looks decent enough.

18052020

Wanted to work on the printer some more today, but I decided not to for whatever reason at the last minute and instead spent the day dealing with a variety of miscellaneous adjustments and whatnot. The most interesting one involves player-based collisions with solids; before, the player could just force Avery to slide against solid surfaces by pressing two directions (ie, up and right, or down and left), causing her animation to get locked in a weird position. I’ve now implemented a fix which aligns her properly with whatever direction she’s “sliding”: for example, if the player presses up and right against a wall to her right, instead of using the upward-diagonal sprite as before (when her sprite was tied entirely to player input and ignored her surroundings), now her sprite will change to the more proper and natural upward sprite. Her walking animation is now also properly disabled when she’s stopped by a collision, meaning she won’t continue to walk forward into a wall that she cannot pass. Lastly, I fixed a long-running issue which caused her animation to spasm when two keys in opposing directions (ie, left and right) are held down simultaneously. She now will default to her base idle animation, and won’t move.

Outside of movement, I also fixed the movement (or lack thereof, as I discovered) on the tall grass when Avery passes through it. I was wondering why it looked off for so long and I finally figured it out why tonight. I still have to figure out how I’m gonna handle the depth issues on it, but I’ll save that for another time.

Lastly, the wind movement of the trees and smaller flora have been adjusted to feel much more natural. Instead of just standing still at rest, they now sway in their “idle” position, with a wind collision triggering a particularly strong rightward sway. The intensity of the sway can be adjusted via a script and is relative to the mass of the objects (so trees don’t sway as much as various plants and such).

16052020

Spent about an hour or two writing up this month’s update, which is available to read here; then worked on a new environment for a bit for the #screenshotsaturday post. I decided to work on a less… ostentatious(?) environment this time: just a stretch along the lake. It doesn’t look anywhere near as good as I envisioned… I’m mainly just not that satisfied with the way the waterline blends in (or rather, doesn’t) with the contours of the shore; it feels way too linear and unnatural, it just seems to kinda immediately begin with no degree of graduation of any kind. The water effect itself also looks pretty flat, I’ve now come to realise; it works well for shallow water, like puddles and stuff, but there’s no sense of depth really, which makes it problematic to communicate. Well, in any case, I suppose I have plenty of time to work on it and improve it moving forward. 

The weather was exceedingly pleasant today and it had a positive impact on my sense of self and others. I think it’s gonna get colder again soon though…

15052020

Didn’t end up getting any work done today, although I did manage to finish the write-up for the Kickstarter tonight. I mostly just spent the day in a kind of anaemic haze, looking outside and fiddling with LUTs in Far Cry 5. It was a very warm and bright day outside, slightly humid: the highest the temperature’s been probably all year. The air outside was saturated with the scent of fresh rain and fertile soil.

Tonight I watched The Forest of Love with Haolun over call. It was deeply unpleasant, to put it lightly, and filled my soul with a bleak and dirty feeling. It was well-made, as to be expected, but I find myself questioning now if that even matters. 

14052020

Still not enough amount of work done today but I at least managed to accomplish something: got the home interface for the printer set up, including the graphics for each individual button, as well as a very basic framework for tomorrow’s work. I’ll try to implement at the very least the ingredients page tomorrow: then I have to start working on, and hopefully finish up the update for the Kickstarter campaign. I still haven’t really figured out what I’m gonna be covering this time, to be honest…

13052020

Struggled throughout most of the day to get work done but finally managed to get about an hour in just now at the end. I got the framework for the printer set up: now all I have to program the actual interface for it. The next two days or so are probably gonna be a bit busy since I have to write this month’s update for the campaign tomorrow, but I’ll try to fit in time for it and hopefully get it at the very least started by the end of the week. I have no idea what I’m gonna write about: honestly, I can’t even really remember what happened this month. The year’s almost halfway over already…

12052020

No work today either – although I certainly tried (well, a little bit). I actually woke up relatively early today (given the fact that I didn’t go to sleep until 0500) – around 1130 – but I just didn’t feel like getting up and at some point must’ve fallen back asleep again, because the next time I awoke it was already nearly 1600. I sat at my computer for a bit but I couldn’t remember what I was trying to do whenever it was the last time I worked on something (I think it was probably three days ago). I’ve been feeling real tired lately; not specifically of my work, but my life in general. I don’t think there’s anything I can really do except just wait until this passes, whenever that will be, and in the meantime I’ve just gotta keep on putting in the effort. 

Julia and I watched the Mamma Mia! sequel today, it was astoundingly good and put me in a very positive mood, at least for a little while. The feeling unfortunately didn’t last too long but at least it was there at all, even if just for a moment. 

Tomorrow, I’ll specifically be focusing on implementing the framework for the UI for the food printer, including design and layout. Once I finish that, hopefully I’ll be able to get started on the interface for the ingredients hopper/processor. It should be very basic: display the number of each material being processed, and the existing amount of materials stored, and a confirmation + progress prompt. If I can get that all that done by tomorrow, I’ll be back on track for the week. But first I have to find within me the will to start.

11052020

Fell asleep early yesterday, around midnight, and completely forgot to make my entry for the day. Rest assured – I did no work whatsoever. These past two days I’ve just been working on an essay that I started on a whim when I woke up yesterday and decided I was gonna take the day off. I’ve just now finished it, and it’s sitting at a bit over 12,000 words. I can’t even be bothered to read over it at this point, and I’m just tired: there are some parts of it that I think are decently interesting but a good amount of it, especially towards the end, probably just fucking sucks. Whatever, it’s done. 

Tomorrow, I’ll get back to work proper.

09052020

I woke up incredibly late today, around 1600, after feeling completely unmotivated to get out of bed. It was snowing when I awoke. I’ve been feeling something akin to a totalising sense of emptiness once again these past few days. It’s that feeling just after you’ve come off a high, or when you’ve just finished watching a really moving film or something and you step out of the theatre or open the window and the blankness of reality hits you again… and it all just feels terribly unreal, like you were never really there.

I built a new environment for #screenshotsaturday – another waterfall, as you may – and then spent the rest of the time addressing minor QoL changes and fixes in several of the interfaces. I’ve decided that certain rooms will now ignore the top letterbox. The game also now saves and loads properly once entries have been backed up. 

I don’t know if I will or even should work tomorrow, nor what I’d work on if I do; I should probably take a break, but the problem is I don’t feel like I have anything else to occupy my time, let alone meaningfully. I guess we’ll see tomorrow.

08052020

Got up pretty late today, around 1500; every time I woke up prior to that I just felt incredibly exhausted for some reason. I’ve been having rather intense dreams lately, that leave me feeling haunted and oddly nostalgic when I wake. They’re full of people… most of them from the past, but some of them whom I don’t recognise. 

In any case, I didn’t get to start on either the foraging system or the interface today as I’d planned but I did manage to finally implement a proper save/load system. It’s pretty straightforward – just an INI read/write operation with a bunch of variables – but seems to work completely fine for the moment, so I’m just gonna stick with it until problems present themselves (although I don’t expect they will). I’m probably gonna have to rethink how some of the inventory management will work, as there’s gonna be an ungodly number of tracked variables eventually; although thankfully the vast majority of them are just static integers or booleans. If I’m able to get back to work proper tomorrow I’m gonna try to implement the inventory screen for the materials, as well as loading them into the food printer.

07052020

Good progress throughout the day: set up the raw food materials today, including assigning them individual masses and calculating combined mass by total quantity. It’s probably the most taxing part of the entire process honestly, at least on this end: the rest of the stuff is just implementing that back-end into the interface, which I imagine will be shared with the general PDA interface (which admittedly I haven’t touched in quite a while…).

Tomorrow I’m gonna implement the foraging mechanic, which randomly generates a number of raw materials depending on the environment and time of day, and try to get the interface set up.

06052020

Another day with no tangible work. Despite going to bed at a pretty standard time last night, I woke up well into the afternoon around 1500. The sky was blank, completely overcast, and I felt utterly demotivated. I spent the afternoon playing WWZ and managed to completely finish all the campaigns on Extreme, including the new Marseille one: one of the few, if not only accomplishments I managed today. 

I did spend some time throughout the day periodically thinking about various directions I want to take the game in in terms of certain implementations. I’ve been thinking a lot about the overarching story in particular, and the history of the region. If I’m not able to find the motivation to work again tomorrow I think I’m gonna spend the day writing. Otherwise I think I’m gonna start working on the food printer. I realised just now that that’s an essential part of the game yet for whatever reason I never actually got around to implementing it. 

05052020

Woke up at a respectable time today feeling alright… and then proceeded to do nothing the entire day. I think it’s because I sat at my computer and started to draft the structure of the thought-map, before it dawned on me rather gradually after fifteen minutes that it actually completely didn’t fit my vision of the game’s structure after all. Realising that probably threw off my mood for the entire morning as I’d planned on working on this all week. I went to sleep shortly after that for a few hours, woke at around 1600, and then just played WWZ for the rest of the day. I’m not really sure yet what I’m gonna work on tomorrow. Maybe it’s time to start making more environments.

04052020

I felt strangely anxious all throughout today, probably because of a strange and intensely vivid dream I had earlier this morning involving Alexandra. I spent all day in a restless and vaguely disturbed mood, unable to concentrate on anything for longer than two minutes or so at a time without having to get up and walk around.

Nevertheless I still was able to accomplish the objective I set out to do yesterday – the search function for the Log app – as well as a bit of general cleanup. Tomorrow I’m gonna start drafting out and setting up the foundation for the thought map.

03052020

Took the day off from work, and watched a few films with my friends. The weather was once again exceedingly pleasant, probably even more so than yesterday actually. Tomorrow I think I’m gonna implement the log search feature. After that, I’d like to shift focus and start working on the thought map, which hopefully I’ll be able to finish next week. I’ve been maintaining very steady momentum this past week at least and I hope it carries through.

02052020

A whole number of various implementations today, some more major than others. This morning I decided that, instead of posting about the UI again for #screenshotsaturday, I’d create a new environment. It took me only about half an hour (although if you count the time I spent recording a suitable reference for the waterfall to begin with – I ended up using one from Odyssey – I suppose it took just over an hour) but the results were surprisingly decent. Admittedly the area in question is very mechanically simple, with few actual objects of interaction: but it looks very good and took very little time to build and see immediate results. 

I spent the afternoon continuing to build upon the framework for Log, focusing this time on expanding the UI’s visual components. The overall UX is basically complete as of today: the player can type and submit new entries, read all previously saved ones (with ones that have yet to be uploaded denoted with a direct message), and back up entries to the server, saving the game (this latter part has yet to be implemented because it involves building a comprehensive save system, which I’ll handle in probably a week or so). The upload dialog now successfully and dynamically accounts for cases in which there is one available entry for upload, multiple entries available for upload, no new entries available for upload, and an unsuccessful connection to the host server. 

I also performed some general housekeeping stuff in regards to cleaning up other code along the way. The most imminent issue involved some kind of extreme slowdown when accessing the stored logs, that was due to a poorly-written string exploder code that I use to calculate the word count for each entry. I just replaced it with one from GMLscripts and it now seems to work completely fine without issue.

It was a very nice day outside today. It was warm and the air smelled clean yet full of scents that filled me with nostalgia. Days like these make me sad in a way: they remind me of my childhood, of high school. Of my friends back then and the things we used to do together, the endless numbered days we wasted away thinking that the future wouldn’t matter and that anyways, we could, we would last much longer. It’d be reckless of me now, knowing what I do, to say that things were any simpler back then, but we were all certainly much more stupid, and in a way that ignorance freed us I think: from the burden of responsibility, of accountability for our lives and our desires. We cared for nothing but love and to be loved, and love and lust together seethed within us. I’m not gonna pretend that things were categorically better then, or that conversely, things are worse now. But I secretly hope I’ll be able to feel that again some day: a warm spring evening, and the blissful fragility and tenderness of my friends.

01052020

Spent most of today figuring out how to implement the save/load system for the log entries. I finally managed to get it working right after several hours of rather frustrating fiddling: basically, the ds_grid containing all the log entries and their relevant information is written into a virtual grid made up of two ds_lists, which is then added to a ds_map and encoded via JSON. All of this is done in a DAT file. When it comes time to load, the DAT file is opened, and the massive string (generated by json_encode in the save script) is decoded from JSON into a useable ds_map, which is then unraveled line by line essentially back into the ds_grid. If all of this sounds a bit abstruse, don’t worry, it was even worse to figure out.

I’m gonna try to completely finish the Log application by the end of the weekend. Tomorrow I’m probably also gonna take a brief detour to create a new environment for #screenshotsaturday: I reckon I can only show the same interface so many weeks in a row before people start getting tired; and anyways, it’s been a while since I’ve worked on a new environment anyways.

All in all, this month has started off pretty well.

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).