Wednesday, May 30, 2012

Generic Video Solution for Games

Hi all

this time i will talk about the video in your game..
well, first i will say that this issue was back in my head for long time, but recently, after i talked with my friend who has to buy video solution for their game, it popped to my head again...
why is it so complicated to make video solution for games?
my friend answer was, if you are going to make a cross platform game, want real-time speed, alpha channel support then you don't have any alternatives but to buy bink.

for these who don't now, bink is a cross platform video solution developed by rad game tools, its fast and easy to use and the quality isn't so bad either.
so what's the problem you ask? well, the price! its too expensive, 8500$ per platform per game, yes yes you read this right.

so for example, if you are a small indie developer and you are going to make a windows and xbox360 game, you will have to pay 17,000$, that's a lot of money for indie! hell, its a lot of money period!.

besides, most of the games will need to play video only at the beginning of the game, for example, some game story video, hardware video (nvidia, havok, amd) etc.. and for that its a real pain that you need to pay that kind of money.

anyway, what else you can do? well, you can create you own video solution for both xbox360 and windows.
for windows: use windows vfw lib
for xbox360, use xmedia lib

but this will take time, and you will have to design some nice lib to have same functions in both windows and xbox360 for the same/different features you have in each platform, and that's if you have 2 platform, it gets really dirty for more.

in my experience, if you need to create your own video solution for the ps3, you are unlucky, in the past i created video solution for an in-game ads company, and i used libsail that comes with sony sdk to support video playing on the ps3, let me tell you that in one word: nightmare!

lets say you want to play videos without sounds, lets say for explosions, menus etc... and the sound comes from your sound system (that you already licensed) triggered sounds when needed.
well, you don't have any kind of solution for this one too... same problem as i said above.

so it turns out that you don't really have any generic video solution for you game, that doesn't rip your wallet...

so why don't we have anything other than bink for games you ask? well i can't really answer this question, as i'm asking it myself for some time.
i turn out that even if you think you have what it takes to write something like bink, it is very difficult to do that, thats because its not so easy, and there is a lot of patents around video/audio compression that you need to carefully walk around so you won't land on a mine.

so maybe you ask yourself, what all these words, i already know that, so don't walk on my wounds...

what if tell you that there is an alternative!
maybe not so complete unit as bink (not supporting all the platforms etc), but will support:
* popular platforms and will add new ones in time.
* alpha channel in videos
* real-time speed
* good compression ratio.

and the crazy thing about it, it won't cost 8500$ per platform per game!

so the real question is:
will you be interesting in such solution?
if so, please write a comment to this post and i appreciate if you could write what features you want in such solution, how much do you think it worth paying for etc..

thanks and stay tuned, cya

Thursday, May 10, 2012

Flying Camera

quick update...
this time i added support for flying camera, or spline paths.
what this means, is that i can place path nodes inside the editor, and make the camera follow it.
the reason i add this 'not so important feature' is that i wanted a way to capture videos and not capture me walking inside the scene, so every time i change something i could use the same path and see the new look with the same angles/pos etc...
anyway, here is a video showing flying camera in my scene, enjoy!