Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Thor on October 15, 2002, 12:48:07 pm

Title: Freespace, the Movie Maker
Post by: Thor on October 15, 2002, 12:48:07 pm
I was wondering if any programers would be interested in working on this idea I had.  Basically Freespace can do alsorts of camera movements, but not controlled easily.  So I suggest that a few modifications be made to create a "film creator" exe.  basically, it just be the basic source code with some tweeks.  Heres a list of what is needed to make this work.

Camera Controls.  Some way of easily controling the camera in game.

SEXP's.  These could be used in FRED to set up complex camera motions.

Removal of All HUD rellated stuff.  All the green/grey boxes get in the way of any usefull shots.  the removeal of all of that would make for very nice shots.  

Avi Encoder.  Something that'll record an Avi directly in game.

If you think this could be done, or if you would like to help me as I don't know how to program, let me know.  I think that this could be a great help to the community of mod makers, and even as a draw for new people.  Thoughts?
Title: Freespace, the Movie Maker
Post by: RandomTiger on October 15, 2002, 12:56:01 pm
DirectShow would probably allow you to encode an AVI but it would not be fast enough to record as you play or anything. Also getting sound in would be bloody difficult.
Title: Freespace, the Movie Maker
Post by: Stealth on October 15, 2002, 01:10:12 pm
nonononono!  don't record AVIs directly in-game, that's asking for trouble!

why not have like in Descent 1 and ][ replays... where it's like a .rep file or something... and make another program, similar to FRED, but where you can take those replays, and cut them, edit them, etc. and make it like a real movie!  then in the end you can save them as AVIs.  like a FRED but for converting and editing the replays.

also, if you take various angles and shots, you can edit and make like a proper intro or something, it'll be pretty neat :)
Title: Freespace, the Movie Maker
Post by: Thor on October 15, 2002, 01:55:48 pm
Yeah, thats what I was trying to get at.  I don't even care about a seprate program for editing, just so long as the replays can be put into say, Premier or something else.  Could it be done?
Title: Freespace, the Movie Maker
Post by: RandomTiger on October 15, 2002, 02:01:12 pm
Yes but its a lot of work. Theres already a thread about this, someone should dig it up. However I think we need to make sure people will actually use it. Hell of a thing to spend loads of time on for nothing.
Title: Freespace, the Movie Maker
Post by: Sesquipedalian on October 15, 2002, 04:11:53 pm
It'd certainly make cutscenes easy as pie.

I'm all for the method of recording info from the actual execution of FS2 into a file (a la Descent replay) and having a seperate program to open it with and control camera angles in.  That seems to me the single best way.
Title: Freespace, the Movie Maker
Post by: Thor on October 15, 2002, 08:52:50 pm
I just want a program that ultimately can be used to make cutscenes easier than using a 3d program to render it.  Something faster.
Title: Freespace, the Movie Maker
Post by: Sesquipedalian on October 16, 2002, 03:04:52 am
Grammar Man strikes again!

Quote
Never underestimate the value of stuff, for without stuff, what would be left. Ex: What kind of campaign would you have without any stuff. A big black screen.


Try this:
Quote
Never underestimate the value of stuff, for without stuff, what would be left? E.g.: What kind of campaign would you have without any stuff? You'd have a big black screen.


Question marks are obviously needed for a question, and need little explanation.  

E.g. is the proper short for for the introduction of an example, standing for exemplum gratium, "given example" in Latin.  Technically one could use ex., but it simply isn't done.

*Thus having righted wrongs and made the world a better, more grammatically correct place, Grammar Man disappears in a flash of perfect punctuation and properly placed prepositions!*
Title: Freespace, the Movie Maker
Post by: RandomTiger on October 16, 2002, 07:16:46 am
:wtf:

Anway perhaps we could set camera positions as points in fred and use its event code to trigger which ships to view and when.
Title: Freespace, the Movie Maker
Post by: DTP on October 16, 2002, 10:09:30 am
Quote
Originally posted by Thor
I just want a program that ultimately can be used to make cutscenes easier than using a 3d program to render it.  Something faster.


Only thing that would work and be "relative" fast to do, is scripted sequences like in half-life.

In other words, maybe a mission that’s not really a mission but an
In-game sequence.

But man what a workload

First you would have to program in a hole new structure like make AI go from Point a to b (waypoint like), now what would really be hard; In game battle sequences. They would have to be pretty static regarding ship positions, since if other wise you will never know where ships end up if they are controlled by the standard AI, and you would want to know that for you camera positions, angle of camera, field of view for camera.

Yeah it would be nice to have, but man what a work load.

Most scripted sequences has very few objects in them(count all meshes and lasers, asteroids, missiles, beams

You would never be entirely sure if the sequence would be similar on all machines.

Now if you could program a nail proof handle multiple objects with very dynamic positions.

Well then you could sell it to the rest of gaming industry, cause that is how good it would be. They could skip using pre-rendered video clips, cause they would save money since pre-rendered video scripts are as slow to setup, as they are to render, and time is money.

that is how good a Script sequenced in-game player of the format we are talking about would be.

so re-think this again. Nobody in his or her right mind would do this, for nothing because it is going to take "A LOT" of time.

as an example. :V:'s red faction GEO-mod technology took 2 years to program.

So, we are back to we can do this with very few static objects. And then, would it be worth it.

i' m not convinced it would be.
Title: Freespace, the Movie Maker
Post by: Bobboau on October 16, 2002, 11:03:40 am
actualy there is some demo recording stuff that was part way done, that could posably be implemented into something like what he want's, but I have no idea how far along this code was
Title: Freespace, the Movie Maker
Post by: RandomTiger on October 16, 2002, 11:21:15 am
Not finished I gather and a think its a fair bit off from what people are asking for.
Title: Freespace, the Movie Maker
Post by: Thor on October 16, 2002, 02:14:18 pm
I really just want something that will have no hud related stuff (boxes, messages, afterburner shake and such)  and simply record what is seen on screen.  Thats it.  Your ship instantly becomes a camera, so if we get lateral movement, it help more.  Heck, even if the recording part is to much, just a hudless version would do.  And don't say go to the options, because there are still things that get in the way.  I have no idea exactly what DTP is talkin about, but it already does half of that already, it's just the hud that gets in the way.
Title: Freespace, the Movie Maker
Post by: IceFire on October 16, 2002, 04:36:23 pm
How about reversing this altogether making in-engine cutscenes work too :D
Title: Freespace, the Movie Maker
Post by: Solatar on October 16, 2002, 06:04:05 pm
It wouldn't be that hard for you guys to just take out the HUD? Then Fs2 could be run through the VCR, and your gameplay taped, and then possibly edited, with new music, etc...
Title: Freespace, the Movie Maker
Post by: Thor on October 16, 2002, 08:27:33 pm
I was going to do that if the logistics of making an avi or whatever was to much.
Title: Freespace, the Movie Maker
Post by: RandomTiger on October 17, 2002, 08:18:16 am
Quote
Originally posted by Hades
It wouldn't be that hard for you guys to just take out the HUD? Then Fs2 could be run through the VCR, and your gameplay taped, and then possibly edited, with new music, etc...


Done. Press the O key to toggle the HUD, note if a pilot head animation is already playing it wont disappear until the anim ends.

I will check this into cvs as soon as I can, in the meantime heres a preview exe:

http://www.ijbrooks.demon.co.uk/tom/nohud.zip
Title: Freespace, the Movie Maker
Post by: EdrickV on October 17, 2002, 09:57:05 pm
All I know about the demo recording/playback system is this:

 * 3     3/29/99 6:17p Dave
 * More work on demo system. Got just about everything in except for
 * blowing ships up, secondary weapons and player death/warpout.
 *
 * 2     3/28/99 5:58p Dave
 * Added early demo code. Make objects move. Nice and framerate
 * independant, but not much else. Don't use yet unless you're me :)

And that the files involved in it are demo.cpp and demo.h in the demo folder. :)
Title: Freespace, the Movie Maker
Post by: RandomTiger on October 18, 2002, 04:00:27 am
I believe its a seperate compile option thats not been checked for ages so what little functionality was there is probably broken.
Title: Freespace, the Movie Maker
Post by: RandomTiger on October 18, 2002, 11:39:30 am
Quote
Originally posted by RandomTiger


