Home News Features Games Authoring Community Forums About Contact
   

May 25, 2013, 02:48:00 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: [1] 2 3 4
  Print  
Author Topic: Movies?  (Read 6045 times)
Trumgottist
Maker of SLUDGE
Longtime Member
*****
Offline Offline

Gender: Male
Posts: 1163



WWW
« on: January 08, 2011, 12:19:57 PM »

Something that's been on the todo-list for SLUDGE since the (almost) existing movie support was removed, has been the ability to add movies. Here are my earlier thoughts on the matter:

I'll follow up on my own post by thinking about what form movie support could take. This is what I'm thinking (keep in mind that I'm not even close to start implementing it right now, so these are only thoughts thrown out there to get comments):

* It's enough to support one movie format: Ogg Theora.
* Sound is not to be supported in a movie file. It's easily played separately if needed anyway.
* Movie framerate must be the same as the game's framerate. (If they differ, the game engine will simply ignore the framerate set by the movie.)

The movie is loaded by a function similar to addCharacter:

addMovie (thisObject, atX, atY, 'moviefile.ogg', width, height, loopIt);

It is given an object type, so that it can be handled in mostly the same way as characters.
atX and atY specifies where the bottom centre of the movie is located. (It can be floated with the floatCharacter function.)
width and height are maybe unneeded? The alternative would be to simply use the size of the video.
loopIt is a flag that defines if the movie should be looped or not. Maybe it should also offer an alternative to freeze the last frame or remove the movie when it's played through?

Then it can be treated much like a character. It can be scaled (or not), moved around, partially obscured by characters and z-buffers, …

What other functions would be needed? A pause function seems natural. Anything else?

Since I wrote the above, Google has released WebM, a format that's superior to Theora in every way as far as I can tell, so I think that's a better choice for format instead. It's starting to mature: Youtube has supported it for quite some time now, and there are several tools around to encode WebM video, including the free FFMpeg (which I'm using right now to encode a movie a recorded off tv).

