- Joined
- Jun 23, 2013
- Messages
- 13
- Reaction score
- 0
- First Language
- English
- Primarily Uses
I'm currently taking a break from my "proper" RPG to make some games in an unusual way, and I seem to have run into a problem. I've already gone through the help file as well as searching the forums, and it seems like events should run once per frame, but that's not what's happening for me.
One of the games that I'm making is a side-scrolling shooter. I'm only using pictures, determining their location using variables and drawing them with show/move picture events, such as the player's plane that you move by pressing the directional buttons(thanks to the conditional branch button press event). When a directional button is being pressed, I add a fixed value to a variable. If I'm pressing up or down, I subtract or add 2 to my "PlayerY" variable(RPGMaker seems to use an inverted Y axis which drives me crazy!), and if I'm pressing right or left, I add or subtract 2 to my "PlayerX" variable. All of this works perfectly, including things like shooting bullets/missiles when pressing the correct button(again with the conditional branch event) and even the "collision" of hitting the one enemy plane I've put in the game so far. All of the math seems to work just fine.
The problem I'm having is that there is a huge discrepancy between a parralel processing event adding to a variable and waiting for it to reach a value(in this case, adding 10 and waiting for it be 300), and using a wait 30 parallel processing event. After a lot of testing, it became obvious that it was taking about twice as long for the expected result using the variable method.
I also noticed that my "screen scrolling" parallel processing event, which subtracts 1 from a variable corresponding to the x value of a 2000 pixel wide image(with a move picture event after it) took a little less than 50 seconds to move it -1455 pixels. A little less than 50 seconds would be a little less than 3000 frames(50x60), and if the events are really only updating every 2 frames, then 1455x2 would be a little over 2900 frames. No matter how many times I test, it takes the same amount of time to scroll the screen.
I made a simple game to confirm this. It sets the game time to a variable in a parallel processing event and adds 1 to a different variable in that same parallel processing event. Then I have another parallel processing event that is nothing more than a "wait 300" event and a message box that spits out the values of the variables(\V[1] and \V[2]), and I made it so that the message box does not wait for player input to close(\^). The value of the variable seems to climb by about 150 everytime the message box pops up, and the game time confirms that right around 5 seconds passes between each message box, meaning that the event is only updating once every 2 frames. If the game time was wrong, or my own subjective timing my scrolling event was wrong, I could assume that the "wait" event is actually at fault, but all signs point to events updating once every 2 frames.
tl;dr
My parallel processing events only seem to run every 2 frames. Is this normal?
Edit - I made sure that the game was running at full speed by checking the FPS in the window(one of the F keys does this).
One of the games that I'm making is a side-scrolling shooter. I'm only using pictures, determining their location using variables and drawing them with show/move picture events, such as the player's plane that you move by pressing the directional buttons(thanks to the conditional branch button press event). When a directional button is being pressed, I add a fixed value to a variable. If I'm pressing up or down, I subtract or add 2 to my "PlayerY" variable(RPGMaker seems to use an inverted Y axis which drives me crazy!), and if I'm pressing right or left, I add or subtract 2 to my "PlayerX" variable. All of this works perfectly, including things like shooting bullets/missiles when pressing the correct button(again with the conditional branch event) and even the "collision" of hitting the one enemy plane I've put in the game so far. All of the math seems to work just fine.
The problem I'm having is that there is a huge discrepancy between a parralel processing event adding to a variable and waiting for it to reach a value(in this case, adding 10 and waiting for it be 300), and using a wait 30 parallel processing event. After a lot of testing, it became obvious that it was taking about twice as long for the expected result using the variable method.
I also noticed that my "screen scrolling" parallel processing event, which subtracts 1 from a variable corresponding to the x value of a 2000 pixel wide image(with a move picture event after it) took a little less than 50 seconds to move it -1455 pixels. A little less than 50 seconds would be a little less than 3000 frames(50x60), and if the events are really only updating every 2 frames, then 1455x2 would be a little over 2900 frames. No matter how many times I test, it takes the same amount of time to scroll the screen.
I made a simple game to confirm this. It sets the game time to a variable in a parallel processing event and adds 1 to a different variable in that same parallel processing event. Then I have another parallel processing event that is nothing more than a "wait 300" event and a message box that spits out the values of the variables(\V[1] and \V[2]), and I made it so that the message box does not wait for player input to close(\^). The value of the variable seems to climb by about 150 everytime the message box pops up, and the game time confirms that right around 5 seconds passes between each message box, meaning that the event is only updating once every 2 frames. If the game time was wrong, or my own subjective timing my scrolling event was wrong, I could assume that the "wait" event is actually at fault, but all signs point to events updating once every 2 frames.
tl;dr
My parallel processing events only seem to run every 2 frames. Is this normal?
Edit - I made sure that the game was running at full speed by checking the FPS in the window(one of the F keys does this).
Last edited by a moderator:




