Archived

This topic is now archived and is closed to further replies.

flucknugget

damn microsoft to hell

Recommended Posts

flucknugget    122
I''m not extremely experienced with programming yet. I''m still a high school student who does this more as a hobby, only it''s a blood-thirsty life-consuming hobby that I''m obsessed with and some day plan on basing a career around. I''ve been using DJGPP and Allegro to make games (nice little open source tools), and I''ve made nothing more than mere Nibbles and Pong and Tetris clones, and a nifty little puzzle game called Blox. I''m still way into the learning phase, and I dare not touch anything having anything to do with 3D programming until I understand a lot more about programming in general, and I should probably wait until after I''ve taken trig too. Right now I don''t even want to do any 3D programming, but I do want to move onto bigger and better things, like MSVC++ and DirectX. I''m nice and equipped with Visual Studios 6 and I''ve downloaded the DirectX 8.1 SDK and all. This is where the damning of Microsoft comes into play. No more DirectDraw? Ok, I know I can use DX7 and have all the DirectDraw that I want, and I was going to do that, only the DX8 SDK doesn''t have any DirectDraw documentation at all, and I can''t find one online anywhere. There are plenty of DirectDraw tutorials (this site even has quite a few), but they all expect you to at least know something, and having the ability to look up stuff can be very helpful. I read an article about using Direct3D 8 to make 2d graphics (somewhere at gamesultra.com I think). The only problem is it basically just gives me a bunch of sample code and tells me it works. Since I don''t even fully grasp how DirectX works, much less Direct3D, or anything having to do with 3d programming at all, it doesn''t really help me to learn very much. And Direct3D was designed for 3d graphics anyway. How would you wise game programming people suggest I switch from the little newbie world of DOS and simple, easy, logical, game programming libraries to the big bad world of complicated Windows programming, DirectX, and the lack of only two dimensions? I''ve flipped through most of the articles on this site (well, the ones having anything to do with starting with DirectX), and they don''t seem to help very much (though I do get a little from them). Ha! How''s that for an introductory post? flucknugget

Share this post


Link to post
Share on other sites
Null and Void    1088
quote:
Original post by flucknugget
I'm still way into the learning phase, and I dare not touch anything having anything to do with 3D programming until I understand a lot more about programming in general, and I should probably wait until after I've taken trig too.

While I admire your patience and your efforts to try not to move too fast (the exact opposite of most people ), you may want to instead focus your efforts in teaching yourself trigonometry and 3D geometry (trig. isn't as bad as calculus, so don't worry, heh).

