devlog 7
I forgot to update this blog for a little longer than I would have preferred, but I’m here now at least.
real progress on the content side has been pretty slow, as I decided to spend a large amount of time rewriting code. specifically!
- rewrote the lighting system, and it is now hilariously fast. I’ll post specific details here sometime.
- rewrote the level loading system again. I wrote a tool in rust that converts the ldtk json into a ridiculously simple custom format, which (despite being rather unoptimized) saves ~10x the disk space and in some cases reduced the file parsing time by like ~20x.
- wrote the scaffolding for a programming language. this is rather unrelated. I kinda just wanted to lmao
- rewriting the entire player script to be faster, and more importantly, less buggy!
that latter point is what I want to talk about today! :3
the player
the player, henceforth named “nova”, is a fuckin little gremlin. just the most creature ever. this isn’t relevant.
nova’s old script was cobbled together very very quickly and haphazardly. when I first started working on nullstars, my number one priority was making sure I didn’t lose motivation from trying to Do Things Right Way, and I figured that if things got truly unmaintainable, future me would deal with it. (terrible idea). the result is some pretty buggy and inconsistent behaviour, but most terribly: nova’s movement was full of exceptions and extra little rules that, felt good enough in-game, but was impossible to reason about.
having the “do it right later” mindset is pretty bad for something as precise as the player. I already built levels with this inconsistent behaviour in mind, and I presently do not have the motivation to redesign the levels to accomodate for slightly different behaviour.
oops
… well here was going to be an explanation of literally everything on how nova worked, but it looks like I didn’t finish it… I went on an emergency haitus right about here, and I just came back here as of may. oops.