vrijdag 24 februari 2012

Game Trailer Quick Guide

Hi guys,

We're busy rounding up several projects. Which is good, because this means that soon there will be more new Xform games to play! And it means that it's time for: releases! Which also means: creating promotional materials.
Each of our game releases is accompanied by a game trailer. And I'm the lucky one to take care of this part. At this moment I have several game trailers on my task list. And because I simply can't spend full time on creating them I did set up a workflow for this.
Of course, when you have loads of time you can spend all your hours on little details, but we can't. But this isn't a bad thing, because more time doesn't always means better. With little time you can also create an attractive trailer that fit your game. But you have to know what to do and in which order.

So let me introduce you to my quick guide of creating a game trailer. I'm not going to talk about the technical stuff, but I lead you through the process step by step.

Step 1: Prepare
I first start with answering some questions, like:
- For what kind of game am I going to create the trailer?
- What's the duration of the trailer? (limit yourself!)
- Do I want to explain the gameplay or do I want to tease the audience? Or both?
- What are the strong points/unique selling points of the game? 
- Is there an outstanding element that I really want to show? (specific boss battle, environment, explosions, funny characters)

Step 2: Collect
After you have answered the questions above you can make a list of materials that you'll need for your trailer. Don't just think about gameplay footage, but also start collecting music, sound effects, logos and artwork.
If you want you can also make a storyboard. But I recommend to leave some open spaces. Because you're short on time, you most likely need to do some last minute adjustments. And this is easier when you don't stuck to just one idea.  

Step 3: Capture
Start capturing game footage. I always try to collect a lot of footage. But this can also be a trap, because you easily collect too much. And then it's hard to choose and you'll lose time. So be aware and limit yourself!
At least make sure that you capture everything that's on the list of step 2. If possible I ask some others to capture footage as well. By doing this you win time. And others also play the game on a different way you do, what will give you some surprisingly 'new' footage.

Step 4: Edit
When editing I first start with a framework. This means that I drag everything to my timeline that's needed. Most of the time this is: the music, the beginning (Xform splash and title screen) and the end (attractive image with link to the game). And there you'll have it: a framework.
Now all you need to do is fill in the blanks. Start with a nice opening shot.
When you have everything filled, cut and replace clips so that they do fit the rythm of the music.This will give the trailer more speed and it makes it easier to watch.
Congrats! You now have created a first version of your trailer. Watch it. And Adjust. Watch. Adjust. Watch. Adjust. Stop.

Step 5: Evaluate
Make an export of your trailer and let others watch it. Ask for their comments. At this point you mostly spend quite some time rewatching the same footage over and over again, so you might have lost clear view. Someone who sees it for the first time can give you valuable feedback, because he can tell you what is good and which points are unclear.
Allthough you might not like to hear that you need to change things: be flexible, because most of the time your viewers are right. Take their advice to heart and adjust your trailer. Even if this means that you need to remove your favorite part: kill your darlings. It will improve your work.

Step 6: When all is done...
Render your trailer.
Sit back.
And enjoy.

So, this is it. My way of creating an Xform trailer. It's not a fixed code to create the perfect trailer.
But these steps might definitely help you when you're short on time.
Have fun in creating trailers. I'm off to create some more!

You can check all Xform trailers here: http://www.youtube.com/user/xformgames


woensdag 22 februari 2012

State machines

Dear readers,

In our games we often have to program characters that need specific behaviors. To keep the code clean and understandable we use (finite-) state machines for this. State machines are systems with states and transitions. The machine can only be in a single state at any one time. Changes between the states are called transitions. As certain conditions hold these transitions are made.

For example suppose we have a character that can idle, walk, jump and die. These are our states. Now we define (draw) our transition based on how we want the character to work. Lets say that the character can only jump when he's walking and not when he's idle. He can die in any state and after dying he's brought back to life in his idle state. The state machine would then look like this:

We then still need to determine when the transitions are made: the conditions for each transition. From Idle to Walking it could be whether the user presses either the left or right key. And from Walking to Idle when the user no longer presses the left or right key. From any state to Die we could check whether a variable 'touchedByEnemy' is set to true (which we set to true whenever we detected the character touched an enemy). Between Walk and Jump the condition can be if the user presses the up key. Between Jump and Walk we check if the character touches the ground again. And finally from Die to Idle which can be whenever the dying animation stopped playing.

Of course the example here is relatively simple as you get more states you're bound to get more transitions and too many transitions will clutter your drawing making it less comprehensible. There are some tricks you can do to avoid this such as drawing a circle around a couple of states and drawing a single transition from here indicating that it is a transition from all of those states. You could also introduce a second state machine. If for example the player in any state can carry a shield you don't want to copy each state and draw the same transitions between them. Instead you make a second state machine for the shield with in this case only 2 states: Unshielded and Shielded.

