0 reviews
  • Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Progress Report (7/26)

  • Pasty
  • 07/27/2014 02:44 AM
  • 1126 views
Welcome back.

This week's improvements revolved almost entirely around one concept.

Delta Time

Implemented Delta Time. Delta Time is a programming technique that measures the amount of time that has elapsed between any two processing frames. It's used to make sure your game runs consistently on any computer, no matter how fast or slow.

Delta Time is used primarily to keep gameplay consistent throughout lag spikes, but on fast computers, stuff will actually move faster without it, and that's a problem, especially if your game is based around timing!

  • Updated all Event Commands that rely on timing (ENTITY_MOVE, SYSTEM_WAIT) to use delta time.
  • Updated the Movable class to make interpolation rely on delta time.


New Event Commands:

SYSTEM_PAUSE: This will pause and unpause the game when called. More specifically, this will halt all non-serial ActionQueues and the Begin Step, Step, and End Step events of all objects. Not to be confused with SYSTEM_WAIT.

Because a user can still create Actions and feed them into ActionQueues, even if the game is paused, there's potential for build-up of actions that must be handled properly. So, any player input that doesn't either pause or unpause the game should be thrown out for that step if the game is paused.

Note: unpause events should always be generated strictly from user input!

Other Stuff:

  • Removed all references to alarm events, except in very specific cases, as these won't work with SYSTEM_PAUSE.
  • All scripts currently in the gmRPG engine now use Game Maker Studio's built-in intelligent code completion. If you're editing the engine in Game Maker Studio, this will tell you a script's arguments in the status bar when you write out the code to call a script.
  • Fixed bugs in the Animated object class.


Thanks for reading.

Posts

Pages: 1
Cool! So a dev could use SYSTEM_PAUSE when the player gets a call on their mobile device to halt all GMRPG processes?
When a mobile device has an event happen that takes the focus away from the running app, the Game Maker Studio runner is automatically halted, forcing the runner to stop all processes anyway.

But you could definitely fire a SYSTEM_PAUSE event when the app loses focus, and when the game comes back to the foreground, it'll be paused. This will probably be default behavior for gmRPG on mobile.
Pages: 1