VIDEO SUPPORT FOR AI COMMS

loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Re: VIDEO SUPPORT FOR AI COMMS

Post by loki1950 »

So we need someone to act as the producer do we or art director I agree with you about style/theme harmony so the first task would be culling our existing art assets and replacing the ones that don't fit.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
DarkVixen
Bounty Hunter
Bounty Hunter
Posts: 152
Joined: Sun Jul 28, 2013 12:16 am
Location: Los Angeles, CA, USA

Re: VIDEO SUPPORT FOR AI COMMS

Post by DarkVixen »

More like an artistic director along with a art board members so we can vote rather than have one single "dictator". ;)

I still need to go through all the existing art (in the game and in the forums) and propose a list of what to remove and what to add.

This is after we decide how and who to grant SVN write access of course.
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: VIDEO SUPPORT FOR AI COMMS

Post by Deus Siddis »

DarkVixen wrote: PS: I did not want to touch on quality, because, as a free game, it feel it would be unreasonable to demand a certain overly high level of quality... BUT at the same time we do need to set a certain minimal standard of quality of course. :)
It should always be kept in mind though, that quality is not the only factor. Quantity is also a drain on development resources. For potentially the same cost, you could have 12 beautiful, thoughtfully designed, thematically consistent models or 120 of the low quality mishmash we have now.
DarkVixen wrote: More like an artistic director along with a art board members so we can vote rather than have one single "dictator". ;)
I have both worked as and under art bureaucracies and dictators for hobby games like this and I would say it is unclear which is worse. :)
The trouble with a committee is that as the membership comes and goes the art direction shifts wildly. And even between shifts, that direction tends to either be a bland compromise between or mishmash of the committee members' competing ideas.
The trouble with a dictator is they usually have a narrower field of knowledge and interest which leads them to set goals too high or too low in an area outside their field. And when they don't have free time or disappear completely, things can come to a grinding halt.

What I believe may work out better is to have individual artists stake out and complete by themselves whole parts of the game. So one individual does all the planetary backgrounds, another completes all the rlaan aerospace craft models and another creates all the commodity pictures. Of course, each of these tasks absolutely has to be small enough that one motivated person can do it on their free time before they lose interest, which means the game design must be modest in how much content it asks for.
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: VIDEO SUPPORT FOR AI COMMS

Post by ezee »

What I believe may work out better is to have individual artists stake out and complete by themselves whole parts of the game. So one individual does all the planetary backgrounds, another completes all the rlaan aerospace craft models and another creates all the commodity pictures. Of course, each of these tasks absolutely has to be small enough that one motivated person can do it on their free time before they lose interest, which means the game design must be modest in how much content it asks for.
I think it's a good idea/method .
It's like if we were cooking together , wich each buddy assigned a task .

I Like to prepare pickling onions , an other play with the tomatoes , an other with the spices , etc ...
Or prepare a cocktail ...
" Bartender , one cold Vegastrike please . And shake baby , shake ! " .
:lol:

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
jackS
Minister of Information
Minister of Information
Posts: 1895
Joined: Fri Jan 31, 2003 9:40 pm
Location: The land of tenure (and diaper changes)

Re: VIDEO SUPPORT FOR AI COMMS

Post by jackS »

One might also imagine the development of style guides for each of the classes of items, such that there is at least some reason to believe that the submissions to a given style director may even possibly be aligned. Or, put differently, if there are multiple people involved there should probably be a specification. (Mark this one down under "learning through failure").
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: VIDEO SUPPORT FOR AI COMMS

Post by Deus Siddis »

I think what you would need is a technical specification. Like what equipment and craft types there are, their size ranges and what visible components they have and how the size and design of these components relate to game-play significant values. So artists should know that a craft with an X size reactor generally has Y visible radiator surface area. And that a class X particle beam weapon should have about length Y and radius Z.

