Success with cutscenes!


Here's the final solution:

- A cutscene class (in lua) that includes some handy methods and mostly automates cutscenes

- Derived classes for each cutscene, or each type of cutscene

- Don't think "cutscene", neccessarily, think "event"

- There is also a cutscene manager that handles adding cutscenes to areas, etc.

This leaves a fairly lightweight footprint for implementing cutscenes. For instance, I have implemented a "cutscene_forgothat" type but this could actually be a generic one that takes three parameters: the place name to trigger, the text to say, and where to walk the player to. Then I can create these in the cutscene manager as much as I want and have the inserted and triggered into the game.

The actual cutscene drone works much like the spellcasting sequences, with an additional tweak for the "event" dialog, which in the end was just a simple thing that pops along the bottom to show the text, with a "more" and "OK" button.

Here is the sequence for forgetting your hat:

Seq = {

"@Something's not quite right.<p>England's bright, orange sun glowers itself hotly upon your brow.<p>...<p>Your hat! How could you have forgotten your hat?<p>It strikes you that it would be foolhardy to attempt serious tourism without your travelling companion. Your hat must be in the car.<p>If you searched the back seat, you might find it.",

drone_wait_event_dlg (drone_faceplayer ()),

drone_moveplayer_to_place ("cutscene_forgothat_backoff_parkade"),

function () self:retrigger () end

}

2009-02-12


◀ Back