Зальцман М.
Компьютерные игры: как это делается
стр. 194

Это настоящее искусство - написать исходный код, который совместит в себе сразу множество качеств. Программа должна быть не только легко читаемой, поддерживаемой и развиваемой, но и давать возможность быстро создать работающую демо-версию.

По сути, программист - это человек, который помогает дизайнеру в работе над игрой или уровнем игры. Поймите это, и игра только выиграет от такого подхода к делу.

Самое неприятное, когда в ходе работы возникает необходимость внести в игру новые, не запланированные ранее возможности. В случае с Die by the Sword примером такого рода может служить вдруг возникшая идея применения в качестве орудия оторванной конечности. Лучший способ справиться с этим -наверное, переписать инфраструктуру и добавить в нее новые возможности, но мы, помнится, просто скрестили пальцы и быстренько пропатчили исходную программу. Разумеется, это привело к массе огорчений и долгим часам отлова ошибок-«жучков», нами же и занесенных.

Поэтому последний совет Джейми Фристрома звучит так: «Насекомые в программе -это плохо. Давите их до того, как они начнут размножаться».

Майкл Саладино (Michael Saladino), Presto Studios

После ухода из компании Mobeus Designs, занимающейся созданием трехмерных графических движков, Майкл Саладино некоторое время работал в Volition (на ее счету игра Descent, слышали?), где вскоре стал ведущим программистом. В данный момент он снова программирует движки в Presto Studios. Ниже следует список заповедей, предложенных Майклом, и комментарии к каждой из них.

Нельзя недооценивать ассемблер

С появлением каждого нового поколения процессоров Intel в интернетовских группах новостей и курилках фирм, занимающихся разработкой ПО, вновь разгораются дискуссии относительно будущего языка ассемблер. Идея написать игру для ПК целиком на ассемблере уже никогда не осуществится, однако это вовсе не означает, что ассемблер перестал быть чрезвычайно полезным инструментом программирования. Интенсивно выполняющиеся циклы, которые потребляют львиную долю общего времени выполнения игры, всегда будут существовать в той или иной форме. Раньше они использовались для копирования больших битовых массивов, сейчас применяются для внутренних циклов отображения текстур. Что же дальше? Как насчет триангуляции сплайновых персонажей в реальном времени? Блок программы, который выполняет цикл сотни, тысячи или сотни тысяч раз для каждого кадра, часто будет работать гораздо быстрее, если он написан на ассемблере.


Новости
Создатели «Соника» начнут выпускать тостеры
Компания анонсировала новинку из сегмента кухонной техники — Sega выпустит тостер под названием Sonic Toaster.
Counter-Strike: Global Offensive сменит интерфейс впервые с 2012 года
Компания Valve установила на тестовые сервера бета-версию нового интерфейса Panorama UI для игры Counter-Strike: Global Offensive.