Drawing a state machine based on the desired behavior helps me as a programmer to maintain overview which makes it easier when changes need to be made in the behavior. It will also help other programmers should they have to work with my code.

-- Stijn

vrijdag 17 februari 2012

Go Kart Go! Nitro!!!!!

A few years back we released a little kart game called Go Kart Go! Turbo!. It's a fun game but unfortunately, with it's four tracks, lacking a bit in content. You could play through the game within 30-40 minutes. We always wanted to add more stuff but never really had the time to do this....until a few months back that is! So here's what we did.

We went for a "widescreen" game window and changed the resolution to 800x450 (previous 640x480). This also meant we had to adjust all the menus and interface assets to fit this resolution. The game does benefit from this new resolution, firstly there's more screenspace to fit the interface elements resulting in less screen clutter and secondly a wider view for the player.

Instead of four tracks we now have a total of 13 tracks, including updated versions of the Go Kart Go! Turbo! tracks. There are collectibles to be found in each track to unlock new tracks, carskins and characters. Speaking of which we also added three new characters. Fun fact: most of the character voices are done by Xform staff members! Yours truly did the voices for the baboon, rhino, pig, crocodile and parrot.

When replaying the "old" kart game we noticed there was not enough chaos going on, we've tried to fix this by giving the player and AI players the ability to hold more items and even adding three more weapons. A hammer that smashes everyone around you, a set of water filled balloons to throw at your opponent and a whirlwind which throws racers into the air.

We made the AI players more aggressive and added a "catch up" or "rubber band" functionality to them. Now the AI stays closer to the player giving him a much harder time during a race.

These are of course not the only changes we've made, there are tons of other small tweaks, changes and adjustments which hopefully result in a more fun, chaotic and complete game!

Don't forget to check out Xformgames.com the following weeks since we'll be releasing Go Kart Go! Nitro! soon!


donderdag 16 februari 2012

Xform Car Manufacturing

Hello all!

Last time I have been talking about one of the mountains of the awesome auto snowboard craziness! After that I’ve been working on some other projects.
All remember the last post of Shirley, “The big Xform Start of 2012 Quiz”? You all got some sneak previews of some of our awesome games: Welcome to the jungle, Ain’t no mountain high enough, for instance. Well, none of those! Ha!

Today I’m going to show you the basics of making a CAR!
First of all you search reference and not just one picture but tons of pictures!

Then you try to find some perspective views: back, front, top down pictures. Not all views are required but it can be very handy.
Load those pictures into 3dsmax, drag the top down, side etc. pictures on a plane. Then create a box that has the same size as the plane you made before.

Add some segments, where you are going to change the shape of the box and make it more like a car.
To create the basic shape for the car I always start adding some segments on the left side of the car (like in the picture) and create the basic silhouette. Then go to top view and do the same, then for the front, back etc. Now you’ll have the basic silhouette of a car.

After this we add more detail in the front, back etc.
The back of the car must be more impressive then the front. Since the player will be seeing the back of the car more often than the front, so it’s important that the back is interesting enough to look at. After creating the silhouette, I am going to add the wheels, exhausts etc.
Then check the whole car and make it export ready for in game!

This picture is not the final version yet. But I will keep you all up to date!


vrijdag 3 februari 2012

Time is ticking!

Hello all!

Today a new blog about the "snowboard game with cars"! First of all, for anyone that goes skiing or snowboarding: don't try this when you get the chance to do it... Only if you are really that good:)
Last week I had a week off and went skiing and the first day I tried a barrel roll myself and didn't end up that well. Didn't broke anything, but it hurt, haha. I was skiing downhill and making my turns, only somehow I lost my balance and my ski got stuck in the snow. So I went airborne, made a nice barrel roll and landed on my side in the snow! From that moment I knew that I don't need to so some tricks like in the "snowboard game with cars"!

Taking the ramp!
Ok, enough about my holiday! Let's talk about the game. :)
It's almost finished! I know you all can't wait to see it, but you still need to wait a little longer. Currently we are working on some minor issues that has to be done. Many things have to be tested and fixed if it's bugged. So my work/task/todo list is quite big, because all of the things that has to be done.
So for example we had this nasty bug at the finish, when you should go back to the menu from the track. All animations were playing twice as fast and when one ends, the game crashed and you weren't able to continue, so you had to restart the game! Double checked the function, but just couldn't find the error..
So finally after some testing/debugging hours I finally found what went wrong. The function was called from a button what is pretty normal. Only when you hit that button so fast that it didn't even got the chance to delete himself he would trigger the function twice. So after this bug I could fix some other bugs that were related to this one.