Wrecked Games

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're just that awesome.

Pages: 1 2 [3] 4 5 ... 14

Author Topic: Wrecked Games Engine (WGE)  (Read 48156 times)

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #30 on: April 08, 2006, 06:01:01 PM »

I'll take a look at it tonight, been away for most of the day.

Oh, and as for ALut, I would prefer using straight AL, as I have seen problems with ALut - where it doesn't work, but no errors are reported. And, setting up AL without it is just a couple lines :wink:
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #31 on: April 08, 2006, 07:06:55 PM »

I'm using OpenAl 1.1, Alut is no longer in it. However, it has been rewritten as a seperate project. It still contains some depriciated functions, but everything else is new. The problems you've heard about/experienced have probably been resolved. The main reason I would want to use Alut is for loading information from a file into memory, and it extracts all of the nescissary parameters from the file and puts in into the buffer.

I can understand why you wouldn't want to include Alut(another dependency, extra room, liscencing, etc.) and I will try doing it without it for now. I already have the initialization stuff down with pure OpenAl, and I'll try to code it so that I can load files with striaght OpenAl. This will probably be a good experience for me for this is my first time using OpenAl  :wink:
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #32 on: April 08, 2006, 07:13:51 PM »

Awesome!

I'm not sure, does OpenAL 1.1 support out of the box Ogg Vorbis files (as that will be the prefferred format over mp3's)? If it does, than for pure sound playback, it can be used, since it is already included with it. If not, the Theora_VideoPlugin can play both ogg vorbis and theora (video) files without the need for any special openAL codecs. Plus, the Theora_VideoPlugin could be (very easily) modded to support ICECAST stream listeneing (recieving ogg vorbis data from the net) - could be a nifty feature. I have already implemented an Ogg Vorbis/Theora ICECAST Net listener in C#. It is a since (though, buffering and latency can be a problem).
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #33 on: April 08, 2006, 08:04:24 PM »

I think it would be difficult for me to use the Theora_VideoPlugin directly to load and play ogg vorbis files. A good solution would probably be just to strip out the ogg code that I need.

Also if it's okay with you I plan on adding FLAC support. Computers are getting to a state where it probably won't be very taxing to decode lossless audio, so I think it is a good format choice for background music and such. Size is getting to be less of a factor too with DVDs, and now Blu-Ray, plus with faster internet connections, downloading a 10mb file vs a 2mb file won't be that big of a deal. Plus you get higher audio quality.  :D
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #34 on: April 08, 2006, 08:14:31 PM »

Do you mean it will be difficult for you in your project? or in the WGE AVManager?

In anycase, I plan (in the future) to replace the Ogre Theora_VideoPlugin, with a faster/better/static lib implementation in the future.

As far as FLAC support, i don't mind.. What container is that in (ie. ogg, AVI, etc? - basically, file extension).
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #35 on: April 08, 2006, 08:52:27 PM »

I mean it would be difficult for me to integrate into the AvManager/SoundSystem, because it would involve me initializing a video plugin, in a sound plugin, just to play oggs  :wink: .  The file extension for Flac is .flac. You also may be able to store it in a ogg file.

btw, remember to take a look at the OpenAlSoundSystem dll code, and the AvManager.cpp when you have time. the AvManager directly loads the OpenAlSoundSystem dll into a SoundSystem object. As I said in my previous post, when I try to use this, no functions are being called. As soon as this is out of the way, I'll commit it to SVN. I'm not going to do it now(unless you won't me to) because I don't want to have broken code in there  :)
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #36 on: April 08, 2006, 09:01:11 PM »

The way the Theora_VideoPlugin ( I should rename to Ogg Plugin :) )  work for both ogg vorbis and theora streams, is that it calls a derived audiodriver class. Don't think of it as a video plugin, but a ogg vorbis/theora codec. You feed it the ogg file, and it gives you back video or sound, or sound and video. Currently, it does not handle just audio ogg files, as it expects a material file, but that behavior could be easily changed.

Additionally, I have an Idea for a sweet script movie playback system. Instead of playing back video, it would be able to play back multiple streams (Vorbis audio, theora video, and StrOgg text).. StOgg is a ogg contained text streaming protocal that I was working on before...

