This post is a call for initial feedback, before I go deeper into coding and stuff, just to make sure I'm not missing anything and capture cool ideas...
I've been working on a new game recently, and thought it would be really nice to have some cutscenes in the game.
Here's a sample frame such a scene:
Obviously, the above frame is not too advanced, but it looks pretty exciting and fun to create, especially when combined with the right soundtrack
Credits:
Image background: http://shadow-trance.deviantart.com/art/Moonshine-Bay-88935567
Ninja warriors: http://tinrobo.deviantart.com/art/Little-Samurai-Warriors-80135868
Both image sources are by-nc-sa CC license: http://creativecommons.org/licenses/by-nc-sa/3.0/
The Sequencer
What we really need is a way to control all game "events" (such as encounters, text on screen, music, etc). The Sequencer is a central point (e.g. a C# class), that "knows" about high-level game events, such as "Level1 Start", or "Battle 2 Encounter".
The sequencer controls all in-game events, such as text being displayed, cutscenes, music sync (for example, when a cutscene starts, the sequencer will switch the music).
Here's a small high-level diagram of what I think is needed to implement a single-screen cutscene:
I'm assuming that Sequencer, Sequence and the Action-s will end up as C# classes that know how to operate on the game world.
In the above diagram, Sequence1 might represent the complete cut-scene, with all dialogue that occurs.
Interface
Above is a draft interface (made with Paint, if it's not obvious :)) for creating the cutscenes.
The initial version of the interface will allow for:
- Choosing music (1 only)
- Selecting background
- Adding characters, dialogue, movements, synced to the music
- Save as XML
That's all for now.
Any ideas that you'd like to share or other feedback? Please comment.