Gameplay Recordings #32

Open
opened 2020-11-26 18:00:10 +00:00 by kirsle · 0 comments

A cool feature will be to create gameplay recordings/demos, especially to drive the title screen of Doodle.

During a demo recording session:

  • Play Mode begins on a level
  • A "frame counter" begins at zero and counts up each game tick
  • The keyboard/event state is recorded with each frame
  • Results saved to a JSON file or whatever.

To play back the recording the engine would load the level and use the saved json file instead of reading from the actual event state. If the player hit the Right Arrow button on the 30th frame during recording, the playback should reproduce that keyboard input on the 30th frame during playback.

Other considerations:

  • Gameplay should be deterministic, no random numbers that could break the replay.
  • The JS interpreter for doodads may provide a random number function, but the seed is deterministic somehow (either global seed (easiest) or a new seed on each play, and the seed recorded in the demo json)
A cool feature will be to create gameplay recordings/demos, especially to drive the title screen of Doodle. During a demo recording session: * Play Mode begins on a level * A "frame counter" begins at zero and counts up each game tick * The keyboard/event state is recorded with each frame * Results saved to a JSON file or whatever. To play back the recording the engine would load the level and use the saved json file instead of reading from the actual event state. If the player hit the Right Arrow button on the 30th frame during recording, the playback should reproduce that keyboard input on the 30th frame during playback. Other considerations: * Gameplay should be deterministic, no random numbers that could break the replay. * The JS interpreter for doodads may provide a random number function, but the seed is deterministic somehow (either global seed (easiest) or a new seed on each play, and the seed recorded in the demo json)
kirsle added the
enhancement
label 2020-11-26 18:00:10 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: SketchyMaze/doodle#32
There is no content yet.