Does anybody want movie playing capabilities in SLUDGE? Would anyone use it? (I know I've asked this before, but I can't find it. IIRC, Squinky answered that she'd use it, but she has already released her game. Anyone else?)

Is my proposed implementation of movie playing good and useable? Maybe you have a better idea?
Logged

"Programming is the computer game that makes all others possible." - Ron Newcomb
NigeC
Guest
« Reply #1 on: January 08, 2011, 12:43:02 PM »

cut scene movies can speak a 1000 words so I say do it (oh if life was only that simople)
They can really bring a story to life imho Smiley
Logged
BigMc
SLUDGE Linux/GTK+ Maintainer
Sr. Member
****
Offline Offline

Posts: 266



« Reply #2 on: January 08, 2011, 01:14:20 PM »

Yeah, would be a cool feature. I hope there will be no problems with the synchronization if the audio is played separately. Normally audio aud video are synchronized several times each second when a video is played on a computer. But I guess you also don't know yet whether it will work out without synchronization? I mean, videos with lip sync audio should be possible.
« Last Edit: January 08, 2011, 01:16:39 PM by BigMc » Logged
Trumgottist
Maker of SLUDGE
Longtime Member
*****
Offline Offline

Gender: Male
Posts: 1163



WWW
« Reply #3 on: January 08, 2011, 01:19:04 PM »

I haven't looked into implementation details at all, but that is a good point. SLUDGE is designed to slow down rather than dropping frames.
« Last Edit: January 08, 2011, 01:22:54 PM by Trumgottist » Logged

"Programming is the computer game that makes all others possible." - Ron Newcomb
BigMc
SLUDGE Linux/GTK+ Maintainer
Sr. Member
****
Offline Offline

Posts: 266



« Reply #4 on: January 08, 2011, 01:33:37 PM »

So we need a video playing library that outputs an audio stream that can be fed into OpenAL and always delivers the current frame when SLUDGE wants to draw one. Should be possible.
Logged
Trumgottist
Maker of SLUDGE
Longtime Member
*****
Offline Offline

Gender: Male
Posts: 1163



WWW
« Reply #5 on: January 08, 2011, 03:24:39 PM »

Except that nobody has yet expressed interest in actually using the feature (implementing it just because it'd be cool to have seems pointless to me), or commented on the interface (besides your comment that audio should be allowed in the movie). I don't want to repeat Tim's mistake of adding (almost) useless movie functions that nobody will use.
Logged

"Programming is the computer game that makes all others possible." - Ron Newcomb
BigMc
SLUDGE Linux/GTK+ Maintainer
Sr. Member
****
Offline Offline

Posts: 266



« Reply #6 on: January 09, 2011, 09:08:10 AM »

That's reasonable.
Logged
NigeC
Guest
« Reply #7 on: January 09, 2011, 10:46:18 AM »

I see what your saying, but movie support is usually on people's checklist when choosing an engine.
If this was a pano engine people would be shaking your hand for video support, but it isn't and its not me who has to burn the midnight oil to make it work.

Actually if I was to be tempted from the darkside I'd much prefer to see SLUDGE  in a more studio like format, maybe a drop down command set for common actions
Logged
Trumgottist
Maker of SLUDGE
Longtime Member
*****
Offline Offline

Gender: Male
Posts: 1163



WWW
« Reply #8 on: January 09, 2011, 11:58:40 AM »

I see what your saying, but movie support is usually on people's checklist when choosing an engine.

I don't care much for imaginary potential users. If someone working on a SLUDGE game (to my knowledge, that's currently a set of almost two people: Erwin and maybe me) find something missing, I'll do what I can to help. If anyone finds a bug, I'll do what I can and then some to fix it. But adding features just in case some unknown person who may or may not decide to use SLUDGE some time in the future might get interested? At best, it'd just keep me from working on my own game. At worst, it'd mess up the game engine. (Once a movie feature is added, and a game use it, it can't be removed and changing the way movie playback works would also become difficult if at all possible without forking SLUDGE and making a new, incompatible, engine.)

Actually if I was to be tempted from the darkside I'd much prefer to see SLUDGE  in a more studio like format, maybe a drop down command set for common actions
For better and for worse, I don't think that's possible due to the way SLUDGE is designed. It's so flexibly written, that there is for example no concept of a room at the engine level. Some things can still be done to make it easier to work with, but SLUDGE can never become like AGS. This design was a large part what made me interested in SLUDGE, but I also understand why it turns people off. But there's always AGS for those wanting a different approach. (I just wish it'd become multi-platform so I could play AGS games on my Mac.)
Logged

"Programming is the computer game that makes all others possible." - Ron Newcomb
NigeC
Guest
« Reply #9 on: January 09, 2011, 01:19:06 PM »

I see what  your saying, maybe it would be better to fine tune and refine the parts that  you and the other guys find hinder work flow, the SLUDGE  games I've played don't show any signs of an engine thats lacking.

Time will tell if SLUDGE will take off again, people seem to be looking Smiley
Logged
xenogia
Jr. Member
**
Offline Offline

Posts: 87


« Reply #10 on: January 10, 2011, 09:05:38 PM »

Trummgotist,

I'm currently porting my game The Face of Corruption over to Sludge due to its multi-platform nature.  There is a lot of use of video in game which is already ogg theora.  A lot of putting real time sprites over fmv sequences.  Having a video function in the engine would be fantastic.

You can see the website at http://xenogiagames.com.  I haven't updated it in a while, but here you can see screenshots and videos of the game in action.

If you want I can send you the AGS version if you like as well.  It hasn't come out of Alpha stage due to the fact I didn't want to complete it with AGS.
Logged
Trumgottist
Maker of SLUDGE
Longtime Member
*****
Offline Offline

Gender: Male
Posts: 1163



WWW
« Reply #11 on: January 11, 2011, 04:19:13 PM »

Ok, then we have someone who wants video. That means that adding video is on the road map.

Comments on my proposed implementation?
Logged

"Programming is the computer game that makes all others possible." - Ron Newcomb
Erwin_Br
Administrator
Longtime Member
*****
Offline Offline

Gender: Male
Posts: 1667



WWW
« Reply #12 on: January 11, 2011, 04:34:18 PM »

I don't know anything about video implementation. How does it work, codec wise? Would SLUDGE come with a baked-in solution, or will there be dependencies on the platform? What are the possibilities?
Logged

"You know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away." --A. de Saint-Exupery
Trumgottist
Maker of SLUDGE
Longtime Member
*****
Offline Offline

Gender: Male
Posts: 1163



WWW
« Reply #13 on: January 11, 2011, 04:38:32 PM »

SLUDGE would come with a baked-in solution. Depending on external codecs would be a mess. (That's the main reason we removed the half-existing movie support that was in SLUDGE 1.6.)

For details on how I imagine it to work, read the first post in this thread and ask for clarification if there's something that's unclear.
« Last Edit: January 11, 2011, 04:42:10 PM by Trumgottist » Logged

"Programming is the computer game that makes all others possible." - Ron Newcomb
Erwin_Br
Administrator
Longtime Member
*****
Offline Offline

Gender: Male
Posts: 1667



WWW
« Reply #14 on: January 11, 2011, 04:53:40 PM »

...And the reason I never considered using movies. I might reconsider with a baked in solution, although probably only to create a intro and an ending scene, or something.

Your proposed implementation sounds good, although I'm a bit worried about the framerate issue. What happens if the computer stalls? SLUDGE doesn't drop frames, which would mean video and audio will be out of sync.

Maybe it's worth it to also check out that new codec Google is building. Just a suggestion. Maybe it's better/easier to implement/???...

It would be nice if there's a way to play a movie in the background, meaning the game continues to run, and a way to halt the game until the movie has finished (or skipped). (OnMovieStopped event?)
Logged

"You know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away." --A. de Saint-Exupery
Pages: [1] 2 3 4
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
 
Unauthorised reproduction of anything on this website is not allowed without our written consent.
Materials on this site are the property of their respective owners. Copyright © Adventure Developers. All rights reserved.