Yes. It involves polling the mouse and keyboard state periodically, responding to input, and drawing to the screen. Do you know already what library/ies to use?
A great start to coding a game for both windows, linux, and possibly even MacOS (Multi-platform / Cross-Platform) would be using a SDK, an example is nVidia's OpenGL SDK, which I'm fairly sure if cross-platform. A couple more SDK's I know are cross-platform are SDL and Ogre3D. Note for it to be cross-platform you'll need a SDK based off the OpenGL graphics engine.
OpenGL (Open Graphics Library) is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL was developed by Silicon Graphics Inc. (SGI) in 1992[1] and is widely used in CAD, virtual reality, scientific visualization, information visualization, and flight simulation. It is also used in video games, where it competes with Direct3D on Microsoft Windows platforms (see Direct3D vs. OpenGL). OpenGL is managed by the non-profit technology consortium, the Khronos Group.
im back guys, .
what i mean is do i have to depend on Libraries or SDK's to make a game? i knew already basics of C++ and learning winapi seems like i'm starting all over again to learn another language because of its lot's and lots of MACRO's and weird syntaxes,
i want to create game from my acquired knowledge of c++ w/out depending on those libraries,
is it possible? any suggestions.
C++ by itself only provides console IO. Input and output of text characters. If you want any sort of graphical interface, you HAVE to rely on additional libraries to provide that capability.
There's three kinds of libraries:
1. Standard libraries provided by the language.
2. System libraries provided by the OS. These are the ones you said you don't want to use.
3. Third party libraries. These are the ones you need.
To do graphics in C++, you have to use either #2 or #3.
If you don't use #3, you're forced to do some pretty annoying things. You need to interact with the system to allocate graphical resources, etc. If you need 3D, it's even worse. Let's just say you'll only be able to produce something that'll work on your system, and no one else's, and leave it at that.
as for the learning curse for libraries, it's really nothing like that. Some libraries take more time to learn than others but you can more or less understand the overall logic in about an hour or two. I know learning new libraries can seem intimidating to a newbie, but you'll have to use libraries some day, and the sooner you learn how to, the better.