August 23, 2013

Cutscene and polish

Hi everybody,

It's been quite a long time since the last post (and it will be even longer until the next one).

I - So... What did I do?

During this month of August, I worked on a lot of different things...
  • First, I worked on the graphics of World of Ninjas (my speed-dev week game, made at the end of July)
  • Then I worked on creating a "cut-scene" engine for World of Thieves. Hence, I could create a short animated introduction to the game. And I'll be able to (hopefully) easily add other ones in the future. This will be the focus of today's post.
  • I also cleaned the code and the resources because it's starting to get huge! I have nearly 2Go of data among which 3D models, textures, sounds, ... All this MUST be structured and well organised when you have to fix bugs, improve graphics, correct sounds; otherwise, you spend hours searching for the last version of the resources.
  • While I was creating the intro cutscene, I really noticed the lack of music, and I felt inspired to set up a complete workflow for music creation. I spend 2 days trying to configure a Computer Aided Music pipeline... UNDER LINUX: Jack (fundamental real-time sound server) + Rosegarden (midi composer and partition editor) + Fluidsynth (synthesizer) + Hydrogen (drum-specialized midi composer) + Ardour (multi-track audio recording and mixing) + Audacity (sound modification tool)! Yes! Because I always did CAM under Linux, and I think the softwares are really great and FREE of course... But you have to be willing to spend a few days trying to understand them. More on this later :)
  • Finally I added some polish to the game: icon, title menu, some help in tutorials and notifications when you get an object, additional graphic improvement and of course, as always, fixing bugs and lags...

So, today's post will focus on the animated introduction of the game.

A screenshot from the opening sequence

II - Creating an opening animation

If you have already tested the previous demo, you may have experienced a few difficulties to get into it. That's because there is no global introduction to the game setting up the "context". All games have this kind of introduction to enable the player to progressively enter the game. Even movies have them. Introduction sequences are often wide shots where you can have a grasp of where and when the action takes places. With this in mind, I made a storyboard about this intro a while ago:

A quite unreadable storyboard (in French) with a weird reading way :)

Of course, these are personal notes, and I have a very poor hand-writing, so you may not understand all. But the goal was for me to have a record of the general idea of how the camera moves, what happens on screen, what is the timing... etc. This storyboard was very optimistic ;) Finally, I simplified a lot of things... For example, at the beginning, there is only the hero on the boat at the moment. Maybe I'll add more guys later. But those are not mandatory for the story understanding.

III - New 3D models

OK! I have the idea more or less clear in my head and on the paper, now it's time to actually model all the stuff we'll see. This includes:
  • The Thief Guild Island: until now, I only had the "inside" of the main yard. I have to add the "outside", that is to say the whole island.
  • Various decoration stuff: fir trees, benches. I already had a few ones that I took from the Eagle Island.
  • The ship on which the hero arrives at the island. 

This doesn't seem that complicated...
...except... that at the beginning, I don't have a very precise idea of how they may look like. So I spend a lot of time trying to "design" their look. Do I want something curvy? Something blocky? What colors? what materials? Something original? Classical? Can the viewer/player understand what it is at first sight? Does it merge well with the graphical style? Of course, one can always say "I want something cool!"... But what is cool? Can we draw it? This pushed me to draw a lot of concepts. And it took me very long to achieve the result you'll see in the next demo.
The 3D model in itself is sometimes complex to create, but the idea is a LOT longer to flesh out. It's a long period of trial and errors, coming back-and-forth between Blender, GIMP and a simple paper sheet. Moreover, you have to put this necessary time in balance with other things: do I have the skills to create what I have in my head? (Obviously, not yet...) Can I spend more time on this according to my planning? (Obviously, no again, I'm always late...)

Some of the concepts I tried before I finally achieved something that "was OK" (but far from perfect). You may notice that this is a mess because I tend to draw everything at the same time: buildings, vehicles, characters... I just think about stuff... and they sometimes mix between them.

The new Thief Guild Island and a "conceptual" Earth-ship: a floating island propulsed by two engines (the "floating" island has a "scientific" explanation, that will be detailed later in the game). It's not just random stuff. By the way, my cartesian mind sometimes bother me when it comes to design, because I always think, "this is not possible in the real world", and I have to find some (basic) believable explanation for everything I have to create.


IV- Animating the models

Nice! I have the models! But nothing moves by now... Luckily, this first scene doesn't need a lot of animation. But there are a few ones: water splashes and foam around the boat, the running hero, the camera, and of course, birds and fishes.

Surprisingly enough, the most difficult one to set up was the boat foam and water splashes, because they rely on particle systems that are really CPU-hungry! So, I spent a lot of time finely tuning the memory use to avoid any lag. But I can't be sure it will be OK on any computer. Time and tests will say.

I already had the animations of the hero, the birds and the fishes, so that was a bit of a relief, even if I spent some time on the hero trajectory.

V - Adding sound

And, no that's not finished yet. Because a silent animation cutscene is quite weird. Here again, I already had the sounds of the sea, the wind, seagulls and fishes. But I spent sometime creating the engine roaring sound. I took a creative commons sound on the internet, but the problem was none of the sounds you find on the internet are loopable. Because I want my engine sound to play in loop (I don't want to stock a 4h-length engine sound that will saturate computer memory).
Hence, I used a software called Audacity (great free sound editor) to make the engine sound loopable without the ear being able to notice any peaks or clicks... This was quite new for me, but I finally achieve to made something decent by playing with various samples and alternatively fading them in and out.

VI - Adding music... Wait! What?

And that's it! Because I didn't have the time to create a full soundtrack for this animation. However, I tested it with the Ocean Theme of Zelda Windwaker, which is really the atmosphere I want for this game, and it's kinda cool! But I won't use this (c) Nintendo musical property in the end, neither in the incoming demo, for obvious copyright reasons.

So, don't go to far, there are 2 demos coming in a few minutes... 2? Yes! The graphically improved "World of Ninjas" and the classical "World of Thieves" with the introduction cutscene, the tutorials at the Thief Guild, and the Eagle Island level!

See you soon!