silm50.exe
Автор – Red 2 the Ranger
Это не бага, это фича!
(народная мудрость)
Тяжела и неказиста
Жизнь простого программиста…
(народная мудрость)
Все совпадения лиц, имен и ников в нижеследующем тексте с реальными и вымышленными существами просьба считать умышленными и по умолчанию игнорировать.
ONLINE.DLL
Жил-был программист. Жил неизвестно где, а был широко известен в
узких кругах под ником Эру ака Илуватар. Начинал с ассемблера,
потом перешел, как водится, на C++. И по ходу набрал неплохую
команду разработчиков. Ребята сочиняли код, а он чем дальше, тем
больше постановкой задач занимался. И вот однажды позвал он их
всех и сказал:
- Есть у меня идея: создать онлайновую игру. Да не стрелялку тупую,
а полноценный симулятор мира, на порядок круче, чем Ультима
Онлайн и ВечныйКвест. Нашел я издателя-идиота, так что с деньгами
проблем нет, и вот вам техзадание и демо-ролик. Устроим же
мозговой штурм, чтобы забацать проект офигительной красоты.
Давайте свои идеи, а я их буду записывать.
У народа случилось творческое озарение, и столько идей, великих и
прекрасных, породили они совместно, что если бы всё это
закодировать, то сам Лорд Бритиш повесился бы от зависти.
Но один из программеров, самый талантливый, решил, что соблюдать
техзадание ниже его достоинства. В той тусовке был он известен
под псевдонимом Мелькор. Много лазил он по Сети и сам потихоньку
мечтал забацать нечто крутое и онлайновое. А потому некоторые
свои мысли начал продвигать, не заботясь о балансе мира и
соответствии с начальными условиями. Часть разработчиков его
идеями вдохновилась и начала фантазировать кто во что горазд, и
напридумывали они ТАКО-ОЕ, что Эру был прямо-таки вынужден
предложить своей славной команде перестать гнать лажу и заняться
делом. А также напомнил, что заказчика всё-таки он нашёл, а потому
и музыку заказывает. Все осознали, а Мелькор обиделся.
И на основе того мозгового штурма сделал Эру демонстрационную
версию мира, откомпилировал и дал всем – посмотреть и
побаловаться. Но не запускал туда ни юнитов, ни юзерских
персонажей, полагая, что сначала надо всё подготовить. И столь
красива была та демка, что часть программистов прямо-таки
возжаждала поскорее зафиксировать всё это в коде, чтобы оно само
крутилось и радовало взор, а также влезть в мир и посмотреть на него изнутри. Тут демка
кончилась, а Илуватар сказал:
- Кто хочет мне помогать программИть – добро пожаловать,
скачивайте конструктор мира и начинайте. А кроме того, мир нужно
будет поддерживать: вот вам админские привилегии.
Когда новоявленные админы впервые запустили
свежеоткомпилированный exe-шник, они слегка растерялись,
поскольку узрели только темный экран. И поняли они, что демка –
демкой, а мир придется создавать ручками да по клаве. Так начались
их великие труды, скрашиваемые пивом и трепом в чате, пока не
пришел час и не была-таки создана первая планета: пустая сфера
посреди пустого трехмерного пространства. Манвэ, Ульмо и Ауле
творили ее, и Мелькор им помогал (как он это понимал), а когда они
отвлеклись, быстренько заполнил пустую сферу пламенем (gradient fill:
flame), чтобы потом было из чего сотворить вулканы, ибо круто. А после
предложил, чтобы остальные занимались интерфейсом,
видеодрайверами и прочими интересностями, а мир разрабатывать
поручили лично ему. Манвэ такого авангарда не понял, и
разработчики перессорились. Но в результате Мелькору выделили
кусок мира для единоличного творчества.
И напрограммили себе админы внутримировые воплощения – аватары
– внешне похожие на игровые расы, только круче, и обозвали их "валарами",
чтобы не зацепить ненароком чей-нибудь копирайт. Но могли
обходиться и без них, оставаясь невидимыми и как бы бесплотными.
Они же пригласили участвовать в проекте знакомых программеров и
бета-тестеров, и часть из них тоже запустили в мир. Мелькор увидел
это и наваял себе жуткий облик, позаимствованный из игрушек,
начиная с DOOM и Heretic: кто его видел, у того отпадала челюсть, и
тестер мчался рассказывать коллегам, что встретил Самого Крутого
Монстра. Когда таких набралось много, они собрались большой
толпой и отправились проверить этого Самого Монстра на Крутость.
Так началась первая в мире битва. Поскольку некоторые
действующие лица участвовали в ней не только как аватары, а и как
кодировщики, то в результате в мире оказалось дофигища гор, морей
и разломов, не предусмотренных в проекте. Особым шиком было
подкачать свежепофиксенную библиотеку прямо в процессе, да так,
чтобы у оппонента под ногами разверзлось море лавы, а сверху его
прихлопнуть свежеотгроханным горным хребтом. О цельности кода
никто и не вспоминал, так что
баги разгребать после этой тусовки пришлось неделю. А особо
стойкие глюки дожили до конца проекта, сопротивляясь
деятельности Ауле и Оромэ (эти двое влекли тяжкое существование
деблохеров). И все же это было не совсем напрасно: хотя ни в одном
пункте техзадание не осуществилось полностью, и всё работает не
так, как обещали заказчику, однако мир обрел более-менее
жизнеспособное воплощение, которое уже можно было показывать как
раннюю альфу.