You are here:

C++/Computer Games.

Advertisement


Question
QUESTION: 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  

C++

All Answers


Answers by Expert:


Ask Experts

Volunteer


vijayan

Expertise

my primary areas of interest are generic and template metaprogramming, STL, algorithms, design patterns and c++11. i would not answer questions about gui and web programming.

Experience

about 15 years or so

Education/Credentials
post graduate engineer

©2016 About.com. All rights reserved.