Развој рачунарских игара

Циљ и исход предмета

Унознавање са алгоритмима, структурама података и архитектурама које се примењују у развоју рачунарских игара. Студент разуме и у стању је да примени концепте неопходне за развој погонског система рачунарских игара, као и да одабере и програмира постојеће системе на професионалном нивоу.

Теоријска настава

Слојевита архитектура погонског система рачунарских игара. Хардвер и управљачки програми. Оперативни систем. Независни SDK и средњи слојеви (Boost, Folly, Loki, C++ STL), графика (Glide, OpenGL, DirectX, libgcm, Edge), судари и физика (Havok, PhysX, Open Dynamics Engine), анимација карактера (Granny, Havok Animation, OrbisAnim), биомеханички модели (Endorphin, Euphoria). Платформски независан слој: примитивни типови, колекције и итератори, фајл систем, прецизни тајмер, умрежавање, бибиотека за рад са нитима. Језгро система: дебаговање, управљање меморијом, матеметичка библиотека, специјални алгоритми и структуре података. Управљање ресурсима: 3Д модел, текстура, фонтови, скелетон, судари, физички параметри. Рендеровање: рендеровање на ниском нивоу (интерфајс са графичком картицом, геометријске примитиве), редукција израчунавања, визуелни ефекти (честични системи, мапирање светла и окружења, динамичко сенчење), Front End (heads-up display – HUD, развојни алати унутар игре, графички интерфејс унутар игре, видео пуне скале (FMV), кинематографија унутар игре (IGC), алати за профилисање (Intel Vtune, IBM Rational Purify, Parasoft Insure++), анимација (спрајтови, хијерархијска анимација чврстог тела, скелетна анимација), интерфејси са корисником (HID), аудио подсистем. Online систем за више играча (јединствени екран, подељени екран, играње на мрежи, масивно online играње (Massively Мultiplayer Оnline Games – MMOG), базни систем за правила игре (свет игара и објектни модели, системи догађаја, скриптинг систем, елементи вештачке интелигенције, специфични подсистеми). Алати и ресурси: алати за креирање дигиталног садржаја (обрада ресурса, 3Д модели, скелтни анимациони подаци, подаци честичног система), база ресурса. Специфични подсистеми конкретних игара: рендеринг, механика, камере, вештачка интелигенција.

Практична настава

Анализирање јавно доступног изворног кода за рачунарске игрице Wolfenstein 3D, Doom и Quake. Спрајтови, оружје и позадина. Конструкција споственог погонског система на бази OpenGL способног за рендеровање 3Д модела. Позадина, анимација и рад са спрајтовимаn. Додавање детекције судара између конвексних модела. Емулација физичких сила (гравитација, отпор, трење). Рендеровање сенки. Имплементација честичног система. Додавање правила за игру фудбала. Побољшање перфоманси рендеринга кроз редукцију израчунавања (culling). Имплементација камере за игре у првом лицу. Додавање вештачке интелигенције ради контроле понашања и проналажења оптималне путање. Програмирање постојећих погонских система: Open 3D engine, Unreal Engine, Unity, Panda3D.

1 thought on “Развој рачунарских игара”

Comments are closed.