Sign in to follow this  

Newbie with three questions. =)

This topic is 4483 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

I've learned a decent amount of C, C++, and some x86 asm. I haven't made any games using what I've learned yet except text based guessing and dice games, and roman numeral converters if those count. =) I'm having trouble deciding what I should do next. I have two books on game programming. One for DirectX(version 9 I think) and one for Beginning OpenGL by David Astle. I haven't started reading these books yet because they both strongly suggest that you learn at least the basics of Windows Programming before you do. So I've been trying to learn WIN32 programming and still studying it up to now. Here are my questions: QUESTION 1)How should I go about learning Windows Programming? I've been using tutorials by theForger like this one (http://www.winprog.org/). In the resources section for beginners, the book mentioned, "Programming Windows, Fifth Edition", has a review at amazon.com where there's a guy who says he doesn't reccomend it for beginners because it's an old way of learning. Here is the review. =================================================================== "Reviewer: Jonathan M. Davis (Scottsdale, AZ USA) - See all my reviews I have been a Windows developer since 1997, when Win32 was still fairly fresh and Windows 95 was just entering into its SR2 phase. That was a good era for this sort of book, if you wanted to delve into programming Windows without using Visual Babytalk (Visual Basic). However, the words (not book) "Programming Windows" spoken in the era of tomorrow (Vista) will be synonymous with the .NET Framework. Win32 is officially deprecated, and will be available in future versions of Windows (i.e. Vista) only for backwards compatibility. Yes, there are a few new APIs added to the Win32 framework in Vista. But Microsoft wants to discourage you from using them, and to use managed code (code written for the .NET Framework) instead, if it can be afforded by your processor, memory, and .NET's flexibility. These things said, if you want to learn how to program in Windows, in general, may I please make a few alternate recommendations: - If you're toying with older versions of Windows, such as Windows 95/98/ME, and you know or are willing to learn the C programming language, this book is a FANTASTIC way to get started. - If you're tasked with supporting legacy desktop software written in C on modern or legacy Windows systems, this book could be an excellent reference guide or refresher book. - If you just want to extend your programming skills set with an introduction to Win32--and you know what Win32 is all about in the first place--then this is a very, VERY good book to have in your library. - If you're learning C/C++ generically (in college, for example) and you're wanting to apply it to the Windows world, this book will be excellent for you. However, by 2010, C++ not fully integrated with the CLR will be a stale rendition of C++, as will be all of your C/C++ textbooks. (Pay close attention to the direction Visual C++ 2005 is going.) - If you know another Windows language such as Visual Basic and are trying to shift to C/C++, this is a very good start. HOWEVER, - If you do not have any Windows programming under your belt, and you don't know exactly where to get started in learning how to program for Windows in general, may I please recommend that you pay no attention to this book. Learn about Windows Forms in C# or VB.NET instead. - If you are trying to study up on the latest and greatest techniques on programming Windows, this book could be a useful asset, but only where managed code (.NET Framework) cannot suffice. Please purchase books pertaining to .NET Framework version 2.0 and/or Visual Studio 2005 (or sub-products, i.e. Visual C# 2005, Visual Basic 2005, Visual C++ 2005, etc.) - If you're looking for the way things WERE done in Windows for creating windows, running applications, implementing user interfaces, managing threads, graphics, etc., this is the book for you. - If you're looking for the way things WILL NOW be done in Windows for doing user interfaces, managing applications and threading, 3D graphics, etc., then pay attention to the .NET Framework, Avalon (the code name for the new UI API in Vista), and DirectX. None of these are related to Win32, and none of these are covered in this book. " ================================================================ He reccomends that if I don't have an Windows Programming experience under my belt yet, I should learn through Windows Forms C# or VB.NET. I'm not sure what all this means, but is this the route I should take? QUESTION 2)Should you learn to make games in 2D first and save 3D for later? QUESTION 3)I plan on going with either OpenGL or DirectX when I start learning a graphics API. Though, I've been leaning more towards OpenGL because I heard it's very portable. Is one easier to learn than the other?

Share this post


Link to post
Share on other sites
ANSWER 1) Notice that the books ask for knowledge of the basics of WIN32 programming. Usually, you will only need to perform very simple tasks, that can be learned from online tutorials or the DirectX documentation. If I understood you correctly, you want to learn how to make games (little WIN32 knowledge required), not to develop applications that use WIN32 heavily (what the book you mentioned teaches you to do).

ANSWER 2) Yes. Basic game concepts are complex enough for you not to bother with the difficulties of 3D rendering at the same time.

ANSWER 3) It depends on your background, and what programming style you are most familiar with in the first place. DirectX is more object-oriented, while OpenGL is mostly procedural.

Suggestion: check out SDL, which will allow you to do 2D rendering, while abstracting you from WIN32 programming, and is easy to use and portable at the same time. Also, SDL makes using OpenGL easier by helping out initializing an OpenGL renderer. OpenGL also has GLUT, an API which lets you create a window without bothering you with WIN32 details.

Share this post


Link to post
Share on other sites
I second SDL. It is so much more straight-forward than win32, and will get you into 2D graphics easily. Then when you want to get into 3D, it will allow you to use OpenGL without any OS-specific code (in fact it will interface to Direct3D as well!)

Here is the SDL homepage.

Share this post


Link to post
Share on other sites
That review assumes you want to make windows applications. While doing that is much easier now with C# and VB's pre-made shtuff, it's largely useless since you're going to replace that part of the code with DX or OGL code. Further, it's an old way of learning compared to Vista, which isn't even released yet!

If you want to get comfortable with windows, that book is by far the best resource I've ever seen at describing the little nuances and details. If you want to make windows apps it's perhaps not ideal. If you want to 'just make games' SDL will get you there quicker, and doesn't require so much windows setup know-how.

Share this post


Link to post
Share on other sites
Thanks for the info guys. I'm going to try out SDL and learn WIN32 on the side while continuing to work on my C++ skills. I've spent so much time on WIN32 already that I might as well keep up with it just in case it might come in handy some day. =)

Share this post


Link to post
Share on other sites

This topic is 4483 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this