Google Answers Logo
View Question
 
Q: Video Games Programming ( Answered 5 out of 5 stars,   1 Comment )
Question  
Subject: Video Games Programming
Category: Computers > Programming
Asked by: nick2410-ga
List Price: $25.00
Posted: 18 May 2006 08:08 PDT
Expires: 17 Jun 2006 08:08 PDT
Question ID: 730069
What software programs are used to create video games for personal
computers and mobile devices such as cellular phones? Thanks.
Answer  
Subject: Re: Video Games Programming
Answered By: djbaker-ga on 18 May 2006 16:02 PDT
Rated:5 out of 5 stars
 
Greetings!
Games are developed with a wide variety of tools these days.  Gone are
the times when all one needed to make a game was a code editor and a
dream.  Obviously, the level of sophistication in the game determines
the number and quality of tools needed to get the job done.

For example, a complex game like Half Life 2 requires a vast array of
tools to put together the beloved final product.  There is obviously
the IDE (integrated development environment) where most of the game
code is written.  There are level designers which do exactly what they
sound like, allow a level to be constructed easily.  There are
obviously the programs needed to create the cut screen animations,
there are character modelers for creating all the characters, etc.

Because every game is different, often times most of these tools are
custom written and intended for strictly in house use.  They fit a
specific need within the development house and there are a whole slew
of people whose sole job it is to create these tools.  This is
especially true for level designers.

That said, there are open source versions of a lot of these tools
available for people who do not have a whole development team behind
them and I have linked to a couple examples at the bottom of my
answer.

Now to answer the specifics of your question, I have broken my answer
into a number of categories.  In those categories I have given some of
the programs used by major software houses.  The tools used to develop
cell phone programs are no different then the ones used to make 3D
games, they just use lower grades of art, no 3D modeling, etc.



*** Code ***

The code is the meat of the game.  It is possible to write the code in
a regular code editor however, almost all professional developers use
what it called an Integrated Development Environment (IDE).

"An integrated development environment (IDE), also known as integrated
design environment and integrated debugging environment, is a type of
computer software that assists computer programmers to develop
software.

IDEs normally consist of a source code editor, a compiler and/or
interpreter, build-automation tools, and (usually) a debugger.
Sometimes a version control system and various tools to simplify the
construction of a GUI are integrated as well. Many modern IDEs also
integrate a class browser, an object inspector and a class hierarchy
diagram, for use with object oriented software development. Although
some multiple-language IDEs are in use, such as the Eclipse IDE,
NetBeans or Microsoft Visual Studio, typically an IDE is devoted to a
specific programming language, as in the Visual Basic IDE."

http://en.wikipedia.org/wiki/Integrated_development_environment

The standard language that most games are written in these days is C++.  

There are two main IDEs that are used in the game world.  The first is
a heavy weight that has been around for years and the second is a
fairly recent entry to the scene.

## CodeWarrior ##

Codewarrior has been around for years.  I remember saving up my money
when I first started programming in the early 90s to buy the student
version.  Codwewarrior was developed by Metroworks until 1999 when
Motorola bought them out.  Today, Codewarrior is used mostly by Xbox
developers as Motorola has shifted the focus of the product.

Codwarrior website:
http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=012726


## Microsoft Visual Studio ##
Microsoft Visual Studio is the standard IDE for most PC game
developers now.  There are a number of version available, from the
express version to the pro version which carry different pricing
schemes.

http://en.wikipedia.org/wiki/Game_programming#Tools

Visual Studio Website:
http://msdn.microsoft.com/vstudio/

## Xcode ##
Programming for the Macintosh requires a different IDE then is found
in the Windows world.  Apple has its own free IDE known as Xcode,
which comes packaged with interface builder.  This has been gaining
traction quickly in the Mac development world as of 2004 when Apple
announced the universal binary.  Codewarrior, which was used in the
past for Apple development, has been discontinued for the Mac largely
because of the Xcode package.

Xcode Website:
http://developer.apple.com/tools/xcode/

## Mobile Devices ##
Different phones require different development options.  Wikipedia has
a great table about the options available depending on the cell phone
platform which can be found here:

http://en.wikipedia.org/wiki/Mobile_development


*** Graphics ***

A key part to any successful game is the graphics.  MS Paint will not
work when trying to impress people with your cutting edge technology. 
As such a number of power (and expensive) 3D modeling programs exist
to help developers make these impressive graphics.  These programs are
used in far more then just game development.  Also, these are not the
only tools used for graphics in game development, however they are the
most common.  Which particular poison any software house uses is up to
their preference but the tools are similar.

## Maya ##

"Maya is a high-end 3D computer graphics and 3D modelling software
package by Alias but now owned by Autodesk Media & Entertainment used
in the film and TV industry, as well as for computer and video games.
Autodesk Media & Entertainment acquired the software in October 2005
upon purchasing Alias Systems Corporation."

http://en.wikipedia.org/wiki/Maya_%28software%29

There is a personal learning edition available on their website which
is either free or low cost.

Maya's Website:
http://usa.autodesk.com/adsk/servlet/index?id=6871843&siteID=123112


## 3D Studio Max ##

