Full Throttle style/ Full screen cut scenes?

Started by DavidGabriel, Thu 19/07/2012 23:23:50

Previous topic - Next topic

DavidGabriel

Hey, Im wondering what the best way to incoporate full screen cutscenes would be? Ive thought of perhaps exporting each frame of an cutscene and setting them as alternating room backgrounds but I am yet to figure out a way to make the cutscene END rather than loop (ie. make the player automatically leave the room once the animation is over.

I figure this isn't the best way.

Crimson Wizard

Quote from: DavidGabriel on Thu 19/07/2012 23:23:50
Hey, Im wondering what the best way to incoporate full screen cutscenes would be? Ive thought of perhaps exporting each frame of an cutscene and setting them as alternating room backgrounds...
Although I never did anything like that, but basing on my personal experience with AGS I would not recommend you make it with room backgrounds unless there's no other option. There could be only 5 room backgrounds, and you won't make much of an animation with that.
I am not sure what you mean by "full screen" cutscene. I know "Full Throttle", but what exactly that term stand for?
If you mean complex animations, they could be done by playing a pre-rendered video. AGS can do that, although I am not a spec here.
If you mean close-ups, like in the FT intro where two guys are sitting in the car, talking, this is more simple, you just make a room which resembles insides of a car and place two characters resembling close-up people figures there.
If you mean you do not want player character be seen, you may simply hide him by setting room property "Show Player Character" to false.
If it is something else, please give more details.

Quote from: DavidGabriel on Thu 19/07/2012 23:23:50
I am yet to figure out a way to make the cutscene END rather than loop (ie. make the player automatically leave the room once the animation is over.
Again, I am not sure what you mean. Animations may be played only once, they do not need to loop all the time. Character may be moved from one room or another right after animation if you check Character.Animating or Object.Animating property, like in this basic example:
Code: ags

if (!SomeCutsceneCharacter.Animating)
{
   player.ChangeRoom(10);
}


Perhaps if you elaborate what exactly do you want to make we could give more concrete advice.

DavidGabriel

Firstly, thank you for your indepth reply.

I totally overlooked the fact there can only be 5 backgrounds. So yes, your right. That wont do.

By full screen I was speaking about 'cinematic' cutscenes where advanced animations would take place, head turns, close up eyebrow raises etc. Stuff more advanced than the default views (or LockView(s)) that might look a little silly close up or. I think in the case of full throttle, the cinematic cut-scenes were pre-rendered videos. This would also remove the need for the tedious scripting of such cutscene. So this would be the way I would need to go. Will have to find out more about that.

Crimson Wizard

Quote from: DavidGabriel on Sat 21/07/2012 23:15:43
By full screen I was speaking about 'cinematic' cutscenes where advanced animations would take place, head turns, close up eyebrow raises etc. Stuff more advanced than the default views (or LockView(s)) that might look a little silly close up or. I think in the case of full throttle, the cinematic cut-scenes were pre-rendered videos. This would also remove the need for the tedious scripting of such cutscene.
Well, I cannot be 100% sure because I never seen explanation of how exactly did they do that in FT, but if I did the animations you just described, I would use exactly common views, not pre-rendered videos.
I don't know why do you think they would look silly.
That depends on animation quality, of course. In my opinion in FT they used scripting for close ups. I just reviewed the intro in the game, and yes, I am almost sure they did. If we take such game as Monkey Island 3, there they probably used prerendered animated movies.

Regarding scripting, yes, these could be tedious, but you may help yourself by making use of helper functions that would cover most repetitive stuff. You may put most common sequence of moves in them.
Well, just some random example: a function that makes character turn his head, close his eyes for couple of seconds, open them once again and turn head back. You may then call that function whenever you wish that events happen.
Also, checking FT intro again, I really think that those closed eyes and raised eyebrows are not separate actions, but simply a part of single talking animation loop.

Ponch

Several of my later games feature full screen animated cutscenes. Doing them in AGS can be tedious, but I think the results of an "in game" animation" mesh well with the game around them, and so they're worth the effort.

As far as the best way to do them, I almost never use views for my cutscene animations. Getting the loops to time just the way I want them has always proven to be too unreliable. If I need what's on screen to sync up with the music, I always use some variation of the following command:

Code: AGS
// Object 2 is a blank 320x200 sprite that appears at x2 size on the screen. Using a smaller sprite draws faster & takes less Mb.
object[2].Graphic = 100;Wait(4); // Advance the animation by one frame, waiting a bit before drawing the next frame
object[2].Graphic = 101;Wait(4); // ditto, changing the time just a bit to move quickly to the next key frame
object[1].Graphic = 200; // A different object in the scene begins to animate at the same time as obj 2, so no waiting
object[2].Graphic = 102;Wait(4); // Advance obj 2 to the next frame and hold there for a moment or two
object[1].Graphic = 201;Wait(4); // Object 1 continues to animate while obj 2 stays "frozen" for a few moments
object[1].Graphic = 202;Wait(4);
object[1].Graphic = 203;Wait(4);
object[1].Graphic = 204;Wait(2); // Object 2 will begin animating "in between" obj 1's wait cycle
object[2].Graphic = 103;Wait(4); // Object 2 starts animating its way to the next key frame while obj 1 continues to animate
// Etcetera etcetera until the animation is complete.


Doing a cutscene this way can be very tedious, but it allows me to get just the results I'm looking for. The "power slide" finale following the end of the car chase arcade in Forever Friday 3 was done this way. With two cars sliding to a stop, away from the camera (Akira style) at two slightly different speeds, this would have been tricky to do with views, in my opinion. But with a little cut and paste, changing the graphic numbers for each object in each line, I was able to get precisely the look and timing I wanted.

The night chicken attack from Forever Friday one and the entire Tom Jones "electric sexytime dance party" at the end of Forever Friday 2 were also done this way. Frame by frame, line by line, until I got the end result I wanted, all inside the AGS engine. I probably could have used the Vorbis movie module and imported a ready made movie, but I love to do animations by hand (and I was mocked mercilessly on the Blue Cup Tools Podcast for this). Others might not find it fun, but I do.  :wink:

I hope some of this was helpful to you.



Shane 'ProgZmax' Stevens

Probably the easiest approach would be to maintain some static reference background and then break up the onscreen characters into pieces much like Lucasarts did.  For example, if you watch the intro to Full Throttle you'll see that the interior of Malcom Corley's limo is a static image with a looped animation of the road visible through the window behind them.  Corley and Ripburger also have static bodies, with only their heads animating in that scene, so assembling your animation in a puzzle like fashion with only the moving bits in mind will save you loads of time.

DavidGabriel

Thanks for the comments. I do like the 'consistancy' that doing it in-game presents. For the static talking shots this wouldn't be too hard if the quality of the sprites were good enough as said above. I think in the case of FT however, there was definitely pre rendered material, such as the track in and pan around ben when the game's Title is introduced. The consistancy could easily be maintained by having pixelated artwork/animations in the pre rendered videos. If you were aware of manintaining consistancy, this would be a deliberate art/design choice.

Im in odd ends now.

A part of me feels the need to do it all 'in-script' as is much harder and more therefore more benifical in improving my scripting skills.

SMF spam blocked by CleanTalk