However, since you don't want to learn a 3D graphics API, maybe you should just stick with Allegro? It isn't any worse than DirectDraw (doesn't it use DirectDraw in Windows?), although it does simplify a lot of things you should eventually learn to do for yourself. Solely complaining about Microsoft (whatever its motives may be) doesn't normally help your situation. I'm no fan of Microsoft, so I'm not just saying that due to a personal stance .

[Resist Windows XP's Invasive Production Activation Technology!]

Edited by - Null and Void on December 17, 2001 8:29:09 PM

Share this post


Link to post
Share on other sites
Buster    100
all the interfaces are still there and usable. for docs, just look on the internet you''re bound to find them.

You can also just use the D3DX8 sprite interfaces.

Share this post


Link to post
Share on other sites
evaclear    166
You can download the directx 7 documentation from msdn.microsoft.com . Which will give you access to the ddraw tutorials and docs. Also if you search through DX8 you''ll find that MS has wrapped DDraw up in a file called ddutil.h and .cpp . This will get you up and running with ddraw, it includes functionality for loading bitmaps, doing font code, creating full screen surfaces, and creating windowed surfaces. If you look at the DDraw samples that come with dx this will get you started.

Onto the reason ddraw isn''t in dx8....Easy enough, in the past few years has 2d technology advanced at all? NO. So there was no need to update it! Nvidia, Ati, 3dfx, and all those other vid card makers are all focusing on 3d. So no new features have been added to 2d hardware, no alpha blending in 2d, no rotation in 2d, not even 64bit image depth. Absolutely nothing! So there was no need to update that specific part of the API. Perhaps it''ll re-appear in 9 but I suspect it''s more or less going to be 2d wrappers for d3d interfaces.

Share this post


Link to post
Share on other sites
Cyberdrek    100
quote:
Original post by flucknugget
I''m not extremely experienced with programming yet. I''m still a high school student who does this more as a hobby, only it''s a blood-thirsty life-consuming hobby that I''m obsessed with and some day plan on basing a career around. I''ve been using DJGPP and Allegro to make games (nice little open source tools), and I''ve made nothing more than mere Nibbles and Pong and Tetris clones, and a nifty little puzzle game called Blox. I''m still way into the learning phase, and I dare not touch anything having anything to do with 3D programming until I understand a lot more about programming in general, and I should probably wait until after I''ve taken trig too. Right now I don''t even want to do any 3D programming, but I do want to move onto bigger and better things, like MSVC++ and DirectX. I''m nice and equipped with Visual Studios 6 and I''ve downloaded the DirectX 8.1 SDK and all. This is where the damning of Microsoft comes into play. No more DirectDraw?

Ok, I know I can use DX7 and have all the DirectDraw that I want, and I was going to do that, only the DX8 SDK doesn''t have any DirectDraw documentation at all, and I can''t find one online anywhere. There are plenty of DirectDraw tutorials (this site even has quite a few), but they all expect you to at least know something, and having the ability to look up stuff can be very helpful. I read an article about using Direct3D 8 to make 2d graphics (somewhere at gamesultra.com I think). The only problem is it basically just gives me a bunch of sample code and tells me it works. Since I don''t even fully grasp how DirectX works, much less Direct3D, or anything having to do with 3d programming at all, it doesn''t really help me to learn very much. And Direct3D was designed for 3d graphics anyway. How would you wise game programming people suggest I switch from the little newbie world of DOS and simple, easy, logical, game programming libraries to the big bad world of complicated Windows programming, DirectX, and the lack of only two dimensions? I''ve flipped through most of the articles on this site (well, the ones having anything to do with starting with DirectX), and they don''t seem to help very much (though I do get a little from them).

Ha! How''s that for an introductory post?

flucknugget


Just use SDL.



"And that''s the bottom line cause I said so!"

** I WANT TO BE THE MODERATOR FOR THE LINUX FORUM **

Cyberdrek

Resist Windows XP''s Invasive Production Activation Technology!

"gitty up" -- Kramer
/(bb|[^b]{2})/ that is the Question -- ThinkGeek.com
Hash Bang Slash bin Slash Bash -- #!/bin/bash

Share this post


Link to post
Share on other sites
flucknugget    122
Woah, thanks everyone. I got more of a response than I thought I would. Null and Void, I have pre-cal next semester, which starts in like a week, and that covers trig, so I''ll be in 3d programming pretty soon. Thanks for the help everyone. Yeah, I think I''ll try and learn DirectDraw now. I would continue with Allegro, but I want to get used to Windows programming and DirectX, for when I do decide to start doing 3d stuff.

flucknugget

Share this post


Link to post
Share on other sites
Jeff D    122
Hey Flucknugget I cant help but ask you this, have you ever used something called MZX??? If so I used to talk on digitalmzx.net months back. Just wondering I was Domon at that time.

Jeff D



Suffered seven plagues, but refused to let the slaves go free. ~ Ross Atherton

Share this post


Link to post
Share on other sites
Promit    13246
Or maybe, youre just a frigging impatient stupid ass highschool kid who needs to start learning how to learn!


Especially because youre so damn impatient you didnt even read the SDK docs on "Whats new in DIrectX 8" or look at the top of . Because If you had, you would have known to use a define statement to set the DX version to 7, if you wanted DDraw!

So b4 flaming MS, look at yourself and say "Whos being the stupid bastard? MS...or me?"

-----------------------------
The sad thing about artificial intelligence is that it lacks artifice and therefore intelligence.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
Well in response to the last reply, MS has a way with wanting to control everything everyone does. If you haven''t figured this out .. maybe you should go back to high school. With that said .. I''d like to drop in that if you''re going to be learning the theory behind 3d programming, i might suggest attempting D3D, but you''ll probably find .. that after muddling thru a bunch of setup and function calls, and whole loads of misc stuff that you wont understand until you''ve read about it about 185 times .. you try OpenGL .. I spent a while doing d3d and it worked, and its not bad .. but after spending a half an hour using opengl and getting working 3d with little to no problems .. I had to throw out my need for ms idea of a nice api .. Not to mention the fact that opengl (imo) handles better, is easier to code, and is multiplatform .. tho it lacks things like the easy loading of .X models and some stuff MS put in their to make d3d seem user nice .. odds are yer not going to use that stuff anyway .. either way its a toss up .. i just found it easier to jump into opengl than d3d (when dealing with 3d) .. for 2d go ahead and werk out ddraw .. its not complicated

-jINx out

Share this post


Link to post
Share on other sites
Promit    13246
OGL is useful for everything(and i mean EVERYTHING) except Windows Games. Im sorry if you other people feel badly about that, but thats the breaks.

Direct3D8 now outperforms OpenGL, which i though ws kind of sad, but a fact is a fact. AS for numerous function calls, well yeah. Just deal with it. I personally enjoy COM programming much more than i enjoy API programming(calls which are not grouped together in any real way). COM programming means the calls are obviously related to each other in a certain way(they are part of a class). DirectX may not be smaller and simpler, but witht he release of D3D8, well, u OGL guys gotta take a second look.(ANd no, the code isnt going to be shorter; its still going to be rather long.)

Hopefully OGL2.0 will rectify the aforementioned problems. In the meanwhile, heres my advice:
If you intend to make Win32 games and you intend to stick with that for a while, learn D3D8, as long as you have firm grounding in C++ OOP(not C structs, full C++ classes!).
Otherwise, learn OGL.

-----------------------------
The sad thing about artificial intelligence is that it lacks artifice and therefore intelligence.

Share this post


Link to post
Share on other sites
d9930380    122
OpenGL is very cool to learn 3D Programming with.

However once you have gotten past that initial part. It''s a pain in the ass, due to it''s extensions mechanism.

If you want to program a game today. Even if it''s 2D I would still use Direct3D or OGL and do it in 3D. It''s the "Proper" Way for today''s hardware.

As for needing to know advanced maths - for faked 2D, you won''t.

Just learn a wee bit of linear algebra and you''ll be fine.

BTW - I recommend your first book to be the Official OpenGL Programming Guide (Red Book). Don''t worry, the jump from OGL to Direct3D isn''t hard and this is SUCH a good book it should be read by everyone as their first book.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
Promit, your an idiot. And another thing, d3d 8 is NOT faster than opengl. Your a moron if you think that. A good programmer can get both APIs to run equally well.

Share this post


Link to post
Share on other sites
Promit    13246
yes, a good programmer can. only problem is that the GL code requires optimization.

Dont bitch with me, i know what im talking about, ive actually TESTED these things.

-----------------------------
The sad thing about artificial intelligence is that it lacks artifice and therefore intelligence.

Share this post


Link to post
Share on other sites
flucknugget    122
Jeff D: Yes, actually I have. I used to use megazeux all the time, ahh, that was such a great program... Someday maybe I''ll try and write my own game creation program.

flucknugget

Share this post


Link to post
Share on other sites
Jeff D    122
Thats the reason I want to learn C++ so I can make game creation systems like megazeux, but I kinda want to get into making something more like WorldCraft or Unreal Engine, but Im lucky if I can make hangman right now . But am having fun doing it. Welcome to these boards man.

If I can help you I will answer but it seems just like mzx your are more advanced than I am.

Jeff D


Suffered seven plagues, but refused to let the slaves go free. ~ Ross Atherton

Share this post


Link to post
Share on other sites
Promit    13246
Well, fine, if you must know:
Ive run several tests on different game engines, apps, etc. OGL and D3D definitely work better in different environments. For example, using D3D with an NVidia card on WinXP can cause serious problems(the nature of which is unimportant now). In general, windows systems(usually 98SE) are somewhat better suited to D3D. I don''t think my results will be accepted, however, and as a result I am discluding them from my article. Instead i will deal with each API as if its performance was equal with the others.

-----------------------------
The sad thing about artificial intelligence is that it lacks artifice and therefore intelligence.

Share this post


Link to post
Share on other sites
Ibanez    122
Promit, you are an idiot. I, personally am not too convinced you know what you are talking about, and besides, what kind of asshole would say something like this to a newbie, asking a sensible question in an ''beginners'' forum at that:

quote:
Original post by Promit
Or maybe, youre just a frigging impatient stupid ass highschool kid who needs to start learning how to learn!


Especially because youre so damn impatient you didnt even read the SDK docs on "Whats new in DIrectX 8" or look at the top of . Because If you had, you would have known to use a define statement to set the DX version to 7, if you wanted DDraw!

So b4 flaming MS, look at yourself and say "Whos being the stupid bastard? MS...or me?"


If you cant handle people asking questions where the answer is obvious (to you), stay out of this forum!

Share this post


Link to post
Share on other sites
Maximus    124
quote:
Original post by Promit
OGL is useful for everything(and i mean EVERYTHING) except Windows Games. Im sorry if you other people feel badly about that, but thats the breaks.

Direct3D8 now outperforms OpenGL, which i though ws kind of sad, but a fact is a fact.


Performance of an API depends on drivers and the programmers ability. If a programmer knows not how to optimize code, what are they doing programming for 3D hardware? On nVidia cards, OpenGL runs slightly faster than D3D. On 3dfx cards, D3D runs faster than OpenGL.

OpenGL is as suited for games as D3D is. Both are just peices of code that you use to access 3D hardware. OpenGL opens up more of the cards features to the programmer than D3D does, but D3D forces greater compatibility. Any half decent OpenGL programmer that isnt designing card-specific code will check OGL extensions for a cards capability before attempting to access its functions. If OpenGL isnt suited for games under Windows, then why are there plenty of Windows games that use OpenGL and run perfectly?

Share this post


Link to post
Share on other sites
python_regious    929
Oh for the love of god. API performance is down to the drivers. Yes, OpenGL will perform worse when used rendering individual triangles with drivers written by a monkey. With equivilent code ( ie, DrawPrimitive and DrawElements ), the speed is just down to the drivers. If you have better OpenGL drivers, OPENGL WILL PERFORM BETTER, on the otherhand, if you have better D3D drivers, the opposite is true.

Get a clue.

Death of one is a tragedy, death of a million is just a statistic.

EDIT[ spelling ]

Edited by - python_regious on January 4, 2002 2:02:02 PM

Share this post


Link to post
Share on other sites
Spiritualized    122
Just a quick note that is ON TOPIC In my copy of the MSDN help files is a description of DirectDraw7, but is in a hard to find section. (I have the October version of the library)

Here''s the path:
Platform SDK, Graphics and Multimedia | Platform SDK Documentation | Graphics and Multimedia | DirectX | DirectX 8.1 (C++)(Pre-release) | Extras | DirectDraw 7.0

Hope it works for you too...

Fade out again...

Share this post


Link to post
Share on other sites