Plus an intro to basic physics as it relates to the space setting of the game. So modelers know why spacecraft tend towards radial symmetries or at least why to have thruster placements respect the craft's center of mass. Or the reasons why having fixed guns far out on the sides of the craft is disadvantageous.

Any style specification for a set of items could then be vague and simple. The details would be left up to the artist as long as he completes the whole set of models himself and conformed to the aforementioned technical specifications and basic physics.
TBeholder
Elite Venturer
Elite Venturer
Posts: 753
Joined: Sat Apr 15, 2006 2:40 am
Location: chthonic safety

Re: VIDEO SUPPORT FOR AI COMMS

Post by TBeholder »

Deus Siddis wrote:I think what you would need is a technical specification. Like what equipment and craft types there are, their size ranges and what visible components they have and how the size and design of these components relate to game-play significant values. So artists should know that a craft with an X size reactor generally has Y visible radiator surface area. And that a class X particle beam weapon should have about length Y and radius Z.
This is solved by having sample models. In case of guns, the best way is to remove external mounts from the vessel model and turn graphics/draw_weapons on. After the basic versions will be agreed upon and fixed, that is. Which then will also double as size checking tools for internal mounts, simply by placing them where intended and looking whether they stick out. As well as mount placement location tools.
"Two Eyes Good, Eleven Eyes Better." -Michele Carter
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: VIDEO SUPPORT FOR AI COMMS

Post by ezee »

me again ... in the future that is now .
I just can say that my notes are like an alien artefact , that will save my time for not doing
the same mistakes , but uh .... the video playback is incredibly complex , still now .
I'm gonna try it again .
:wink:

Edit : And this time by the inexplored branch of the old lib quest .
One reminder about the changes that we have to face here :
deprecated-functions-in-ffmpeg-library.html
And so , the good lib we want is wich got the old funcs ...

Browsing the svn/Tags i've found a 2005 commit " stream video " :
https://sourceforge.net/p/vegastrike/code/9550/

Perhaps i will learn from that the magic tweak
...tic
...tac

