Game programming.doc

download Game programming.doc

of 9

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