C++/Computer Games.
Expert: vijayan - 11/19/2011
QuestionQUESTION: Dear Vijayan
1.
Is Computer Games classified as a System or Application Software ?.
Computer Games involve Extensive Graphics, Animation Programming.
isn't it ?
2. which are the Programming languages, SDK, API required to Design/Model and Build games software ?
i.e C, C++, Java, DirectX, OpenGL etc ?
For example :
Solitaire, Chess, Car Racing Games etc.
3. Which type of Games involve Joystick control other than Keyboard and Mouse peripherals ?
Thanks & Regards,
Prashant S Akerkar
ANSWER: > Is Computer Games classified as a System or Application Software ?.
> Computer Games involve Extensive Graphics, Animation Programming. isn't it ?
It is application software all right. Executes in user mode and is written using user mode libraries.
> which are the Programming languages, SDK, API required to Design/Model and Build games software ?
Most serious game programming involving extensive Graphics and Animation is done in C/C++ - primarily for performance and the need to be close to the hardware. Solitaire for example can be written in any language (with a rudimentary 2D-graphics library).
Typically, a game engine library is used;
http://en.wikipedia.org/wiki/Game_engine
For high performance 3-D graphics, libraries like OpenGL, Direct3D are used in conjunction with the game engine.
> Which type of Games involve Joystick control other than Keyboard and Mouse peripherals ?
Joysticks are very commonly used in 'arcade games' like flight simulator games and 3D shooter games. AFAIK, these types of games are now not considered to be a mainstream genre; most of the newer games do not require use of a joystick.
---------- FOLLOW-UP ----------
QUESTION: Dear Vijayan
Thank you.
Regarding Point 3,
http://en.wikipedia.org/wiki/Joystick
If we use Joystick interfacing input device for the particular game designed, it will also require a device driver to operate. isn't it ?
http://en.wikipedia.org/wiki/Device_driver
Similar to keyboard and mouse events, How to capture the different controls events located on the joystick device namely : 1,3,4,5,7 in terms of programming ?.
http://impactnetworking.net/c1/ch03.htm
Answer> If we use Joystick interfacing input device for the particular game designed, it will also require a device driver to operate. isn't it
Yes. The driver for a basic joystick is already available as part of the common os distributions.
For instance, see
http://www.freebsd.org/cgi/man.cgi?query=joy&apropos=0&sektion=4&manpath=FreeBSD
and
http://msdn.microsoft.com/en-us/library/windows/hardware/ff538656%28v=vs.85%29.a
If the joystick has extra vendor-specific functionality, you would need a device driver to exploit that functionality. Vendors of such joysticks typically bundle a Windows driver and (in most cases) a Linux driver along with the joystick.
> Similar to keyboard and mouse events, How to capture the different controls events located on the joystick device namely : 1,3,4,5,7 in terms of programming ?.
Every major os provides facilities to capture joystick events; however, the mechanisms are different on different platforms.
For example, see:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd757121%28v=VS.85%29.as
and
http://archives.seul.org/linuxgames/Aug-1999/msg00107.html
If a cross-platform game engine library is being used, it would provide joystick functions that would abstract away the platform differences. For example:
http://alleg.sourceforge.net/stabledocs/en/alleg007.html