Hi Jim,
Sigh...Yes, but you are comparing apples to oranges here. I was
talking about programming a game using the C++ libraries for DirectX,
and you are talking about using DirectX 8 using Visual Basic 6. There
is a huge difference here in what you need to know to program using
DirectX.
The reason you find it so easy to program games using DirectX is
because Microsoft created a handy little wrapper library called
dx8vb.dll which handles all of the low level programming and DirectX
programming for you. All you have to do is setup the proper DirectX 8
objects and functions, and your in business. Microsoft did something
quite similar for Visual Basic .Net and C# .Net by adding
Microsoft.DirectX.dll, Microsoft.DirectX.DirectInput.dll, and
Microsoft.DirectX.DirectSound.dll for .Net programmers. Again the
actual coding required for DirectX has been simplified for a new
programmer using a less complicated language.
If you were a C++ programmer you would find a huge world of difference
and understand what I'm talking about in my earlier message. For C++
developers there is no handy dx8vb.dll library to handle all of the
low level stuff. That's up to you, the programmer, to write some of
the low level stuff like creating a class to get the format and size
of a wav file so you can then load it into a DirectSound buffer. You
may want to create a sound manager class to wrap the DirectSound
secondary buffer pointers for easier management etc. It is a totally
different ball game than the one you've been playing with Visual Basic
6.
As for the Win32 API I believe I've explained this before. It is quite
simply all of the major headers and libraries required for programming
Windows applications. For example, if you have ever used kernel32.dll
for the GetTickCount function then you have used the Win32 API without
ever knowing it. Visual Basic 6 does use the Win32 API in most of your
day to day programming, but it is often hidden by or wrapped by
something else in Visual Basic 6. The bottom line of what I'm saying
to you is that the reason you and others find Visual Basic 6 so easy
is because Microsoft intentionally simplified everything to a level an
average computer user or new programmer can easily understand without
too much effort. As Philip said before there are levels of programming
ranging from total beginner, where you are, to very advanced where
Philip and I am. One can not simply know only Visual Basic, a beginner
level language, and speak with any authority of how hard or simple say
C++ is or is not with any skill.

HTH


On 2/17/10, Jim Kitchen <j...@kitchensinc.net> wrote:
> Hi Thomas,
>
> You know, I don't even know what the Win32 API is.  And I don't really
> understand any of the code that is needed to set up the DirectX sound
> functions, keyboard input or joystick input.  I just cut and pasted that
> stuff in and as long as I then know how to use them from the examples from
> where they came, well as you can see from my games, it works.
>
> I don't know if this is a good example or not, but, one does not need to
> know how an internal combustion engine works to drive a car.
>
> BFN
>
> ----- Original Message -----
> Hi,
> Absolutely right. I didn't think about that, but it is none the less
> true. I can use a similar example just in comparing say DirectX to
> another multimedia API such as SFML.
> Even though you might be programming in a language like C++ not all
> APIs, (libraries,) are the same. Some are infinitely easier than
> others to learn and use. That's why for argument sake I'll quickly
> compare DirectX to SFML.
> With Microsoft DirectX there is quite a bit you have to do to get it
> fully initialized, setup, and ready to use. In DirectSound, for
> example,  there is no default sound manager you can use to load wav
> files into buffers. Instead you pretty much have to create your own
> sound manager probably using the CSoundManager class found in the
> DXUtils directory as a starting point for a sound manager that loads
> and prepares a sound buffer for playback. Anyone new to programming,
> and some old programmers, would agree this isn't the most user
> friendly way to introduce someone to DirectSound by any means. If that
> wasn't bad enough all of the DirectX examples are tied specifically to
> the Win32 API which means you have to have a general working knoledge
> of Windows Win32 based programs to begin with. That's ok for an old
> C++ programmer like me, but it is not ok when trying to teach totally
> new programmers how to use an API like DirectX.
> Fortunately, there are multimedia libraries such as SFML that are much
> easier to program and use. What the developer of SFML did is he made a
> simple interface to various other high end APIs such as OpenGL,
> OpenAL, and created a window library that creates a basic window using
> the operating systems default GUI. Instead of writing several lines of
> code to create a Window with the Win32 API you can do it in one line
> using the sf::Window::Create() function. Similarly if you want to
> create a new audio buffer just call the sf::SoundBuffer::Load()
> function. The basic idea here is that the author of the SFML API
> understood that something like DirectSound and OpenAL by themselves
> would be confusing and complicated to a new programmer, and simplified
> it as best as he could. That is why SFML stands for the Simple and
> Fast Multimedia Layer.
> So as Philip was saying there are vastly different levels of
> programming complexity. SFML is pretty user friendly where DirectX is
> a vastly more complex API to learn and use. I could probably teach
> someone how to use SFML pretty easily, but I couldn't do the same for
> DirectX without getting into a bunch of Windos specific WIN32 API
> stuff.
>
> HTH
>
>      Jim
>
> I like Visual Basic 6.0 because I can not C.
>
> j...@kitchensinc.net
> http://www.kitchensinc.net
> (440) 286-6920
> Chardon Ohio USA
> ---
> 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.
>

---
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