Елитен програмист за работата с next-gen конзоли и как програмирането на игри се е променило през годините (ВИДЕО)
NX Gamer е един от най-добрите публични анализатори на гейм технологии в мрежата. Може би защото и самият собственик на канала, Майкъл, е програмист от дълги години. Трябва да признаем, че понякога въжделенията му са твърде детайлни за обикновения потребител, който желае да научи по-базисно какво се случва в дадена игра, как въпросната е рендвана на различени хардуери и т.н. Последното обаче е без значение, защото ние самите искаме да представяме и подобен вид съдържание, което знаем, че може и да е чуждо за някои от вас, но при всички положения смятаме, че има място в GI.bg.
По същество, в новото си видео Майкъл говори за процеса на програмиране в модерно време, как въпросният е еволюирал през годините и как процесът на писане на една игра/софтуер днес е коренно различен спрямо същия по времето на царуването на конзоли като Mega Drive и SNES. Най-общо казано при споменатите 16-битови конзоли основният начин за изваждане на екрана на движещи се изображения е било да се пише на асемблер – или директно „говорене“ със съответния хардуер. Единствено машинният код е по-ниско ниво на директно „говорене“ с даден хардуер. Между другото оттам идва и израза при конзолите „coding to the metal”, защото в ранните години на гейм-разработката на софтуер за конзоли, например, програмистите не са се съобразявали с операционни системи, API и т.н., а директно са комуникирали с хардуера, на който трябва да върви техният софтуер. При тези ситуации дори няма нужда от компилиране на написания код, за да може той да функционира.
В днешно време, включително и при конзолите, изискванията от един средностатистически програмист са значително по-ниски. За голяма част от функциите на един хардуер вече са се погрижили инженерите на съответната компания, съответно повечето програмисти днес просто „извикват“ съответните функции и се възползват от тях както намерят за добре. Тук дебело искаме да подчертаем, че с подобно твърдение не искаме да кажем как старите «програмъри» са огромни мечки, а новите не толкова големи. Работата на един програмист преди 20 години и днес е да разрешава проблеми – в това се състои същността на програмирането. И видовете проблеми не са статична стойност – те се развиват ежедневно. Нещо повече – всички видове улеснения за разработчиците са причината днес количеството игри, които излизат на пазара, да са значително повече, отколкото по времето на Sega Mega Drive.
Трябва да допълним също, че определени студия все още си комуникират директно с хардуера. Например Naughty Dog, които се възползват от услугите на кодинг PlayStation екипа Ice Team. Това вероятно е и причината The Last of Us Part II да изглежда като игра, която няма място на 1,8tf машина, каквато е PlayStation 4.
На този етап обаче ще преустановим въжделенията си за програмирано в игрите през годините – на първо място, за да навлезем в някаква дълбочина, ще се изисква да подготвим голям материал и второ – споделеното видео в края на този текст разглежда именно въпросния прогрес, плюс начините, по които работят инженерните екипи на Sony и Microsoft по отношение на обратната съвместимост в техните конзолни хардуери през генерациите.
Видеото е с продължителност от 20 минути, но въпросните определено си заслужават дори на ниво попълване на обща култура.