Think of it this way, you give the script.ogg to the Theora_VideoPlugin, and it decodes the vorbis (which sends the data to the audio driver - which ever loaded plugin), the video to the graphics driver (Ogre) , and the text stream to the ScriptManager. Than, the script could be kept in perfect sync with any audio/video file playing. That script could do anything, change the camera angle, create objects, move/rotate/animate objects, etc etc.. A complete solution for making preconfigured in game action sequences.. And, this could be easily added to the Theora plugin.. In Fact, it could be renamed, into WGEOggManager.. And, since I wrote all the code, it could be converted to GPL (and dual license) with no hassle. What do you think? I think it could be sweet.. plus, adding ICECAST support for audio is a biggy in my book :wink:
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #37 on: April 08, 2006, 09:11:05 PM »

Sounds Awesome  :D

As I understand it right now:

AvManager sends ogg or theora data to WGEOggManager(aka Theora Video Plugin) , that decodes it, and sends the audio to WGESoundSystem(whichever plugin is loaded), and the video to be displayed on an Ogre material.

or WgeOggManager can simply stream ICECAST audio into an OpenAl or FMOD buffer using WGESoundSystem.

A great plan  :P

edit: Maybe we should get on an irc channel and talk about this, can u just make one, or does it have to get approved?
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #38 on: April 08, 2006, 09:20:13 PM »

Sounds right. Though, for now.. I would hold off on worring about this, and just work on adding the Flac support. As, porting the theora plugin is somewhat of a large task, that will take a whole day or two.

Perhaps these things shouldn't be considered managers either.. Maybe, a seperate folder named Codecs in the IDE, and possibly in the source &  include dirs too. As, it can quickly add too many files in the IDE's list and the source/include dirs.

How about:
OggCodecs.h / .cpp
FlacCodec.h / .cpp

Both the Flac and Ogg codec classes would utilize the AudioDriver (has needed init/destory/reset/etc methods as abstract members) and RingBuffer (decoded PCM sound data) class .. All this stuff can be taken from my TheoraPlugin.

Though, this is a big project to do, and, for the time being, I am happy with getting simple wav sound effects working :) (as, all sound lib's support wavs).
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #39 on: April 08, 2006, 09:26:17 PM »

Maybe we should work on a design before doing these things  :) . I'd probably save us time in the long run.
UML anyone?  :wink:
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #40 on: April 09, 2006, 07:24:11 AM »

Blah, I hate UML.. Ok, not really, if you want to start working on some UML for it, that is great. If you know of a good free UML editor, and we can both use that to edit the design, then it can be committed into wge/trunk/docs directory as AVSystem.uml or whatever ;)
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #41 on: April 09, 2006, 09:12:45 AM »

Actually I do know of a nice UML editor, Design Pattern Automation Toolkit. Its a pretty simple, easy to use editor, I've used it for some C# things before too. It can also generate native C++ code from the UML  :)
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #42 on: April 09, 2006, 09:54:38 AM »

Here's a quick test I did with it:
http://www.geocities.com/magus_vs_crono/WGEtest.png
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 2652
    • View Profile
    • http://www.wreckedgames.com
Wrecked Games Engine (WGE)
« Reply #43 on: April 09, 2006, 10:04:45 AM »

I just downloaded that app. And, although it seems simple for a UML app - and saving/loading projects is a litttle awkward (but livable). No need in over complicating stuff :D

So, I am happy using that program. From just playing with it for a second or so, I noted that one project can contain all the components that make up WGE. So, something like /wge/trunk/docs/wge_dpa.xml for the main project file to be used for creating UML with that tool? Sound good?

And, for every component, the Author would be WreckedGames, and the description unique to each component. Or, we could have each component in a seperate file, but I think having them all in one project for easier management.
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
Wrecked Games Engine (WGE)
« Reply #44 on: April 09, 2006, 12:17:09 PM »

Yup, sounds good to me. Probably easier keeping all of the components inside one file, even the Audio plugins.
Logged
Pages: 1 2 [3] 4 5 ... 14