Cutscenes

Post your questions, suggestions and experiences regarding game design, integration of external libraries here. For irrEdit, irrXML and irrKlang, see the
ambiera forums
Post Reply
grumpymonkey
Posts: 222
Joined: Mon Jan 19, 2009 10:03 pm
Location: Miami, Florida
Contact:

Cutscenes

Post by grumpymonkey »

What would be the best way to add cutscenes to your game? by best I mean that you have the most control over what happens, and you dont have to write tons of lines of code to procedurally translate nodes with timers and stuff like that.

I was thinking that using a giant animated model for everything would work, so you just control the camera and attach it to joints on the scene or something, but adding and syncing sound/graphics would be hard.

Then I thought a movie file like *.avi or something, but you would need some way of playing that movie and I dont think irrlicht can do that. Plus making the video could get tricky without the right tools.

I've also heard that Lua can be used to do this, but I dont see how that would work(and I dont know how to use lua with C++ :P)

I've seen lots of game that have this and it shouldn't be too hard to do but I have no ideas :(
Image
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Post by christianclavet »

Hi, My sugestion is this:

For doing an INTERACTIVE Cutscene:
1. Make every animated meshes with bones
2. Create specific animations for the cutscene and define it as an animation state
3. Play back the animated characters & audio
- Override the head bone and orient it to face the player (You could even decide to do this based on an animation state only)
- From the animation state, it would trigger an audio response
4: If you can, have an editor to do this and work with your engine

For doing a NON-INTERACTIVE cutscene, AVI could be the answer, but the best way today are attempting to do it all over in realtime as the look of ther characters and their quality won't change a bit. (Help to maintain the immersion factor). Sometimes, it's not possible due to too much thing happening. The solution (from game engines) is to use them to render the final AVI animation so the look is at least the same.

As for LUA, it's a scripting engine. You could use it to define a Cutscene start, and define the animation states (or events) without having it all hardcoded into the engine. (more flexible in some case when you need tons of cutscenes)
grumpymonkey
Posts: 222
Joined: Mon Jan 19, 2009 10:03 pm
Location: Miami, Florida
Contact:

Post by grumpymonkey »

so I should make different animated meshes for all the things in the scene? how would I make them interact with other objects, like someone picks up a briefcase and walks away with it? If a made a walking animation for a character, would I have to change the position of his node?

I'm trying to use as little code as possible. an AVI would be easiest, but if your character is in the movie and he's wearing like a hat or something, you wont be able to see it.
Image
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Post by christianclavet »

For your example, taking a briefcase. If it's strickly related to the cutscene. You do all in your 3D application then you export:

- The character taking the briefcase (So you will able only to use it there)

Another alternative would be to animate the briefcase in your 3D application. You take the same animation, but remove the mesh of the character, you keep only ALL the bones in the scene and export the briefcase alone with the bones animation. For this you really need to know well your software and be good at rigging.

For a cutscene, we animated the characters directly in the scene. The node was not moving. Much easier, but the defined animation can only be used in that cutscene. They are not generic anymore.

In each case, you will have to position exactly the models as in you 3D animation software. You could use a temporary marker in the application to position the characters in the scene.

Yes, the AVI could be the answer (Irrlicht doesnt support AVI playing natively, and it's could be difficult to implement if you need multiplatform support). But you will loose any interactivity in your scene. If it's planned like this then it's ok.
grumpymonkey
Posts: 222
Joined: Mon Jan 19, 2009 10:03 pm
Location: Miami, Florida
Contact:

Post by grumpymonkey »

ok I think I understand know thx. I'll just make a big scene and edit the joints to 'interact'

btw, do you know of any good animation software for making big scenes?(aside to anim8or and blender)
Image
klaudia
Posts: 20
Joined: Thu Jun 18, 2009 2:39 pm

Post by klaudia »

is there any good editor for cut-scenes?
irrEdit can do this, or i need some plugins or what?
grumpymonkey
Posts: 222
Joined: Mon Jan 19, 2009 10:03 pm
Location: Miami, Florida
Contact:

Post by grumpymonkey »

you need to make an animation with an application like maya, milkshape 3D, anim8or, blender, or CharacterFX. Its like animating a 3D character.
Image
christianclavet
Posts: 1638
Joined: Mon Apr 30, 2007 3:24 am
Location: Montreal, CANADA
Contact:

Post by christianclavet »

I plan to make one in my editor. But the animations will need to be created (Maya, Blender, 3DS, etc.).

You can do this actually in IRRedit, but it's has no features right now to preview animation. I want to place the element as I would place them in IRRedit + check the animations of the characters or elements so they "match" (Caracter A interacting with caracter B for example.)

Your best choice right now is to use a software like Blender/Maya/3DS/Lgihtwave/Etc, place all the elements of the scene around the same reference point and animate and export all of them. (Could the the whole scene or element per element, depending on your needs)
brcolow
Posts: 56
Joined: Mon Jul 19, 2004 6:15 am
Location: Arizona

Post by brcolow »

I'd go with an Ogg Theora player personally, but that's just my two cents.
G'Day.
Post Reply