LG.BALUKATION's Weblog

Ничего, это тоже кое-что… А при желании из него можно сделать что угодно

Game Engine Black Books

Posted by LG.BALUKATION на 2019/09/28

Какое-то время назад я прочёл пару любопытных книг, да всё руки не доходили написать о них.

Тащем-то я уже давно подписан на блог Фабьена Сангларда. Обычно он выкладывает там всякие статьи о внутреннем устройстве компьютерных игр — иногда общие принципы, иногда обзоры конкретных игр. Важно, что он не пишет как та или иная игра играется (т.е. о её дизайне) или как что-то сделать на движке (т.е. о моддинге) — он делает обзоры на внутреннее устройство самих движков. Как устроен движок, почему что-то делается определённым образом и прочие нюансы, интересные лишь программистам.

Со временем он кроме записей в блоге умудрился написать ещё и пару книг примерно той же тематики — про Wolfenstein 3D и первый DOOM. Книги эти были на англицком (как и блог, хотя он и француз). Продавались как в цифровом виде, так и напечатанные. Постепенно в них находились и исправлялись ошибки…

И вот ВНЕЗАПНО этой весной кроме очередного исправления ошибок, он выложил сами книги бесплатно в интернет. Доступен как исходный код в latex, так и уже собранные pdf. Я решил, что это будет интересно и кинул себе в читалку, потом забыл, потом вспомнил и даже дочитал их в начале этой осени.

Обе книги построены по примерно одной схеме:
* сперва идёт описание тогдашнего положения дел в программировании и компьютерах — какое железо было доступно, как оно работало, как под него программировали и т. п.
* потом идёт описание самой команды и процесса разработки игры — кто делал игру, какими инструментами пользовались, в какой атмосфере проходила разработка
* третья часть это собственно обзор исходного кода игры — как в организованы движок и сама игра, как распределяется память, как рисуется кадр и прочие технические подробности
* напоследок описываются порты на другие платформы и что сами авторы думают об исходном коде своих игр

Изначально я думал книги будут по большей части тем, что описывается в третьей части — но наличие других частей делает их ещё более интересными. Особенно мне понравились первые части, описывающие всякие старые компьютеры и платы. Сейчас используются одни подходы и доступен один инструментарий, но раньше подходы и инструменты были другими — порой бывает забавно почитать, как народ жил без всего этого и чем пользовался. Понятно, что написание кода даже для старых компьютеров в наше время куда проще, чем во времена актуальности этих компьютеров — можно всё делать на современных быстрых машинах и пользоваться современными навороченными инструментами. Однако раньше этого всего просто не было (или оно было слишком дорого).

Сама третья часть конечно тоже интересна. Важно понимать, что это всего-лишь обзор, а не подробный разбор каждой мелочи. Так что всякие рутинные и скучные места обычно опущены и разбираются прежде всего важные или любопытные куски кода. Так же в книгах есть некоторый расчёт на последовательное чтение — книга о Doom лишь кратко повторяет те моменты, которые были уже описаны в книге о Wolf3D и отмечает, чем «новая» технология отличалась от «старой».

Лично мне было интересно читать такое, надеюсь книжка про внутреннее устройство первого квейка тоже со временем появится. Даже если вам не интересно программирование, возможно всё равно будет забавно почитать отдельные главы — например про то, как велась разработка и различные истории о версиях для других платформ.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s