Done. Press the O key to toggle the HUD, note if a pilot head animation is already playing it wont disappear until the anim ends.

I will check this into cvs as soon as I can, in the meantime heres a preview exe:

http://www.ijbrooks.demon.co.uk/tom/nohud.zip


Its now in cvs so it'll be in the next release. Its shift-O now put you can remap it if you want.

Im also working on something else that might be of interest in this area. Sadly its not a movie maker but it might be worth looking into if I get it done.
Title: Freespace, the Movie Maker
Post by: Solatar on October 18, 2002, 02:28:03 pm
Thanks, that's a nice start. It could come in handy.:)
Title: Freespace, the Movie Maker
Post by: EdrickV on October 18, 2002, 02:51:48 pm
Quote
Originally posted by RandomTiger
I believe its a seperate compile option thats not been checked for ages so what little functionality was there is probably broken.


I'm not entirely sure if that code will work without major changes or not. (And remember, all my info is based freespace2_public rather then fs2_open.) The demo recording/playback code is marked by ifdefs in some places, other places have checks to make sure it doesn't check certain things while it's playing back a demo. (Said checks seem to exist in the release versions as well, though they'd always do the non-demo playback stuff.) And the demo playback is only enabled for a debug build as is. (See the call to demo_start_playback() from main_hall_do() in MainHallMenu.cpp.)

Setting the demo recorder on or off would be done using the debug console. As I can't compile the code and don't know how to use the debug console, I can't really test it. The demo file itself, as the code stands, would be test.fsd.

