[may monthly] despairallax mapping, may streams (Patreon)
Content
firstly, the usual, for patrons who've upped or pledged during the month of april, and not a moment since then:
- everyone's been added to the credit list, but please let me know if you don't want to be on there, or want in under a certain name
- forum accounts have automatically been plugged into supporter status for level 5 and above where i could find them, but if your account is missing the tag, please let me know
- messages and such have been sent out above level 10, and if you are at a higher level than that and want to call in a request reward pleaseplease drop me a line and we will figure that all out!
--
now for the recap. in april i was taking some time off at the start of the month and generally taking it slow... i'm mostly feeling better overall regarding my grandma's passing, but, i've had a few dreams with her in them lately... in one of which i remembered during the dream that she was gone, started crying in the dream, and woke up actually crying irl. so. that was a morning.
on top of that i've heard of two other people i knew passing this month as well, not that i was close to either of them (a former neighbor, and a family friend from the church we used to work at)... it's just so surreal to have all of this happening in such a sudden span of time. i don't know.
i'm probably fine. i've at least been working consistently again over the last few weeks. so here's some Stuff we got done in april:
not to be outdone by a sudden working android build of reborn popping up, cass been hard at work (she's been suffering pls appreciate her) porting the game to MKXP, speeding up the original EXE, creating an all new faster one, and adding mac and linux support to the project
a huge thanks to everyone who helped test the early stages, and i'm proud to say she has finally pushed the game to a community beta for all three platforms which you can get and try if you haven't already riiiiight here:
https://www.rebornevo.com/forums/topic/51542-e183-beta-has-been-released-for-all-oses/
and for starlight:
(hyperlinks pls work....)
- we designed and scripted in a save menu
- we progressed from having a long list of combat models and message art needed for the demo to being started on almost all of them. (why not finished? lockdown is slowing down a team member-- but there's no rush on her part so it's ok)
- we finished the tag team combat model for glasya and lynnoe and implemented reinforcements
- we implemented action commands, and the above duo's personal ability, which very well may be one of the most complex to add in the game!
- oh, and uh, also i finished the tilemap for the demo's chapter.
that last one is new information, and directly leads into today's topic. y'see, at the end of the last post i was like
the battle map is almost done. i've mainly got just a handful of decorative tiles to finish up adding and then it'll be time to implement parralax support. super looking forward to everything except the programming part of that. that is probably the next big code hurdle.
next update post on the 6th, with this month's streams.
so in my head i was like
goal: finish the entire parallax by the time of this post and show up here like b-b-b-b-bam check this beautiful shit out
which i would like to officially assert for the record is a perfectly reasonable goal in theory that would have been completely attainable and also awesome
...if it weren't for some minor hiccoughs which have had me facerolling over code and laying around in a puddle of despair for most of the last four days.
status: mission failed we'll get 'em next time.
so i'm here to compla-- i mean, uh, elaborate.. about all this but let's back up to the prerequisite question and start from the beginning:
ame, what's a parallax?
great question, imaginary second person character. i don't actually know.

after looking this up again, i still don't really know.
but i can tell you what it is for our purposes-- it's the process of taking a tile-mapped image (or drawing one from scratch) and shoving the map into a file which is displayed as background of the map the player moves around on... and then just letting them move around on that instead. imagine the background view of apophyll from pyrous, or the view of the desert from beryl bridge-- but if the background were the same size as the normal tiles and you walked around on it.
putting the map in a background image means i'm no longer constrained to what the mapping editor will let me do, and suddenly we can go off the grid, we can add light effects, we can do crazy colors, we can mark it up anyway we want. it's great and i was super excited to start on that as soon as i finished the tilemap.
i've only done parallax mapping a handful of times before, back in the youthful days of yore long before reborn-- but it was a lot of fun and i've been itching to give it another go especially now that there's a lot more support for it than there was back then (and also like, i can draw and stuff now. crazy)
one of the forms of 'support' that i was excited to try out was a plugin that not only lets you have various layers in parallaxing, but also animates those layers as you wish. this would be a huge breakthrough because having everything on the background rather than the actual tile layer means it's very difficult to get animated tiles (like, say, water) to work in any meaningful way. with this plugin, i would just be drawing a few frames of water animation and animating that layer and badabingbadaboom we done
thus was the start of my despair.
because i was hesitant about if i would need to make any adjustments to the plugins to cooperate with my own systems, i exported the tilemap and made some rudimentary changes just to test them and make sure they would work. and they worked! easily, in fact.
but as the FPS counter showed, they (specifically the animation one) did not work very well.
my computer is from 2015, but it's still reasonably beefy as far as computers go. it should not have issues. the game runs at 60 FPS-- when animating, we were getting around 20.
if you've been following our recent development blog posts-- specifically this one-- you may know what we discovered about the animations in reborn. cass talks there about how the game was actually loading our 10 MB animation file every single time a move is called in game. this was causing a noticeable pause before moves on many computers. as of working on MKXP, she's sped up the normal executable of the game just by fixing how that loads, and making it only load once-- at the start. and that's it. boom, delay gone.
there is no excuse for essentials to have always been loading that file on repeat for forever!
learning from this, i had a hunch what might be going on with our animated parallax plugin (as it was also by some random third party). and i was right. this plugin, much like essentials, was reloading the parallax files every single time it needed to display them-- about four times a second. and these are not small files. because of how big the map is, one layer alone was 10 MB itself too.
but it did not stop there. to my utmost horror, not only was this plugin reloading the files every time it needed to display them... it was also, for some reason, reloading it on every frame even when it didn't need to update the visuals. and when it did need to, it loaded it twice.
i was just beside myself.
but wait, there's more!, she says, exhausted
not only was it loading the files on every frame, but the thing it was trying to load them for... didn't even function! i'm genuinely unclear on what it thought it was trying to accomplish, but from what i can tell, it pulled the file to ask if the file was currently being loaded, but i could not find a single condition under which it thought it was.
so it was just loading itself to ask if it was loading, and always thought it wasn't, even though it always was because it loaded itself to ask.

so i fixed that in the same way cass fixed animations.
and voila!
60 FPS while animating*!
*so there's been some weirdness, but let's skip to the end of the weirdness and report on the current status.
it is very consistently 60 FPS while animating... 9/10 seconds.
but for some reason, every 10 seconds, the FPS drops down to 30 and there is a noticeable lag spike.
this kills the ame.
you might ask, what happens every 10 seconds? the answer is, as far as we can possibly find-- nothing. we have been digging through functions and making the most of the profiler that comes included with the engine and i have been Scouring the google
and i have no explanation, and no solution, and i have tried a bunch of shit over the last three days to try and get rid of this every-ten-second drop and nothing is working and i have been so extremely dead inside that words cannot possibly do it justice.
the general consensus on the internet is that RMMV does not do well with big maps, and it does not do well with parallax maps.
i wish i had heard that before making a giant parallax map, 110x85 tiles later, here we are.
still, when not animating, it runs perfectly. it is very definitely the animation plugin causing this. and even then, 9/10 seconds, it is still perfect.
so maybe they're wrong about RMMV but regardless the community hasn't been able to offer much support. it's not hopeless that maybe someday computers will just get better enough that we can do this, or maybe we'll find out what's causing this
but as it is right now i feel like i have 0 explanation and 0 leads. so my option is just to not use the animated parallax plugin.
which sucks
this isn't world-ending. i can still do, like, 80% of what i wanted to with parallaxing while static. it just means i'll have to animate stuff like water on top of parallaxes using the old fashioned work arounds, which i'll talk about only after doing them. probably no one would notice the difference except for in waterfalls.
i was so poised to learn how to animate some damn pretty waterfalls.
on the other hand: who's idea was it to put like 10 waterfalls in the first map of the game?
some asshole, that's who.
i'll figure it out, and the map will still be gorgeous, but i'm just upset and dead inside.
you know, the usual.
i do a lot of different stuff in making these games but it a ranking of the tasks i enjoy the least, i think solving for performance issues is possibly at the very very bottom of the list.
and if i were a dedicated programmer in a company who had to make this, maybe i could dig deep enough and rewrite the low level code in such a way that solves this
but i am also almost every other person in the same company, and i would like to release this, or any game before i die of natural causes, so i am not going to do that right now
for now we will let it go, let the future take hold of it, and cry.
that sounds fair, right? topical, even.
this whole having to be (almost*) every person in the company thing has really been stressing me out lately, but that's probably gonna be a bucket of complaints for another post.
--
streams! we will be streams for this month! our sunday stream flavor experiments have gone ehhhhhhhhh fine i guess? so we're going back to saturday.
5/9 3p MST-- Starlight art stream
5/16 3p MST-- Reborn animation stream
5/23 3p MST-- undefined Starlight stream
they say the timezone link worked before... but will it work this time???
try clicking here to see what 3p MST is in your local timezone
thank you as always for letting me continue working on all this, especially in this calamitous and unceasingly tumultuous era.
≮̕3҉