Jump to content
  • Advertisement

Archived

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

johnnyboy

MS Visual C++ Advice

This topic is 5644 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi! Quick question(s) for your advice to those of you who have used Visual C++ either for games, demos, etc. I'm planning on learning/getting into VC++ (speed/MS), (have done c/c++, just not really yet specifically vc++). 1. Compatibilitity with various flavours of MS's OS. (I.e., 98/XP/2000,etc). a) Any API calls that you frequently used that you had to make a special port to say NT/2000 (and do you really care about porting to those systems for games/etc?) b) Any specific commands/sequences that don't *exactly* work? (I.e., say making large arrays that work on 98, but not NT, or different types of file access required, etc). 2. Suggestions on any MS bugs/or your own that you have made to avoid? i) I.e., do you have to worry about segment boundaries for large arrays, or does VC++ automatically handle that? (i.e., say an "MS" bug) ii) I.e., -- bugs you have made and kicked yourself 10 hours later because it was really dumb, such as assigning one object to another, thinking it was making a copy? (I.e., {Object a,b; a = new Something(); b =a;}) 3. Any pros/cons you've noticed to writing your own optimization routines/ graphics routines as opposed to say using DirectX/OpenGL/etc? a) I.e., specifically compatibility issues -- say DirectX is slower than coding yourself, but have you run into many problems coding yourself when say DirectX accounts for the different OS's? b) Recommendations on whether it is a good idea or not. I.e., newer games (i.e., WarCraft III, GTA III) have certain 'system requirments' -- whereby basically someone would have to buy a new computer (video card, RAM, etc) because of the requirements -- even if the computer is just 2-3 years old -- because of the requirements. Thanks [edited by - johnnyboy on December 4, 2002 8:51:10 PM]

Share this post


Link to post
Share on other sites
Advertisement
Guest Anonymous Poster
quote:
3. Any pros/cons you''ve noticed to writing your own optimization routines/
graphics routines as opposed to say using DirectX/OpenGL/etc?
a) I.e., specifically compatibility issues -- say DirectX is slower than coding yourself,
but have you run into many problems coding yourself when say DirectX accounts
for the different OS''s?
b) Recommendations on whether it is a good idea or not. I.e., newer games
(i.e., WarCraft III, GTA III) have certain ''system requirments'' -- whereby basically
someone would have to buy a new computer (video card, RAM, etc) because of
the requirements -- even if the computer is just 2-3 years old -- because of
the requirements.


First of all, you are not going to make your software graphics routines run faster than DirectX or OpenGL can do it. They use the video hardware, your code won''t. Second, if you write code that takes advantage of new hardware, and that is what people will need to play your game, then so be it. That is how things progress. The system you bought 2-3 years ago is not gonna run DoomIII, people understand that.
For the rest of those issues, just get a good C++ book and go to town. Sounds like you are a little scared of VC++. Any reason why? I have used it for 3 or more years now and have yet to find a "bug" that was the compiler/IDE''s fault and not my own brilliant code. It is a very good programming environment, a good book will be your best bet.

Share this post


Link to post
Share on other sites
MOVSW: I have read a number of books, and have programmed
a fair amount -- however, i''ve found that sometimes it has saved
me countless hours by asking friends/etc of any ''common'' pitfalls
they have encountered, *even though* they''ve ''read a/several''
books too. Do you have any advice/experience that you can
offer?

P.S. Nice nickname

mov ax,4c00
int 21
ret

Share this post


Link to post
Share on other sites
anonposter:

Thanks for the feedback -- yes, just getting ''into'' DirectX/OpenGL, so
wasn''t too familiar with how it really worked (I was a bit reluctant before to
get into it/because of previous ''slow''/buggy versions, etc). I wasn''t sure how well
coded the directx library, etc, was -- so wasn''t sure if writing C++
routines would be faster/more efficient.

''Scared'' wouldn''t be the word -- other than I went to play with it, and
try a *baaaaaasic* example (i.e., just used the wizard for a console app,
which basically does no code whatever), tried to include some basic
headers and *one* command, and I get the message:
"unresolved external symbol _endthreadex".

