I'm pretty new at c++, and I have a long way to go to get good at it. I'm just wondering what are some things that you can do with it, pretty much anything? Also, what are some fun avenues to take, along with learning to program games? Should someone like me, who is just starting out, stick to console programming until they have all the fundamentals, and basics down?
also..
how would one create an application that's not a console application..do people tend to use engines for that, or simply create their own software from code?
do things like directx libraries make game programming, and graphic use considerably easier with their libraries?
C++ questions
#1: What can I do with C++?
-> Basically anything. The things you can’t do with it are so obscure there is absolutely no reason for you to know about them at this point (and part of that also depends on the compiler you use, as some expose features not normally exposed by the standard (“the standard” is that thing that defines the bare minimum of what C++ compilers must support, and therefore available to you on any compiler that promotes itself as being “fully standard compliant”)).
#2: How no console?
->If you are in Microsoft® Visual Studio®, just pick a template that is named Win32 Project. Set the “Application Type” to “Windows Application”.
Otherwise, don’t define _CONSOLE, and set the Linker/Subsystem to “Windows”.
Then of course define WinMain() in the way that any online tutorial will tell you.
#3: Well, given that if you were not to use DirectX or OpenGL, you would have to write the entire process of blitting triangles to the screen in your own software-mode way, I would have to say Yes, very much.
But they don’t hold your hand. They still require understanding of what is happening under-the-hood and if you don’t have that you should use something like Unity 3D to make your games while, on the side, you practice with meaningless 3D applications using either DirectX or OpenGL.
If you want to code a Windows® application, you have to learn more than C++. You have to learn the Windows® API. The same holds true for DirectX and OpenGL. And OpenAL.
L. Spiro
-> Basically anything. The things you can’t do with it are so obscure there is absolutely no reason for you to know about them at this point (and part of that also depends on the compiler you use, as some expose features not normally exposed by the standard (“the standard” is that thing that defines the bare minimum of what C++ compilers must support, and therefore available to you on any compiler that promotes itself as being “fully standard compliant”)).
#2: How no console?
->If you are in Microsoft® Visual Studio®, just pick a template that is named Win32 Project. Set the “Application Type” to “Windows Application”.
Otherwise, don’t define _CONSOLE, and set the Linker/Subsystem to “Windows”.
Then of course define WinMain() in the way that any online tutorial will tell you.
#3: Well, given that if you were not to use DirectX or OpenGL, you would have to write the entire process of blitting triangles to the screen in your own software-mode way, I would have to say Yes, very much.
But they don’t hold your hand. They still require understanding of what is happening under-the-hood and if you don’t have that you should use something like Unity 3D to make your games while, on the side, you practice with meaningless 3D applications using either DirectX or OpenGL.
If you want to code a Windows® application, you have to learn more than C++. You have to learn the Windows® API. The same holds true for DirectX and OpenGL. And OpenAL.
L. Spiro
do things like directx libraries make game programming, and graphic use considerably easier with their libraries?
Yes, they do make things significantly easier, especially these days since 3D hardware is proprietary and modern operating systems don't allow direct hardware access from userspace applications.
If you want to get hardware accelerated 3D without using OpenGL or Direct3D you need to write your own drivers providing your own API for all hardware you wish to support, quite often there is no documentation for the hardware available to the general public. (So going this route is not only extremely difficult, it also means that your game will have to be modified to support future hardware).
OpenGL and D3D are low level APIs, so even though its significantly easier to use those than it is to write directly against the hardware it is still fairly hard.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement