fuck me
json part 2
hey remember last post when I said that I cut down on like a ton of ram? well I lied. gamemaker holds onto all of that anyways, keeping it allocated. aaaa.
some cool people on the gamemaker discord server recommended I create a custom file format, or inject the neccessary information directly into some gamemaker room .yy files. I don’t like either of those options. I’ll probably have to see about trying one of them sometime, because I don’t see my ram usage being sustainable.
another idea I had was to use ldtk’s multi-json export, so in game I could load a json then delete it from memory one at a time. this could work, but it’s non-trivial. file system access is slow, parsing json is slow, and unfortunately the player is fucking fast. also, gamemaker’s gc only runs at the end of every frame, so the loading and deleting will have to take place over multiple frames in some cases. yikes.
anyways. not my problem right now. at least performance is better.
what else is new
I spent the last 2 days making things feel just a little better. I got some feedback from friends that the controls feel just a little off, so I tried cleaning them up a bit more.
most specifically, climbing! I’ve noticed that climbing seems to be strangely unintuitive, and narrowed down the problem to nova being just a little bit too slippery around walls. now nova sticks for a few frames before dislodging from walls, and the velocity threshold for lodging onto walls was increased. I also bumped up the holding gravity just a little bit, to hopefully give nova a bit more weight (added some jump velocity to compensate ofc).
this was on my checklist for a while now: the timer running out no longer kills you. I had it kill as a temporary thing, but it’s been around for honestly way too long. now, the end-timer gate is solid until its corresponding start-timer gate has been completed at least once. this lets you enter the start-timer gate, explore a bit, experiment, but not be able to continue without going back to the start gate and completing the timer normally. I feel like this should be more… friendly. I’m not quite sure how yet. for the moment though, it will work.
otherwise, I optimized various things I could. also tried polishing up some music (hasn’t been pushed to the github yet).
whats next
level design. that’s about it. I have the most important pieces put together right now, I just need to go and make more content. I got myself a new notebook to draw out some levels, so! that’s what I’ll be doing I guess.
I have the rest of area 0 sketched out already. next up, I need to sketch out the general layout of the hub, then world 1, and that will be enough for a demo I think (aside from the other polishes - sound effects and such)! I haven’t quite decided what world 1 will look like. I’m deeply tempted to make it a city, 1. because Ejow, 2. because it would line up very nicely with the story I have in mind, but. I also really do not want to copy celeste again. lmao. will have to think about it.