QuickBASIC/QBASIC newsletter
Editorial Article
The Price of Utilities
By 19day (19day@geocities.com)
http://members.xoom.com/19day
Don't you just hate it, you
start a new programming project with high hopes
and great ideas, but it seems that everything
you want to have in the program, is difficult
to program from scratch. You wanted SB sound,
and midi and to be able to scale your
images and move them around easily like you've
done in other programs. But how, can
you program all that stuff and still live long
enough to program the actual project you set
out to do in the first place. You use a
library. A library seems to have a few definitions
around the 'net: it could be a group of subs and
functions that do certain tasks for you,
like Blast!, or it could be an actual QuickLibrary
like Dash, or even a external EXE you
have to run with it, or alone, like SBMIDI
and PLAY. So you group these things together
to make your great program, and there are a few
results from this:
a) All the work collecting and merging all the stuff
bogs you down and you quit.
b) You can't seem to get any of it to work together.
c) You have a really bad program, with great sound.
d) You achieve your goal.
e) You have many other problems.
I personally hang between
B and D, and I'll tell you why. When you
use these outside programs like Blast and
QMIDI and DMAplay, you start down a
road of conflict, that is, between the programs.
I had endless problems with Qmidi
and DMAplay together. Blast!
and Dash have crashed my computer on several
occasions and sometimes it's enough to make you
want to quit. When you go get
another program to do the work for you, you don't
learn what you need to know to
use it effectively. If you want to compile
a bunch of demo's then fine, but if you try
to make a program, and some of the third party
programs conflict, you probably
won't know how to fix it. I personally,
don't know what WriteDSP does, or how the
StopMidi ASM works, and if I have a problem with
them, then I'm up the creek
without a paddle.
But of course, you can also
see the other side of the coin. People
who always say "Oh, I don't know what's wrong
with it, I don't use those things,
I just write my own." That's great for people
with the knowledge and the time,
but in fact, most of those people never actually
finish what they start. I believe
most of them write a program to allow their game
to play music, and then never
finish the game, so they release the music playing
library for people to use, going
against everything they defended. You can
sometimes spot these programs, where
the programmer tried to make a quick Blast!, and
it runs really slowly.
But the third side of the
coin (?) is that they, at least, could fit it all
together. They created it, so they know
exactly how it will behave, and they fit
it into their programs, and that's where it was
ment to be. What does this all boil
down to? Well, this is how I see it:
1) If you are wanting a sub to draw lines for you or something
like that,
write it yourself, you can customize it all you want.
2) If you are using utilities like Qmidi, find out how they work,
as much
of it as you can understand, you will have fewer problems in the future.
Some really great games have
been created out of Utilities like
DMAplay and Qmidi, WetSpot2
by Enhanced Creations, Space-a-Roo by
SonicBlue and, hopefully once I get it finished,
MazeRPG by 19day Productions.
So going back to the title
of this article, The Price of Utilities, well,
it's pretty much the understanding and the customization
of them that you have
to throw away, to an extent. Remember, those
utilities are out there for you to
use, and remember to give credit to those how
made them, but also remember to
give credit to yourself, because without you,
those utilities would just be unused,
stagnant code.
--19day
Back