just found the critical zone where video stream is seeked to the current time and
the frame buffer transfered to Gl : ( anitexture.cpp line 143)
try {
//vidSource leaves frame data in its framebuffer, and our image data is initialized
//to point to that framebuffer, so all we need to do is transfer it to the GL.
if ( vidSource->seek( curtime ) ) {
//Override compression options temporarily
//NOTE: This is ugly, but otherwise we would have to hack Texture way too much,
//or double the code. Let's use this then.
int ocompression = gl_options.compression;
gl_options.compression = 0;

VSFileSystem::vs_dprintf( 1, "Transferring video frame\n" );
Transfer( 65535, GFXFALSE );

gl_options.compression = ocompression;
}
Finally the best information of this post could be :
/*
* FOLLOWING CODE IS ONLY INCLUDED IF YOU HAVE FFMPEG
* ********************************************
*/
#ifdef HAVE_FFMPEG
//#ifdef _WIN32
//#define offset_t xoffset_t
//#endif
...
...
It's defined in ffmpeg_init.cpp

That simply indicates that probably none of the 5.x versions of VS are built with video
support .
I made a loop in time and i'm back with the linkage problem again:
To enable the video i need the right lib .

Some comments say :ffmpeg_init.cpp
// Changed on June 1, 2010. During minor version 67.
// See http://git.ffmpeg.org/?p=ffmpeg;a=commi ... f50a815696
and
//Workaround for a missing export in libavcodec 52.47.0
#if (LIBAVCODEC_VERSION_MAJOR == 52 && LIBAVCODEC_VERSION_MINOR == 47 && LIBAVCODEC_VERSION_MICRO == 0)
extern "C" {
void av_free_packet( AVPacket *pkt )
{
if (pkt) {
if (pkt->destruct) pkt->destruct( pkt );
pkt->data = NULL;
pkt->size = 0;
}
}
}
#endif
From the codec number i should deduce the lib version number...
:shock:

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: VIDEO SUPPORT FOR AI COMMS

Post by ezee »

I just created a branch to work on video support :
https://sourceforge.net/p/vegastrikevo/ ... e4fba4ef6/

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: VIDEO SUPPORT FOR AI COMMS

Post by ezee »

I have found the good version of ffmpeg to use with vegastrike: V 0.6
dev build -> http://ffmpeg.zeranoe.com/builds/win32/dev/
( use the oldest )
All compilation was done but linker failed because of libvorbis.lib conflict :
1>Linking...
1>libogg_static.lib(framing.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
1>libvorbis_static.lib(block.obj) : error LNK2005: _vorbis_window already defined in avcodec.lib(avcodec-52.dll)
1>libvorbis_static.lib(block.obj) : error LNK2005: _vorbis_synthesis_lapout already defined in avcodec.lib(avcodec-52.dll)
1>libvorbis_static.lib(block.obj) : error LNK2005: _vorbis_synthesis_read already defined in avcodec.lib(avcodec-52.dll)
1>libvorbis_static.lib(block.obj) : error LNK2005: _vorbis_synthesis_pcmout already defined in avcodec.lib(avcodec-52.dll)
1>libvorbis_static.lib(block.obj) : error LNK2005: _vorbis_synthesis_blockin already defined in avcodec.lib(avcodec-52.dll)
1>libvorbis_static.lib(block.obj) : error LNK2005: _vorbis_synthesis_init already defined in avcodec.lib(avcodec-52.dll)
1>libvorbis_static.lib(block.obj) : error LNK2005: _vorbis_synthesis_restart already defined in avcodec.lib(avcodec-52.dll)
1>libvorbis_static.lib(block.obj) : error LNK2005: _vorbis_dsp_clear already defined in avcodec.lib(avcodec-52.dll)
1>libvorbis_static.lib(block.obj) : error LNK2005: _vorbis_block_clear already defined in avcodec.lib(avcodec-52.dll)
1>libvorbis_static.lib(block.obj) : error LNK2005: _vorbis_block_init already defined in avcodec.lib(avcodec-52.dll)
1> Creating library D:\program\VEGASTRIKE\VEGA_EVO\branch\Windows\1.0\vega-vc9\Release\Vegastrike.lib and object D:\program\VEGASTRIKE\VEGA_EVO\branch\Windows\1.0\vega-vc9\Release\Vegastrike.exp
1>D:\program\VEGASTRIKE\VEGA_EVO\branch\Windows\1.0\vega-vc9\Release\Vegastrike.exe : fatal error LNK1169: one or more multiply defined symbols found
1>Build log was saved at "file://D:\program\VEGASTRIKE\VEGA_EVO\branch\Windows\1.0\vega-vc9\Release\Vegastrike\BuildLog.htm"
1>Vegastrike - 11 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Too bad ...
I tried to disable libvorbis_static.lib , but it is needed as you can see :
1>------ Build started: Project: Vegastrike, Configuration: Release Win32 ------
1>Linking...
1>LINK : warning LNK4044: unrecognized option '//libvorbis_static.lib'; ignored
1>libogg_static.lib(framing.obj) : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance
1>LINK : warning LNK4044: unrecognized option '//libvorbis_static.lib'; ignored
1> Creating library D:\program\VEGASTRIKE\VEGA_EVO\branch\Windows\1.0\vega-vc9\Release\Vegastrike.lib and object D:\program\VEGASTRIKE\VEGA_EVO\branch\Windows\1.0\vega-vc9\Release\Vegastrike.exp
1>libvorbisfile_static.lib(vorbisfile.obj) : error LNK2001: unresolved external symbol _vorbis_packet_blocksize
1>libvorbisfile_static.lib(vorbisfile.obj) : error LNK2001: unresolved external symbol _vorbis_synthesis_halfrate
1>libvorbisfile_static.lib(vorbisfile.obj) : error LNK2001: unresolved external symbol _vorbis_synthesis_halfrate_p
1>libvorbisfile_static.lib(vorbisfile.obj) : error LNK2001: unresolved external symbol _vorbis_synthesis_trackonly
1>libvorbisfile_static.lib(vorbisfile.obj) : error LNK2001: unresolved external symbol _vorbis_synthesis
1>D:\program\VEGASTRIKE\VEGA_EVO\branch\Windows\1.0\vega-vc9\Release\Vegastrike.exe : fatal error LNK1120: 5 unresolved externals
1>Build log was saved at "file://D:\program\VEGASTRIKE\VEGA_EVO\branch\Windows\1.0\vega-vc9\Release\Vegastrike\BuildLog.htm"
1>Vegastrike - 6 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I don't know what to do , i will try to complle without libvorbis_static.lib to see where
it is used .

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: VIDEO SUPPORT FOR AI COMMS

Post by ezee »

I'm looking into the svn any tracks of video commit and some ffmpeg lib .
But until now , no track of it .
A commit from 2008 about the introduction of video :
Added vid_file.cpp/h to the project, but didn't add ffmpeg yet.

wait ...
YOUHOUUUUU !!
The graal guys ... -> https://sourceforge.net/p/vegastrike/co ... c7/ffmpeg/

The libs :
Commit [r12034]

THE LITTLE STORY :

From all i've seen until now , the video support was experimental and under windows32
only . ( the libs are located on vc7 folder , even not in vc8 , and probably never worked
" stable " because if it had worked it would be here in 2015 ... ).
I work on vc9 .

I will try to use the libs i've found and see if there is collision again with vorbis .
And try to find the reason why that video support was stopped .

2008 , one .exe is committed with ffmpeg : https://sourceforge.net/p/vegastrike/code/11957/
2010 , ffmpeg was set in Advanced view in CMAKE : https://sourceforge.net/p/vegastrike/code/12761/

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
DarkVixen
Bounty Hunter
Bounty Hunter
Posts: 152
Joined: Sun Jul 28, 2013 12:16 am
Location: Los Angeles, CA, USA

Re: VIDEO SUPPORT FOR AI COMMS

Post by DarkVixen »

I recall testing some animations under a Linux version last year, remember? it worked back then. I remember it played something, but not sure if it was ogv animations.
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: VIDEO SUPPORT FOR AI COMMS

Post by ezee »

It was a .ani file , not ogv .
We worked with images from animations you've made in blender rendered in png that i had to change
in .image .
I made a tool in python using pyglet lib that was doing that conversion in my machine .
Look for example the content of oswald.ani that is the comm animation for the tutorial mission. Several images are put in a sequencer that play them following their order in the
.ani file : https://sourceforge.net/p/vegastrikevo/ ... swald.ani/
Have video on comm display would be nice , but also video for introduction and cutscenes .

Edit : I uploaded the original ffmpeg used in 2008 at vegastrike evolved Code(git) :
Commit [a2ecb8]

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: VIDEO SUPPORT FOR AI COMMS

Post by ezee »

REPORT :

I experienced the same conflict between vorbisfile and ffmpeg with the original lib .
The problem seem to be that ffmpeg lib contains also vorbis lib ( was built with ) ,
the solution would be to create a new ffmpeg lib without vorbis on it .
But that will be more difficult to deal with audio in the video file then .
The audio should be streamed in the actual sound engine (openAL )
That is a lot of work , for windows only ?

So my conclusion is that it is better to make a new video support from scratch ,
using libtheora that is portable for linux,mac,windows .
You can check out the project in the conflict state here :
https://sourceforge.net/p/vegastrikevo/ ... a4af0c964/

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: VIDEO SUPPORT FOR AI COMMS

Post by ezee »

I started the new implementation of libtheoraplayer .
If you are interested by the story of that development , check my blog at:
vegastrike evolved dev blog
:arrow:

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
Post Reply