BGE recording animations

Is it possible to record gameplay to frames and how. I know about Record Animation but it only saves physics, I need some way to save Actions animations as well.

You mean record the actual gameplay? You need a screen recorder for that. Record Animation records the physical movement of an object (falling, bouncing, etc.) and turns it into an animation.

Well I have made this which records frames and you can play it back (while the game is playing)

I hear this feature is being remove from blender, as UPBGE which will replace BGE has already done so. I hope there’s a replacement, because I’ve been making a puppet style rig with it :frowning:

Well, I think it would be wise to add a command to bge to write data to a blend,

One could use the motion logic brick to append events to a list
(a rotation brick that does not exist) would also be needed.

The events could be cleaned up somehow, and written to a .blend later
(for speed)

Writing a gameMesh back to a .blend or an animation, or a group of objects in duplicate mode, or overwrite mode etc, would be quite handy.

What about say recording NPC’s moving along a Navmesh?

We can do that without the npc even moving

List = navMesh.findPath(startPoint,endPoint)

You can use

(point-point).magnitude to get distance between points

(storing)
pointPickle = [ point.x, point.y, point.z]

Into a list

List = [ [p0, Dist], [p1, Dist], etc]

Can be pickled, and then recalled in bpy

Actors move at a rate, and knowing the distance between points means one can extrapolate the times

Thanks for the inspiring replies BPR, I’ve recently been going through some Python books & I need to brush up on that and codeacademy. If you have any examples that’d be handy.

With that NPC navmesh example; would dynamic obstacle avoidance be recorded if the NPC isn’t moving?

I’d prefer a system where what one see’s in the game engine, is what’s written to the curve editor as is currently the case in 2.78 vanilla BGE.

Second query, this would have a lot of exciting potential for animators, what about “recording” actions/poses that take place in the game engine to blender (currently not possible) as the OP said.
Perhaps writing to a list noting the time when an action starts in BGE and a different blender script reads that in the blender-app and places your actions along the NLA track maybe?

Yeah, saving start anim time stamp, and stop anim time stamps could go a long way,
Especially when combined with the navpath system.

I will have to investigate when I get time