Hi Hayden,

Oh, a lot more than that. BGT is basically like its own little API
because it wraps a number of libraries such as DirectSound,
DirectInput, Sapi, and I'd imagine various other Win32 API functions
and libraries as well. He has incorperated Angel Script, a scripting
language, into BGT which simplifies matters as you don't need to know
C or C++ to use BGT which is a nice addition.

Take PB Streemway for an example. That is the library that drives the
audio engine for BGT and it is a rather useful library in of itself.
First all the hard work of wrapping DirectSound is done for you. You
don't have to mess with all the low-level grunt work like writing
custom load functions to load sound files into memory and create a
DirectSound buffer. I can say from experience that is truly grunt work
in the extreme. However, Philip has gone several steps beyond that.
Besides being able to load PCM wav data he can load compress file
types such as ogg, supports encripted ogg and wav files, it can open
an encripted packfile which he uses  to good effect in games like Q9
and Kringle Crash. Right there BGT just through that one library
shaves weeks off the time of game development not to mention makes it
easier for new developers to get something constructive done, because
they don't have to be a very skilled developer to do it.

For example, take the act of creating a custom function to load a
sound file into memory. This might shock you but DirectSound and
XAudio2 aren't able to do this on their own. You have to write a
custom function to load your wav, ogg, mp3, wma, file etc and then
give it to DirectSound or XAudio2 for mixing and processing. There are
tutorials out there on this and the Microsoft platform SDK has
documentation on using MMIO to load sound data, but here we are
talking about doing hours of research to do something that should be a
simple task but is not. Streemway simplifies it for you, because it
has a custom function sw_LoadFromFile() that loads files and creates a
DirectSound buffer for you. Yay!

In other words BGT not only wraps the Windows libraries, but packages
everything in one nice toolkit that allows you to skip all the
low-level crap like writing your own function to load sound data, and
get on to the good stuff like writing the game itself. Who wants to
spend time learning how to write a custom function to load a sound
file, or cast a standard ascii character string to a  unicode wide
character string just to pass a line of text to Sapi. Not only is that
vboring it ends up just being mindless grunt work just to do something
fairly basic. This is why C++ is not a beginners language. It is too
low-level and requires too much skill to master quickly.

That is also a big reason why C# .NET is becoming the industry
standard for general appplication programming for Windows. The .NET
Framework, like BGT, wraps everything and you can get on with the
business of programming whatever it is you want to write without
spending countless hours on low-level grunt work. If you use SlimDX
for .NET you don't have to fool with custom functions to load sound
data, because the .NET library already includes that basic
functionality built in. When dealing with strings the System..String
class does all the necessary conversions behind the scenes so you only
need to deal with one string type as far as the developer is
concerned. If you enter a standard ascii string like
"Hello world!"
the .NET Framework is nice enough to convert it to unicode for you
automatically. Another big yay for developers. BGT does something
similar as a string is simply a string of text, and you don't need to
get specific about type etc.

Cheers!


On 11/20/10, Hayden Presley <hdpres...@hotmail.com> wrote:
> Hi Thomas,
> So, Phillip did just basically rap the necessary C ++ founctions?
>
> Best Regards,
> Hayden

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gam...@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.

Reply via email to