I know that it is probably a pretty basic thing (i.e., it probably has to
be a windows app to do that (which I got it to work as that) -- but according
to the MSDN docs that I was using, it should have worked *fine* as a
win32 console app. So I got really frustrated just trying to figure out why it
just wouldn''t work.

So -- that''s what I''m basically asking, before I ''really'' delve into this --
is what kind of problems/pitfalls to avoid (i.e., MSDN dox ) and how
have you resolved them?

(Basically so I can save profanity for really important occasions )

Share this post


Link to post
Share on other sites
okay, persistent one.
quote:
Original post by johnnyboy
1. Compatibilitity with various flavours of MS''s OS. (I.e., 98/XP/2000,etc).


this kind of information is commonly found under "system requirements" page, as well as on google.
quote:

a) Any API calls that you frequently used that you had to make a special
port to say NT/2000


porting software is not something you do "frequently" when you''re making your own games.
quote:

(and do you really care about porting to those systems
for games/etc?)


this shows that you don''t have much user experience with windowses, which is pretty strange. everyone knows that all games should run on 2k while nt generally goes unsupported because it doesn''t run dx above v.3.
quote:

b) Any specific commands/sequences that don''t *exactly* work?


would you like a list of bugs i fixed in the past five years in all my programs?
quote:

(I.e., say
making large arrays that work on 98, but not NT


where did you get this idea?
quote:

or different types of file
access required, etc).


and this kind of information is available in msdn under whatever function is of your interest.
quote:

2. Suggestions on any MS bugs/or your own that you have made to avoid?


yes, read the docs.
quote:

i) I.e., do you have to worry about segment boundaries for large arrays,


you know about those issues and aren''t sure which operating systems they apply to? really strange.
quote:

or
does VC++ automatically handle that?


what''s this supposed to mean?
quote:

(i.e., say an "MS" bug)


didn''t you get a hint from the last thread that bashing ms without a good reason doesn''t win you any friends?
quote:

ii) I.e., -- bugs you have made and kicked yourself 10 hours later because
it was really dumb, such as assigning one object to another, thinking it
was making a copy? (I.e., {Object a,b; a = new Something(); b =a;})


get a book.
quote:

3. Any pros/cons you''ve noticed to writing your own optimization routines/
graphics routines as opposed to say using DirectX/OpenGL/etc?


get some common sense.
quote:

a) I.e., specifically compatibility issues -- say DirectX is slower than coding yourself,
but have you run into many problems coding yourself when say DirectX accounts
for the different OS''s?


are you pulling this stuff out of thin air?
quote:

b) Recommendations on whether it is a good idea or not. I.e., newer games
(i.e., WarCraft III, GTA III) have certain ''system requirments'' -- whereby basically
someone would have to buy a new computer (video card, RAM, etc) because of
the requirements -- even if the computer is just 2-3 years old -- because of
the requirements.


you''ll realize why applications have system requirements, particularly ones concerning rapidly developing hardware/software, once you''ve programmed one.

it looks like you expect someone to write you a step-by-step guide on how to make a game right here on the forums. realize that this is not going to happen, and get a book. bring your specific questions here, and research yourself first.

make it a habit to visit google before clicking "new post" button.

and html supports word wrapping, why are you inserting hard newline breaks?

Share this post


Link to post
Share on other sites
niyaw:
b) Any specific commands/sequences that don''t *exactly* work?
>>would you like a list of bugs i fixed in the past five years in all my programs?

actually, yes, that would be great.

Share this post


Link to post
Share on other sites
You know, if you were truely interested in gamedevelopment, you wouldn''t want someone paving the way, making sure that you never fell down. That''s how we all learn, we fall down and get back up. I''m sure you have learned to walk by now, so you must know what I am talking about.

There are never any "computer" errors, only Human errors. "We err, because we are Human". It seems as though you are looking for one tiny mistake on Microsoft''s part so that you can have an excuse to not use their software. Think about it: Millions of *huge* corporations are using MSVC, not to mention a lot of independant gamedevelopers. If there were the type of bugs you have been talking about, I doubt anyone would use MSVC.

As a game developer, or any programer for that matter, you have to assume that the bug was created by you. It really makes no sense to say, "Oh no! I have an out of bounds pointer! Let me go search through hundreds of documents to see if I can blame this on Microsoft!". Most bugs are very small bugs, small and hard to find (like mispelled variables, etc).

Also, you have given a very clear impression of a beginning game developer. As a beginning game developer, you shouldn''t be so fixated on making sure that your program works on every single operating system invented. Heck, you''ll be lucky if it works on you *own* computer. I get the impression that you don''t want any programming help, but just want to have another reason to bash Microsoft, which is totally insane.

Get a life, or program and become a geek!

¬_¬

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!