|
|
Well, when I first started out writing games I wrote my own graphics engines and sound libraries... but once I learned how they worked, and hardware acceleration came along, it's much easier to implement, and having written it myself, I know exactly what to expect out of it, and how to get around things a bit easier. I know exactly how the graphics card is drawing AND how the sound card is playing. I have written both, but now that I understand it, I use what's made for me. I can write my own sound plug-ins with compression and stuff for my engine because I know how... but why would I when I can use something that's already been done. I won't write a new graphics engine that is more efficient than my older code... because well, I know how it works, and it's not as fast in software, and without going into a REALLY LOT of programming, I won't be able to support as many computers efficiently. You can't really compare sound to graphics anyways... think about it.. I can get a graphics engine pushing poly's without knowing the specific hardware... but try to get any sound out of a computer without using specific hardware... sure you can get some generic sound blaster compatible stuff working (which is how I used to do it) and you can also get some compatible vga/svga stuff going, but it's much more efficient to use drivers, and it comes out looking/sounding a lot better. Our eyes are much more perceptive than our ears though, so we would rather spend our time trying to get that last bit out of a graphics engine, than a sound engine. The quality on current sound is fine, and not much can be improved upon with current hardware. It's not like you are going to be able to get the sound quality much better or any different than anyone else can do.. or get the sound to run smoother... now with graphics, you are trying to push more polygons, and make it look better than others, and keep it compatible with all cards. It takes a lot more refinement, so there isn't a single engine that can incorporate all the features that everyone needs and do so efficiently. With sound... it can play sound files... and 3d sound when triggered... what can you improve upon. Most people write 3d engines because they have an idea on how to improve either an existing idea, or they have a new idea that they think is going to work for their application. Loading and playing a sound file is going to be the same (except with 3d sound, but then it's still similar) in 3d games, 2d games, and music programs for that matter.
Billy
|