ENGINE TIPS, TRICKS AND BITS (OF INFORMATION)

Posts

Pages: first prev 1234 last
Marrend
Guardian of the Description Thread
21781
I'm starting to find setting regions in VX Ace really useful to keep track of what's on what elevation with my cliff maps, and such.
I just wanted to add this here, incase someone else is looking for it. Darken and I helped punkitt with this awhile ago.

How to create animated and moving parallex backgrounds in rpgmaker2000/rpgmaker2003 (the old method)



I'm not sure how frequent this is, but I know that adding "$" at the beginning of graphic files indicates that they are supposed to be handled as single characters rather than a group of characters for VX Ace (and probably VX as well). This is applicable not just to sprites, but also to portraits! slope game
For RPG Maker MV/MZ- possible to test out entire contents of an event page by Ctrl+A (Select all) then Ctrl+R. (Test)
In RPG Maker 2003, Auto-Start events exist in a kind of common event space while Parallel Process events do not.

This means that an Auto-Start event can teleport a party to a different map and then continue to run all of the code after a teleport, while a Parallel Process that teleports a party to a different map will cease running after the teleport.

In order to carry over Parallel Process code to new map, put code that you want to be persistent into a separate Auto-Start event and then trigger the activation of the Auto-Start event with conditionals in the Parallel Process.

This behavior might carry over to other RPG Makers that have Auto-Start and Parallel Process conditions.

Edit: Oops, looking back a page, I see that I already posted this.

OK, I remembered something that I haven't posted (hopefully):
I built my own text engine in RPG Maker 2003. It involved having a lot of events that change into graphics—graphics for the text window, graphics for the individual letters... When I put the code for changing the graphics for these events in the Common Events section of the database (as you would expect, since, text would be on almost every map), the code works well enough.

However, I discovered that, when this code is pasted individually into every map, and the window-graphic events and the text-graphic events are called directly from there (because they're also on every map), the code runs MUCH faster. With the common event version, I need to display the letters sequentially with a 1/30th of a second pause in between each letter, or the game starts to stutter. But with the local version, the entire text block (156 letters) can display almost instantly.

My custom battle engine is also slow, but it's running a bunch of stuff from the common events. I want to try moving everything to the battle map itself and see if that doesn't improve performance.
Did you know in Unity, optimizing your game's performance is as simple as using the "Profiler" window to identify bottlenecks and enhance efficiency
Discovered an unpleasant quirk!

In RPG Maker 2003, switches won't update from within a Move Event command that has a Jump sub-command.

If you have an event have a character's Move Event commands include Begin Jump or End Jump, and also setting a switch after that, that switch will never be actuated, ON or OFF!
Dyluck
For thousands of years, I laid dormant. Who has disturbed my slumber?
5184
Actually to be more precise, it seems it only doesn't work if you put something between the Jump and Land command. If you put it before Jump or after Land it works fine.

And also this not only specific to Switch, but pretty much all the other commands in the right column like change graphic, opacity, direction and animation fix. Basically only the regular movement commands work between Jump and Land.
Wonder if this could be offset with a split move command? That is, end the move on jump, then do whatever, then start a new move event with land.
Dyluck
For thousands of years, I laid dormant. Who has disturbed my slumber?
5184
No it doesn't seem to work. If you do a Jump with no Land, it won't jump at all, and in fact player movement will actually freeze completely and you'd be soft locked. Interestingly, if you do a separate move route afterward with Land or something else, it will unfreeze the player, but still no jump will have occured.
I was specifically having a problem with this when I was teleporting a player to a different map, that would then Auto-Start an event to have the player splash down in a pool (with the Jump command). The splash would be actuated with a switch when the player hit the water with End Jump, but, the switch never triggers! After more testing, it (and everything else, including Phasing ON/OFF, etc.) never worked as soon as Begin Jump was used.

I had a different event on the same map that was NOT Auto-Start, where the player jumps down from a ledge, and Phasing ON/OFF, switches, etc. seem to work fine in that situation, as long as, like Dyluck says, you don't do them inside the jump.

To get around this, I did the Phasing ON and Begin Jump, Move, End Jump in a Move Event, then, without waiting for the Movement to complete, started a loop where after a certain amount of Waits have passed, actuate a splash with a switch. Then, at the end of the Auto-Start event, after this loop, I put a Hero > Phasing OFF Move Event command. That does the trick.
Discovering more about RPG Maker 2003 as I work on the events after such a long time.

Like I mentioned previously, Auto-Start events exist in their own global pocket, unlike normal map events and Parallel Process events. An Auto-Start event's contents will carry over to a different map if you teleport in the middle of one. Because of this, you can set a switch that would turn off or otherwise preempt the Auto-Start event right in the middle of it, and the event would still carry through to completion. It seems to only check or update the circumstances at the very end of it, when it runs out of commands. Parallel Processes don't work like this, and check for their continued activation after every command.

My game is being set up to use switches to teleport. (The switch would activate an Auto-Start common event.) This teleportation can't happen in the middle of another Auto-Start event, because the current Auto-Start event won't let the other one run in the middle of it. The switch for teleportation needs to be turned ON, and then:
1. The Auto-Start event needs to run out of commands, either by reaching the end of its page or hitting an End Event Processing command
2. Its page needs to be stopped, either by a its conditional switch turned OFF, or another switch or condition turning ON and pre-empting it with a new page.
Discovered another... bug? Quirk of how the game is programmed?

Terrain ID won't be accurate until the map completely renders.

This sounds obvious, but it might have consequences if you are using a Parallel Process to get Terrain ID on a map that you're teleporting into with a custom transition that does a few things immediately after the teleport.

My situation, was that I have a map (let's call it "Map A") that uses Terrain ID to trigger a teleport to a different map. But, when I teleport INTO Map A, the condition of the Terrain ID is satisfied even though I'm not on that Terrain! The only reason the automatic teleport doesn't activate, is that the game is still busy with my code for teleporting in.

(I solved this problem by disabling the Parallel Process for checking Terrain ID while the teleport code is active.)
Pages: first prev 1234 last