View Full Version : Past versions of DirectX
BioDeathWalker
10-17-2002, 09:23 AM
I looked on microsoft's web pages and searched through google but couldn't find anywhere that had previous versions of the DX SDK. Anyone now where I can download them? I'm taking everyone's suggestion and looking into whether I should convert to use a previous version but I can't even find them.
elund
10-17-2002, 09:41 AM
You can get DirectX 7 here (http://msdn.microsoft.com/downloads/default.asp?url=/downloads/topic.asp?URL=/MSDN-FILES/028/001/168/topic.xml). I couldn't find any of the older versions, but as I understand it you should be able to use DirectX 7 and request DirectX 5 interfaces.
BioDeathWalker
10-17-2002, 09:51 AM
True, but I'm also looking for the documentation that goes along with the SDK.
Dan MacDonald
10-17-2002, 10:19 AM
If you want to use dirctx 5, then I would suggest trying out allegro. It's very easy to use, I picked it up in about two evenings. The documentation is good and in my expirence the quality of the API is quite high. Not only that the code is portable to any (supported) operating system, so if you compile it on a linux machine it should build and run without issue. Same for DOS.
(MAC support is in the works)
BrewKnowC
10-17-2002, 10:40 AM
Hi Dan, I checked out Allegro's website after reading your post and it sounds very interesting. It sounds good, i wonder why more people aren't using it? How is it compared to SDL? Is there is any advantage of coding purely in c++/directX?
and a question for Steve: I am currently working on a game that I plan on submitting to Dexterity (made in c++/directX for now), and was wondering if you would consider publishing a game that was made using Allegro?
Thanks
BC
BioDeathWalker
10-17-2002, 10:45 AM
Allegro looks interesting but I'd still like to find and download the Directx 5 SDK and documentation. Anyone know where?
Dexterity
10-17-2002, 10:46 AM
The engine/library used for games we publish isn't important... feel free to use whatever you like.
Fenix Down
10-17-2002, 11:26 AM
Originally posted by BrewKnowC
Hi Dan, I checked out Allegro's website after reading your post and it sounds very interesting. It sounds good, i wonder why more people aren't using it? How is it compared to SDL? Is there is any advantage of coding purely in c++/directX?
The nice thing with SDL is that in Windows it will use whatever version of DirectX is available. If DX isn't available it will use GDI (which is pretty awful but at least the game will run). I don't see any advantages to using DX directly unless you need that kind of control for some specific reason.
SopiSoft
10-17-2002, 11:35 AM
what is SDL ??? can you guys give me some info about it?? a website address maybe.....? :)
Dan MacDonald
10-17-2002, 11:59 AM
Originally posted by BrewKnowC
Hi Dan, I checked out Allegro's website after reading your post and it sounds very interesting. It sounds good; I wonder why more people aren't using it? How is it compared to SDL? Is there is any advantage of coding purely in c++/directX?
BC
A lot of people do use it, it's been around since the old mode13h DOS days. I haven't used SDL but from what I’ve heard it uses a similar structure to DirectX but also simplifies a lot of common activities so it's a little easier to use then DirectX. Perhaps the reason you haven't heard of Allegro is that it has a stigma amongst developers as being "too easy". I think a lot of developers are too proud to use an API that hides a lot of the complexities from them. They want to be in there mucking around with the details so they can say “I implemented this in raw DirectX on win32”.
The Allegro API is really simple and powerful; it actually has a lot of custom routines like alpha blending built in that you don’t get natively in DirectDraw. When playing around with Allegro for the first time I wrote a program that created a full screen window loaded a bitmap and moved it around the screen using the arrow keys in ~60 lines of code. Not only that it would run the same speed on any machine and could be compiled on Linux or for dos with no code changes. On top of that it ran on my friends parents pentium160 without requiring any special download.
I would hope that serious independent game developers would not be too proud to use an API that speeds their development time and makes their code more portable. Our focus should be on the completing and selling of finished products, not the means by which they were implemented.
I guess I should have looked closer at SDL, but I was so impressed with the ease of Allegro that I ported my engine from dx8.1 on the spot. For my next project I’ll defiantly look closer at SDL. I’d like an API that allows for easy porting to the Mac, as I see that as a great way to increase maybe even double the sales for a particular game with almost no invested development time.
As far as I can tell there isn't any advantage to coding in pure C++ and DirectX unless you want the absolute latest features of DirectX. When you code directly with DirectX you need to handle all the configuration and system compatibility issues your self. Not only that you have to write a lot of code as DirectX is pretty low level. When you code with an API supported by a large community, all the system compatibility stuff is typically already built into the API and has been tested by the community. Not only that the API's are typically a little higher level then directX which makes them easier to use, and you really don't loose anything. Unless your Carmack or one of these other individuals pioneering new graphical effects into your games, you really don't need the full power of DirectX.
elund
10-17-2002, 12:01 PM
Simple DirectMedia Layer (http://www.libsdl.org) is a cross-platform graphics library. I'm currently working with it for my game. It's a fairly low-level API, but it's very easy to work with, and has a lot of community support.
SopiSoft
10-17-2002, 12:22 PM
ok...thanx !!!:D
BrewKnowC
10-17-2002, 02:47 PM
Dan - thanks for the thorough explanation of Allegro. I am now seriously looking into it for my current project. Anything to make coding easier sounds great to me. Considering I haven't done much implementation for my bitmap loading and blitting functions yet, do you think it would be easy to port over from c++/directX6 to Allegro? Any tips or probs you ran into during your conversion? Thanks
BC
Dan MacDonald
10-17-2002, 08:25 PM
My transition from directX 8.1 went flawlessly. My code got about 25% smaller and it gave me the opportunity to do some tidy up work I'd been meaning to do. The entire transition took 3 evenings of coding time. In the end I had my engine loading map files with a background layer and a transparent foreground layer, scrolling around the screen with some alpha blended rectangles overlaying the screen, tile properties and collision detection were in as well as the added feature of having my game loop run at 100 ticks per second on any machine regardless of frame rate.
So in the end I picked up a feature or two, did not loose any of my existing features and cut the code by 25%. I was quite happy. For 3 days impact on the schedule it was defiantly worth it. My editor still uses directX 8.1 because it's a lot more complex the the actual game engine, there's a lot more code to touch and I isn't worth it at this point to make the conversion, since it runs fine on all of Rainfall Studios team members computers.
LordKronos
10-18-2002, 01:47 AM
Dan, thanks for the report. I think this will come in handy as I am planning a couple of simpler 2D projects for next year. One thing I wonder if you can answer is how large the Allegro runtimes are? How many MB does it add? (Hopefully less than 1)
ah, This thread brings back fond memories. i used allegro and djgpp, maybe, 3-4 years back. :)
Its really very useful and powerful. i liked it very much. i have been programming for many years and mostly in c. then i switched to c++. Let me tell you, when i wanted to write a game allegro helped me alot. I used it for my first game. It was a clone of a game i downloaded from the net. i don't even know the name of the game. But all i remember is that after downloading allegro and reading thru it, i did a clone of in 3 days. that includes my learning time also. :cool
What i am trying to stress is its simplicity. I found it easier to understand surfaces of dx after working with allegro. It is powerful also. Thanks to Shawn hargreeves, the creator of allegro, for giving the community such a good library. I also thank all the members who contributed to it. I suggest Anyone who is new to game prg to use allegro.
And btw, tho i am a c/c++ programmer, i also use other languages. I am not sure y some do not want to use an useful API/LANGUAGE/something that makes game programming easier. the goal is to write a game, not to write in a particular API/Language etc..
In my opinion a person who has a FINISHED game in BASIC is a better game programmer than a person who is TRYING to write something in c/c++/dx. just my thoughts. :D
:D
SopiSoft
10-18-2002, 05:07 AM
yeah....who cares about what language the game was written in....all that matterz is that the game is fun
Dan MacDonald
10-18-2002, 06:43 AM
Originally posted by LordKronos
Dan, thanks for the report. I think this will come in handy as I am planning a couple of simpler 2D projects for next year. One thing I wonder if you can answer is how large the Allegro runtimes are? How many MB does it add? (Hopefully less than 1)
People complain about the allegro runtime being too large (probably because they are comparing it to the old DOS one) It is actually quite small when you compare it to something like DirectX however. To use the allegro routines you must include alleg.dll that is just over 200kb uncompressed. There is a tool popular in the allegro community called UXP (ultimate executable packer) that is able to compress most exe’s by 40%. If I understood the tool's website correctly, the exe's would not have to be uncompressed before running, a user could just click on the "compressed" exe and it would launch normally. (this is not an allegro specific tool, it should work for any exe)
Here's a link to UXP (http://www.allegro.cc/resource/resource-view.php?id=49&request=1034959299&)
I would like to say for the record, that using allegro is not a magical solution that will enable you to write games that run on all systems with out any performance problems. You will still need to learn some things by trial and error, and work to get performance to a place that is acceptable to you. Also the time it takes you to port to allegro may vary. I had a very well thought out class system that insulated me from the details of DirectX. Thus I was able to re-implement the methods on a few of my resource classes and the rest of my code was almost 100% copy and paste. Your mileage may vary :) but it is definitely worth checking out and evaluating to see if it will work for you.
LordKronos
10-18-2002, 08:02 AM
Originally posted by Dan MacDonald
To use the allegro routines you must include alleg.dll that is just over 200kb uncompressed.
Oh, thats it? Thats nothing. A couple hundred K for some saved dev time is no big deal. Thanks. I will definitely look into it when I get around to starting my next game (whenever that may be..I've got plenty to work on before then). In the past I've been a "do it myself" type of person, but writing engines is getting to be a bit old. I'm much more interested in working on the game logic and stuff like that now.
Originally posted by BioDeathWalker
True, but I'm also looking for the documentation that goes along with the SDK.
Here's the link: http://www.microsoft.com/downloads/release.asp?ReleaseID=12471&area=search&ordinal=5
You might want to bookmark it, because it's pretty much impossible to find on Microsoft's website :rolleyes:
(I got the link from a post on GameDev a while back.)