Game programming.doc
-
Upload
praveen-pathak -
Category
Documents
-
view
213 -
download
0
Transcript of Game programming.doc
-
8/10/2019 Game programming.doc
1/9
Game programming
From Wikipedia, the free encyclopedia
This article is about the specics of programming aspect of video game
development, for a broader overview see video game development.
Vg development icon.svg
art of a series on!
Video game industry
"ctivities#$obs%show&
'evelopment%show&
Types%show&
Topics%show&
(elated%show&
)ists%show&
v
t
e
Game programming, a subset of game development, is the software development ofvideo games. Game programming re*uires substantial skill in software engineering
as well as speciali+ation in one or more of the following areas, which overlap heavily
to create a game! simulation, computer graphics, articial intelligence, physics,
audio programming, and input. Though often engaged in by professional game
programmers, many novices may program games as a hobby.
ontents
- 'evelopment process
-.- rototyping
-. Game design
-./ roduction
-.0 Testing
-
8/10/2019 Game programming.doc
2/9
-.1 2earing completion
-.3 4aintenance
-.5 'uration
Tools
.- rogramming languages
. "6s and libraries
..- Graphic "6s
.. 7ther "6s
/ Game structure
0 8obbyists
1 9ee also
3 (eferences
5 :;ternal links
5.- Wikis
'evelopment process
rofessional game development usually begins with a game design, which itself has
several possible origins. 7ccasionally the game development process starts with noclear design in mind, but as a series of e;perimentation. For e;ample, game
designer Will Wright began development of The 9ims by getting programmers to
e;periment with several ideas.
rototyping
rogrammers are often re*uired to produce prototypes of gameplay ideas and
features. " great deal of prototyping may take place during pre
-
8/10/2019 Game programming.doc
3/9
Though the programmer=s main $ob is not to develop the game design, the
programmers often contribute to the design, as do game artists. The game designer
will solicit input from both the producer and the art and programming lead for ideas
and strategies for the game design. 7ften individuals in nonliving document> much of whose life is dictated by
programmer=s schedules, talent and resourcefulness.
While many programmers have some say in a game=s content, most game
producers solicit input from the lead programmer as to the status of a game
programming development. The lead is responsible for knowing the status of all
facets of the game=s programming and for pointing out limitations. The lead
programmer may also pass on suggestions from the programmers as to possible
features they=d like to implement.
With today=s visually rich content, the programmer must often interact with the art
sta?. This very much depends on the programmer=s role, of course. For e;ample, a
/' graphics programmer may need to work side by side with the game=s /'
modelers discussing strategies and design considerations, while an "6 programmer
may need to interact very little, if at all, with the art sta?. To help artists and level
designers with their tasks, programmers may volunteer or be called upon to
develop tools and utilities. 4any of these may be for a specic purpose and can be
buggy due to time constraints @time for development of such tools is often not
included in a game=s scheduleA as well as because they are only for in
-
8/10/2019 Game programming.doc
4/9
The formal *uality assurance testing process, performed by professional game
testers, begins well into game development. 8igh
-
8/10/2019 Game programming.doc
5/9
-
8/10/2019 Game programming.doc
6/9
7nce the game=s initial design has been agreed upon, the development language
must be decided upon. The choice depends upon many factors, such as language
familiarity of the programming sta?, target platforms @such as lay9tation or
4icrosoft WindowsA, the e;ecution speed re*uirements and the language of any
game engines, "6s or libraries being used.
Today, because it is ob$ect oriented and compiles to binary @the native language of
the target platformA, the most popular game development language is HH%citation
needed&. 8owever, Kava and are also popular, but inappropriate for some pro$ects.
"ssembly language is necessary for some video game console programming and in
some routines that need to be as fast as possible%dubious L discuss&, or re*uire very
little storage space @e.g. very old systemsA.
8igh
-
8/10/2019 Game programming.doc
7/9
Today, graphics are a key dening feature of most games. While ' graphics used
to be the norm for games released through the mid
-
8/10/2019 Game programming.doc
8/9
For development on 4icrosoft Windows, the various "6s of 'irectD may be used for
input, sound e?ects, music, networking and the playback of videos. 4any
commercial libraries are available to accomplish these tasks, but since 'irectD is
available for free, it is the most widely used.
For console programming, the console manufacturers provide facilities for rendering
graphics and the other tasks of game development. The console manufacturers also
provide complete development systems, without which one cannot legally market
nor develop games for their system. Third
-
8/10/2019 Game programming.doc
9/9
The loop may be rened and modied as game development progresses, but most
games are based on this basic idea.%&
Game loops di?er depending on the platform they are developed for. For e;ample,
games written for '79 and many consoles can dominate and e;ploit availableprocessing resources without restraint. 8owever, game for a modern operating
system such as 4icrosoft Windows must operate within the constraints of the
process scheduler. 9ome modern games run multiple threads so that, for e;ample,
the computation of character "6 can be decoupled from the generation of smooth
motion within the game. This has the disadvantage of @slightlyA increased overhead,
but the game may run more smoothly and eEciently on hyper