Advertisement

MFC or WinAPI knowledge for game development?

Started by December 13, 2000 03:06 PM
17 comments, last by kharris 24 years, 1 month ago
Learning win32 api is a must I''m afraid. MFC hides tons of stuff behind its back, it''s great but eventually it''ll get you. You''ll then be searching through the mfc source code to find answers and if you don''t know win32 concepts you will get lost. I gave up writing an editor in mfc and am writing it in win32 and I''m progressing much faster because of win32. MSDN library is a must have in my opinion. One thing to watch out is that many win32 functions live in places of the library where you least expect them so thorough searching of somewhat similar topics will reveal them. I imagine after some time in win32 land you could move on to mfc but you will probably be looking to do things you could do in win32 and it will take you forever to find the answer in mfc land, (CS_OWNDC) for example, I''m sure there are more

The idea is to know the api of your choice well so that when you do move to 3D you spend less time messing with windows api and instead spend more time coding 3D stuff. One more thing, I first hunt through win32 functions then if one isn''t available I then make one myself not the other way around which happened to me couple of times Also look into win32 macros like POINTTOPOINTS, RGB, MAKEPOINTS, etc. they''re helpful.
Learning Win32 API is a good thing, but if you know C++ I''d highly recommend using MFC once you get the basics of the Win32 API down. MFC makes programming SO much faster than doing straight Win32 and you still can use any Win32 API calls (MFC is just a wrapper class for Win32) you want if you can''t/don''t know how to do something MFC.

However, if just want to create the tools and you don''t care about learning the guts of Windows programming I''d recommend either Visual Basic or Borland C++ Builder. Both of these programs make creating Windows apps a breeze requiring very little coding yourself.


- Houdini
- Houdini
Advertisement
As far as tools go, I would really look into the 3DS Max SDK. Level editors may soon go the way of the dodo. You can get everything you need out of Max and Maya as far as 3D art is concerned, and it seems many game developers are moving away from writing Windows programs and Command line programs in favor of plugins. Currently Max is dominating the games market, and the Maya SDK is actually the easier of the two to work worth. If you can get a handle on the Max SDK, you''ll have no problem getting a job.
If you are a millionare.
Plus, learning Win API will get you used to Direct X easier.
so what do you guys think about using Visual C++ AppWizard, and the Doc View Architecture?
cmaker- I do not make clones.
Advertisement
Using them for what?

If you''re making the next version of Word, use doc/view. If you''re making a big complex windows app, probably use doc/view. If all you need is a surface to draw your game on, doc/view will most likely cause you large amounts of unnecessary pain.

-fel
~ The opinions stated by this individual are the opinions of this individual and not the opinions of her company, any organization she might be part of, her parrot, or anyone else. ~
quote: Original post by felisandria

Using them for what?

-fel


I was referring to using them to develop tools/editors for games.

cmaker- I do not make clones.
If you''ve already decided to use VC, then the SDI or MDI is decent choice for tools. And if you ever decide to leave the games industry (or are not in it now) MFC will be sought knowledge (not that win32 knowledge isn''t).

Also, MFC is not a requirement to use SDI or MDI, Petzold has a few chapters on SDI & MDI in his defacto "Programming Windows" win32 api book.

It''s taken quite some time to learn MFC enough that I can write a standard windows program with it. But every time I do, I get better at it.
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara

This topic is closed to new replies.

Advertisement