DerxwnaKapsyla 46 Posted February 23, 2016 Share Posted February 23, 2016 Last night I discovered a bug in not just Reborn, but my game as well, and core Essentials builds dating back to at least v14. NPCs, in an active walk cycle, will skip their third and fourth movement frames. Though this image is from my game, it shows off exactly what's going on, and beside it is the spritesheet for said overworld. As you can see, it's just skipping frame 4 in the sheet. It's not obvious that it's also skipping frame 3, I noticed that when I labeled each individual frame by editing the sprite in gimp. This also isn't an issue of lag, because. while the NPCs have this issue, the player character doesn't. It's also not just the player character sprite being treated wierdly (aside from being the player character), because if you set a player character sprite to an NPC on the overworld, it'll do the same thing. To prove that, here's a gif of the issue in Reborn when the NPC has a player character graphic, compared next to myself with the same graphic. I let the NPC move around for a few frames, and then I start walking to show a comparison. This probably would have been better if I slowed it down, but I didn't feel like injecting my slowdown script and all its edits into the script for the sake of this gif. But yes, this is a bug that is present in Pokemon Essentials, dating back at least 2 years, and is present in probably almost every fangame to date (Unless people have noticed and fixed it). Though, speaking of a fix, I have a minor hack to fix it, made by a friend of mine, but it comes with some... downsides and quirks. You can fix this bug by opening the scripts and doing a Ctrl+Shift+F Search for anything from this segment (In V14 of Essentials, it's in Game_Character_2, V16 should just be Game_Character). if @walk_anime @anime_count += 1.5 elsif @step_anime @anime_count += 1 end If you change the "@anime_count += 1.5" to something like, 2.5, it'll make it so the sprites animate all 4 frames when walking. The unfortunate downside is, this also affects the player sprite. This makes it look like the player is running in slow-motion whenever they walk. So it's not the most ideal fix. I bring this bug to the attention of the community because, maybe, someone will find a better fix than this method we've got, and because I feel this is something people might want to know exists. Link to post Share on other sites
TaciturnPhoenix 0 Posted February 23, 2016 Share Posted February 23, 2016 You have a sharp eye! I'm new to Essentials, but I'll see if I can mess with it. Mde might know something, too. Thanks for reporting! Link to post Share on other sites
mde2001 236 Posted February 23, 2016 Share Posted February 23, 2016 I'll note that this doesn't occur on NPC events that are set to slowest, but does on the others. It isn't a consistent skipping either as occasionally it will play the 3rd and 4th (at least on some speeds). Link to post Share on other sites
DerxwnaKapsyla 46 Posted February 23, 2016 Author Share Posted February 23, 2016 You have a sharp eye! I'm new to Essentials, but I'll see if I can mess with it. Mde might know something, too. Thanks for reporting! Honestly, for a very long time now, something has bothered me about the way npcs moved on the overworld. Like, ever since I started working with Essentials more or less, I've known something was off, but I just couldn't put my finger on it. It's not something one would notice really often, because you will seldom have npcs that move around in a constant stream like that. And it's also hard to notice when you're moving around as well, because the movement of the screen almost acts like a filter and messes with your perception. The best way to notice it is to stand perfectly still and watch absurdly closely. I only noticed it when I was testing my PWT events in my game, as the player is standing still while the opponent walks up onto stage, and I was like "Wait, something is really amiss here.", so I kept staring and staring until it all just kind of clicked. At first I thought it was an issue with the sprite, and that didn't really yield results - except for the fact that I noticed it not doing frame 4. So I slowed it down and confirmed my suspicions, and then marked the frames and noticed it was skipping frame 3. Testing it everywhere else I could with other npcs in different games was just driving the nail in my discovery home even further. I'll note that this doesn't occur on NPC events that are set to slowest, but does on the others. It isn't a consistent skipping either as occasionally it will play the 3rd and 4th (at least on some speeds). That... is interesting, I hadn't thought to test alternate speeds because I figured it would muddle results, since you normally don't have npcs moving beyond the default speed. The fact that its different on some speeds means that the fix I posted above likely wont work perfectly for those speeds, and a proper fix will need to be created instead of this weird workaround my friend came up with. Link to post Share on other sites
Lugruf 50 Posted February 23, 2016 Share Posted February 23, 2016 What's the programming language? Link to post Share on other sites
DerxwnaKapsyla 46 Posted February 23, 2016 Author Share Posted February 23, 2016 The language that RPG Maker XP and Pokemon Essentials as a result uses is called RGSS (Ruby Game Scripting System), which is a minor derivative of the Ruby programming language. This particular code is RGSS2, not RGSS3, I think. Link to post Share on other sites
mde2001 236 Posted February 24, 2016 Share Posted February 24, 2016 Once Ame sees this she'll add it to the bug trough and then the scripting team will probably have a look at it. So don't feel obligated to script a solution if you don't already have one. Link to post Share on other sites
Recommended Posts
Archived
This topic is now archived and is closed to further replies.