To enable demo recording you would have to make a #define for DEMO_SYSTEM and change demo_make to 1 either via code or using the debug console. Demo playback is done by hitting "KEY_DEBUGGED" (defined as 0x8000) plus d. I'm not sure what that debug key actually is because I'm not sure what key that hex value is associated with.

The function calls that I believe are needed to actually record the demo are present in Freespace.cpp, again associated with the DEMO_SYSTEM define. As far as I can tell without trying it, it looks like the demo system's code is still in place and might work. The one thing I am not sure about is game_level_init() which seems to have an integer argument that would only be set by the demo playback code, used to set the random number generator to the same number used in making the demo, but when called the function isn't passed any variables so it would never set that. I'm not sure if that even matters though. (It may be that was from an earlier version of the demo code and isn't used anymore.) In any event, it looks like the demo code could use some cleanup. (Just take a look at the #define for DEMO_DATA and you'll see what I mean. :) )
Title: Freespace, the Movie Maker
Post by: EdrickV on October 18, 2002, 03:01:26 pm
To correct myself, it seems the DEMO_SYSTEM #define is already present in demo.h.
Title: Freespace, the Movie Maker
Post by: Thor on October 18, 2002, 03:24:40 pm
Thank you.  I'll try it and see how it works.:D
Title: Freespace, the Movie Maker
Post by: YodaSean on October 18, 2002, 11:32:47 pm
Quote
Originally posted by DTP

so re-think this again. Nobody in his or her right mind would do this, for nothing because it is going to take "A LOT" of time.

as an example. :V:'s red faction GEO-mod technology took 2 years to program.

 


I don't understand this.  It didn't take the developers of Worms that long to make their geomod technology...
Title: Freespace, the Movie Maker
Post by: RandomTiger on October 18, 2002, 11:40:30 pm
2D = easy
3D = hard
Title: Freespace, the Movie Maker
Post by: Fry_Day on October 19, 2002, 02:37:33 am
And besides, the worms geo-mod is totally different tech-wise.
They simply store a large 2d array of pixels,and for each pixel which was destroyed, they simply change the collision flag. That's it. On the other hand, in geo-mod, you have to to a substractive boolean for each explosion with the walls.
A wee bit harder, since you also need to remove unused vertices, so the game won't get bogged down after prolonged play, and a thousand other little details
Title: Freespace, the Movie Maker
Post by: Bobboau on October 19, 2002, 02:41:48 am
does anyone here know how to do boolean subtraction of polymodels?
...were's that NASA guy :drevil:
I know, I know, NASA doesn't do that kind of stuff
Title: Freespace, the Movie Maker
Post by: RandomTiger on October 19, 2002, 05:46:19 am
Um... does anyone realise how difficult that task would be?

VERY!
Title: Freespace, the Movie Maker
Post by: EdrickV on October 19, 2002, 06:05:00 am
Quote
Originally posted by RandomTiger
Um... does anyone realise how difficult that task would be?

VERY!


You mean the polygon boolean subtract aka geomod? Not really, but I imagine it would be harder then anything we, as a group, have tried doing to the source code.
Title: Freespace, the Movie Maker
Post by: Fry_Day on October 19, 2002, 12:12:53 pm
Edrick, but that creates a whole new set of problems - you'd have to store the geometry of each damaged ship, even if they're of the same type. Worse, the BSP tree of a damaged won't be right, so you'd have to rebuild it (There's probably a better solution, like some sort of merge with the tree of the sphere you're substracting, or whatever).
It didn't take volition a long time to get Geo-Mod working for nothing. I think it's a bit beyond the scope of the SCP.
Title: Freespace, the Movie Maker
Post by: RandomTiger on October 19, 2002, 12:18:40 pm
Quote
Originally posted by EdrickV


You mean the polygon boolean subtract aka geomod? Not really, but I imagine it would be harder then anything we, as a group, have tried doing to the source code.


It took :v: two years to make that technology apparently, and they are a full time staff of experienced paid codes.

We are not in that kind of position and while I invite anyone to prove me wrong I think there are many other jobs that are a lot easier and would be as rewarding. Theres MOD somewhere out there that boasts this kind of feature using MOD tricks, perhaps a good start to such a project would be to provide him with code support.
Title: Freespace, the Movie Maker
Post by: EdrickV on October 19, 2002, 04:27:37 pm
In otherwords, it is harder then anything we have tried to do. :) Not that I personally care either way. For scripted mission sequences I can think of ways to fake geomod for a particular situation. For example, having a ship fire a beam through another ship and leaving a hole behind. The trick, of course, is that the model would have to be specially built to do that (destroyable subobject or in game POF swapping) and the ships would have to be lined up just right for it to look as it should. That's nowhere near true geomod stuff, which I've never seen but can imagine, and I'd know I wouldn't attempt to make a full geomod system, it's beyond my expertise. :)