Sunday, 28 July 2019

NOT SURE

Ayy lmao, what is this, two updates in two weeks?
Just finished an engine upgrayedd, naturally with two Ds, for a double dose of this pimping.

This is the sort of thing I've been dreading and putting off for a year, but there are some features I wanted to play with and the old engine is absolute FILTH compared to modern chrome.
Literally can't even define const, let or arrow functions in the old version.
I really shouldn't have held out this long, but hey, maybe a couple of months ago I wouldn't have had the know-how to get this done.

So what have I done? Well, here's the checklist:

THE ENGINE UPGRADE


>BACK UP EVERYTHING
>Let steam update to the latest client

>Create a new project to get the latest core files
>Switch my old ones out for those (after extensive diffing to make sure I didn't revert edits I'd made)
>Replace the engine's version of nwjs with the latest SDK from the internet.
>Get the console up and running to see just how much of this shit is now broken
>Spend 2 days debugging and rewriting to work in the latest version
>Come on here and brag about how I wasted a whole weekend removing tech debt instead of painting butts, as if you're going to give me a chocolate medal or something


It was really fun, except for the parts where I wanted to die, but that's mainly the europoor heatwave.
Rather than go into laborious detail about what I had to do, how much blood came outta my eyes while doing it, I'll just stick to the fun notes:

Before:

Core files: v1.4.1 (hadn't updated since lateshifter development due to plugin incompatibility)
RPGMaker MV 1.5.1
Running in Chrome 41.0.2272.76 (March 2015)
>pixi 4.0.0
>limited gamepad API
>console that shit the bed after about 1 minute of being open
>fairly consistent 58fps, with big dips quite often
>RAM usage between 1.5GB and 2GB with emergency flushing to stop it dying



Now:

Core files: v1.6.2
RPGMaker MV v1.6.2
Running in Chrome 75.0.3770.14 (June 2019)
>pixi 4.5.4
>expanded gamepad API with VERY cool new features
>console that you can turn to night mode and never, ever quits.

edit: it just quit before I finished this post, but still
>improved performance (consistent 60fps, same computer)

>RAM sitting at something like 500mb with the console closed, I mean wtf?!


Pretty obvious upgrade, right?!
For the first 4 or 5 hours, I'd considered turning back, when something fundamental would break.
I had multiple backups of everything the way they were before, and it was very tempting to just head back and attempt this some other year.
But I carried on, safe in the knowledge I COULD turn back if it all got too much, and the more I stuck in there, the more I found that the plugins I'd considered essential all this time mostly held that status because when I started using them, I really could not program, not a hello world, nothing.
So reframing its necessity and having a look at what else is out there, what I could write myself, I just kept at it.

In doing so I also:
>solved some problems I had with lag while entering rooms
>refactored my sex scene payload structure

It was unreadable after the very instant you stopped adding info to it, now it's pretty clear.
>learned a whole lot about how audio is handled in the engine.
>added a stricter frame counter for sex scenes
Now the frames are dictated directly by which animation frame is showing.
Previously I'd start counters from the same position and I had checks to restart them if they got off course.
Now it's 1:1, they cannot go outta synch with each other, and all the sound and vibration timing is hooked into it, so it all just works.
>added vibration / rumble / force feedback for supported joypads
Awwwww YEAH. This was the main catalyst for the upgrade, so I experimented early on before everything else was working. I figure if it was a real pain and the vibration didn't feel good, I'd have a good case for putting it to bed and getting back to the old version.
It's very, very good. I really like it. I wanted to upload a video of my controller during a sex scene, absolutely pummeling my desk in time to the show, but this will do for now:


WEEEEEW
I'm gonna go soak my head, then shake some poetry out the ol' pudding.
Have a good one bros.

Don't take any shit
 Fuck Jannies
 Stick up for the things you love
 Don't let anybody make you afraid
 Drop right now and give yourself twenty
 Take pride in masculinity
 Switch off the news
 Really give a fuck
 Sleep faster, work more
 Attempt an engine upgrade only once in your life
Apologize for occupying space
 Break the chain
 Take advice from a dipshit internet filth baron like oko