"3D Studio Max (sometimes called 3DS Max, 3DS MAX, 3ds Max, 3ds MAX,
or just MAX) is a 3D modeler developed by Autodesk Media &
Entertainment (formerly known as Discreet and Kinetix). It was
developed as a successor to 3D Studio for DOS, but for the Win32
platform. Kinetix was later merged with Autodesk's latest acquisition,
Discreet Logic. The current version of 3DS Max as of March 2006 is 8."

http://en.wikipedia.org/wiki/3D_Studio_Max

3D Studio Max's Website
http://usa.autodesk.com/adsk/servlet/index?id=5659302&siteID=123112

## Adobe Photoshop ##

While not incredibly useful in 3D design, photoshop is the gold
standard when it comes to 2D graphic manipulation.  This is a must in
any software development house.

"Adobe Photoshop is a graphics editor developed and published by Adobe
Systems. It is the market leader for commercial bitmap image
manipulation, and probably the most well-known piece of software
produced by Adobe Systems. It is considered the industry standard in
most, if not all, jobs related to the use of visual elements. It is
usually referred to simply as "Photoshop""

http://en.wikipedia.org/wiki/Photoshop

Adobe Photoshop Website:
http://www.adobe.com/products/photoshop/


*** Cheap Development Tools ***
The hobby programmer can probably not afford the expense of the
professional level tools.  GameDev.net has a great article on tools
you can use to in game development which are either free or a lot
cheaper then the pro tools.

http://www.gamedev.net/reference/articles/article1510.asp

I hope this answers your question.  If you need anything cleared up,
please request a clarification before rating my answer and I will be
happy to help.

Best,
djbaker-ga

Links you may find interesting:

Game Programmer -- Game Tools
http://www.gameprogrammer.com/links/gametools.html

Programmer Heaven -- Game Development Tools
http://www.programmersheaven.com/zone8/cat291/index.htm

Search Strategy:
standard game development ide
://www.google.com/search?q=standard+game+development+ide&hl=en

tools used video game development
://www.google.com/search?q=tools+used+video+game+development&hl=en

Request for Answer Clarification by nick2410-ga on 24 May 2006 10:10 PDT
Thanks for your thorough and detailed response. Could you please tell
me where does java and adobe (flash and shockwave) fit into this
picture.
nick2410-ga rated this answer:5 out of 5 stars

Comments  
Subject: Re: Video Games Programming
From: styles777-ga on 18 May 2006 16:32 PDT
 
MOBILE DEVICES:

Usually, the software used between PCs and mobile devices is
different.  For example, JAVA offers one platform for PCs (e.g. Java
SE - Standard Edition) and another for PDAs, Cell phones, etc. (Java
ME - Micro Edition).

Adobe's Flash is the same way, offering Flash for PCs and Flash Lite
for mobile devices.

See:
http://java.sun.com/javame/
http://www.adobe.com/mobile/

Both Java and Flash apps can be emulated on a PC during the
development phase, and then run on a mobile device.

Java and Flash ship both with MILLIONS of mobile devices, and are very
common for game development on mobile/handheld devices.


PC GAMES

Most online games are created with Sun's Java or Adobe's Flash and Shockwave.

www.java.com
www.adobe.com/products/flash/flashpro/
www.adobe.com/products/shockwaveplayer/

These are all popular solutions for 2 reasons:
1) The runtime engines are already installed on most PCs (so the user
doesn't have to download and install anything extra) and
2) Both can be run on various platforms (PC, Mac, etc.) without having
to be rewritten.

Flash makes animation fairly easy, so it's a popular choice for
creating games that you can easily get up and running on the net. 
Because most users already have Flash installed (something like over
90% of computers) there is nothing for the user to install.  Flash
uses more of a scripting "language" than an actual programming
language.  This is done to make the programming process faster and
easier.

Adobe "Shockwave" is also a popular choice for more complex online
games.  Shockwave differs from Adobe in that it has the ability to
handle complex 3D games and incorporeates a number of advanced
features.  However, it's runtime engine is installed on half as many
PCs, and it can't yet run under Linux.

Java, however, is installed on more PCs than shockwave and can also on
Linux.  In addition, it is a full-on Object Oriented language. 
Creating games may take a little longer, but you'll have more control
in the end.  Still, it's use for 3D games seems to have been dwarfed
by Shockwave.


OTHER LANGUAGES:

Other languages may feature greater ease of use or functionality, but
may either require your users to download and install software, or may
limit platforms/devices on which they can be run.

The software you choose will have a lot to do with what you already
know, what you'd like to accomplish, how quickly you want to
accomplish it, how many users you have, and where you want to them to
run it (e.g. PC or Palm).

The programs that have the most functionality (lower level languages)
allow you to do the most, but are typically more complicated and take
longer to complete than "higher level" languages.


OTHER RESOUCES:

The best resource is to go to the links above, or to gaming sites like
www.miniclip.com, and explore the games created in different
languages.  If you right-click on a flash game, it will give
information about the Flash Player.  To find out if a game was
produced in Java or Shockwave, you can Google the name of the game (or
try games listed on the Java and Shockwave websites).

Another great starting point is to check out TIOBE at
http://www.tiobe.com/tpci.htm.  TIOBE tracks the popularity of
different programming languages (undated once a month).

Take a look at some of the most common languages, then head on over to
www.Wikipedia.com for a good explanation of what each language is used
for.  (For example: http://en.wikipedia.org/wiki/C_language for the C
language).  It should list some of the pros and cons of each.

Hope this helps!
Styles777

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy