Несколько лет назад я сильно болел известной MMORPG Lineage 2 и узнал, что существует и активно развивается open source-проект по эмуляции серверной части этой игры. Поскольку сервер был написан на Яве, которая в то время была моим любимым хобби, я не мог пройти мимо.
Скачал исходники, собрал, помучался с подключением клиента — ура, запустилось! Настало время почувствовать себя админом и гейм-мастером в одном лице. Было чертовски интересно, как в эмуляторе реализован процесс осады замка, и я решил на правах главного захватить его самостоятельно.
Прошу сервер сделать моего персонажа бессмертным и включаю режим осады. На стенах замка и перед главными воротами появляются охранники замка, с нетерпением ждущие врага.
Подбегаю и сразу же попадаю под перекрестный огонь лучников и магов. Мне-то всё равно, я бессмертный — убиваю охрану, ломаю ворота и врываюсь во внутренний двор замка. Набегает толпа мечников, по мере необходимости я их раскидываю, но на большую часть просто не обращаю внимания.
Через полминуты замечаю, что охрана явно делает что-то не так. Меня уже не пытаются убить, хотя сражение вокруг кипит. Стражников столько, что компьютер уже сильно тормозит. Внезано большая часть участников битвы умирает от особо мощного массового заклинания, благодаря чему я наконец-то получаю шанс оглядеться.
Оказалось, что ИИ охраны замка не запрещал атаковать своих союзников. Маги, пытались выдворить меня из замка, задели своей «ковровой бомбардировкой» толпу мечников. Умный ИИ знал твёрдо: кто бьёт моего друга — тот мой враг, и ему надо дать в глаз! Соблюдая этот закон, кто-то из охраны надавал по шапке атакующим меня магам, за тех вступились друзья — и понеслось.
Года два назад старшая сестра (на тот момент в компьютерах полный ноль) сидела за моей машиной, играя в какую-то казуально-офисную игрушку.
Надо сказать, у игрушки этой кнопка «выход» в меню называлась как-то крайне неочевидно. Сестра через полчаса задалась закономерным вопросом — как же выключить игру?
Ответить я ей не успел, так как на помощь подоспел трёхлетний племянник. С криком «Мама! Ты что такая тугая?» он большим и указательным пальцами одной руки дотянулся до клавиш Alt и F4.
Играю вечером в Counter-Strike. Внезапно вырубается свет; я на ощупь отыскиваю в недрах стола фонарик и выхожу на лестничную клетку.
Оказывается, у соседа заискрила люстра. Он позвал приятеля-«электрика», который без лишних раздумий вырубил свет на на этаже. Пока остальные соседи приходили в себя и искали свечки, фонари и мобильники, он успел заметить пучок оранжевых проводов, каких он раньше нигде не видел, и тотчас же сообщил другу, что его прослушивают. Сосед, конечно, дал добро на перекусывание проводов. Пока я, чертыхаясь, выходил из квартиры, горе-мастер успел помимо электричества лишить интернета меня и друга, живущего на этаж ниже.
Никогда ещё не встречал таких самоуверенных людей — только после прямых угроз сосед наконец понял, что никто его не прослушивает. Нам он предложил денег, для решения проблем с люстрой вызвал мастера из ЖЭКа, а «электрика» отправил домой.
Витуху мы с другом зачистили и скрутили. Как ни странно, акт вандализма и наши ремонтные работы не повлияли на качество связи — пинги в Counter-Strike этим вечером были отменные!
Работаю менеджером по продаже компьютерной техники. Покупатели попадались мне разные, но одного я запомнил на всю жизнь.
В ноябре прошлого года приезжает семья покупать компьютер для учебы и игрушек сыну лет 17–19. Железо тогда было дешёвое, так что собираем парнишке настоящую зверь-машину. Сын задаёт естественный вопрос: «А что можете из игрушек посоветовать?» Добавляю в заказ свежую «бродилку-стрелялку», семья рассчитывается и уезжает довольная.
Наступил декабрь, а значит, резко повысился поток покупателей. С одной стороны набегают частные лица, берущие железо в подарок себе и друзьям, с другой — представители организаций, стремящиеся купить нужную оргтехнику в уходящем календарном году. К 20 числу наступает полный аврал — на вопросы о характеристиках товара отвечаешь молниеносно, в одной руке факс с заявкой, в другой телефон. В кресле перед тобой покупатель, который терпеливо ждёт, а за ним ещё минимум трое в очереди.
Среди этой жути я вижу того самого парнишку. Скорее всего, в давке и суматохе он простоял не меньше трёх часов, и наконец добрался до моего кресла. И вот она, заветная минута, — выдыхаю, обращаю взор на него и слышу:
— Мне очень понравилась игра, которую вы мне продали. Посоветуете ещё что-нибудь?
Не поверите, я секунд десять просидел с открытым ртом в поисках нужных слов. В итоге не нашёл ничего лучше, чем распечатать список лучших игр 2008 года по версии одного из сайтов и вручить этот лист парню.
Родной, если ты это читаешь, знай, как я тебе завидовал — новенький комп, список лучших игр и огромная куча свободного времени. Приходи еще!
В университете в качестве курсовой работы по программированию мы небольшой группой писали игрушку — двумерную платформер-стрелялку.
Все было здорово, пока мы не стали учить героя пользоваться ружьём. Планировался хитрый расчёт траектории пули, но привязать её начало к кончику дула никак не получалось. На время мы убрали объект героя и сделали так, что пуля начинает свой полет с земли, а ее прорисовка начинается лишь от положения дула. Реализовали — всё замечательно, «невидимка» перемещается по экрану, а вылетающие из пустоты пули исправно поражают врагов.
Принялись за объект героя, написали ему систему поражений и прикрутили обратно. Тут началось странное — при попытке атаковать первого же врага главный герой погибал.
В чём дело? Условия смерти героя мы описали верно, разве что кровь ещё не нарисовали. В игре используется всего один объект «пуля». Бились над проблемой долго и безрезультатно.
Наконец меня осенило. Герой оказался самоубийцей! При выстреле пуля начинала полет с земли, догоняла героя и смертельно поражала его в пятую точку.
Проблему решили, написав новый объект «пуля_героя», для которой сам герой был неуязвим. Товарищи, никогда не забывайте про кровь — по крайней мере на время разработки!
Работал я в прошлом году в одной фирме по продаже компьютеров, комплектующих и Висты. Естественно, на некоторых компах был и Линукс, на одном — ХР, но большей частью именно Она.
Приходит к нам мамаша с сыном. Я понял, что мальчику мощный компьютер особо и не нужен, и меня передёрнуло, когда мать заявила: «Что угодно в пределах 45 тысяч».
Сынок протянул мне бумажку с каракулями. 4 гига оперативки, хард на полтерабайта, трёхгигагерцовый процессор и видеокарта с 512 МБ памяти. Куда такой монстр, да ещё и с ХР?! — Мальчик, зачем тебе ХР? Это же такое старьё, — начал было я. Мальчик честно посмотрел на меня добрыми глазами и отрезал: — Под Вистой Макс не тянет. Я подавился. Парню лет тринадцать. Если это тот Макс, про который я думаю, то что будет дальше?
Компьютер подобрали достаточно быстро. Меня толкает под рёбра товарищ Сеня и подмигивает. Да, у него в запасниках есть ещё пара дисков с ХР, но просто так он их не отдаст. — Давай так, мой юный друг. Если докажешь, что тебе действительно нужна ХР, то поставлю бесплатно. Окей? — спрашивает его Сеня, тот кивает. — Пойдём-ка.
Иду за ними из интереса. Сеня что-то рассказывает мальчишке, усаживает за свой комп и запускает Макс. Паренёк кивает головой, за три минуты изображает примитивный, довольно уродливый космический корабль, минут за пять раскидывает развёртку, ещё восемь — рисует текстуру...
Когда закончился рендер, Сеня вздохнул и молча приволок диск с ХР. — Откуда умеешь так? — удивился я. — Моды для игрушек с друзьями делаем, — парень пожал плечами.
Работал я когда-то системным программистом, а заодно и админом на крупной фабрике. Контингент был большей частью женский, в том числе около 20 «операторш ЭВМ», которые занимались вводом данных.
Настоящей напастью была известная игрушка Lines (помните — пять шариков в линию?) «Дэвушки» играли в нее в любое возможное и невозможное время. В конце концов начальство это достало, и меня попросили с этим разобраться.
Раз надо, чтобы не играли, значит, не будут. Как же, размечтался — в сети сто компьютеров, а у каждого в укромном углу лежит дискета с «шариками».
Но где наша не пропадала? За вечер была написана программка, которая садилась в память и сканировала ее на предмет злосчастной игрушки. Если она находилась, код правился прямо в памяти и программка делала все шарики голубыми. С точки зрения игры шары оставались разноцветными, так что выстроить их правильно было практически невозможно. Оставалось только с утра вставить эту штучку в глобальный логон-скрипт.
Следующие два дня были для меня настоящим испытанием. Я старался не смеяться. Я делал постную рожу, когда они бегали к соседям за «правильной версией» и доставали из сейфа заклеенную дискету с дистрибутивом. Они приносили её из дома, переписывали у друзей и знакомых — все усилия были тщетны. Игры не выходило.
На третий день «операторши» выбросили белый флаг и выслали ко мне бригадира-парламентёра. С тех пор в Lines играли только в обед под чутким надзором коллег.
Есть у меня знакомый мужик, лет около сорока, банщиком работает. Причём банщик классический — и выпьет, бывает, и поматюгается. Однако компьютер имеет и в игрушки погонять любит.
Попросил он меня сегодня переустановить винду ему за пивко, глючит, мол, достала. Я собрался, приехал, за часок управился и засобирался домой. Напоследок он рассказывает мне ещё об одной проблеме: поиграет во что-нибудь, игрушку сносит, потом новую ставит, а свободного места всё меньше и меньше. Начитавшись IT happens, решил, что мужик просто удаляет ярлычки, и полез проверять папки с играми.
Удивлению моему не было предела, когда я понял, что к чему. Банщик-кулибин разобрался, что такое ярлычок, сообразил, что, удаляя их, ничего не добьётся, и по пути, прописанному в свойствах ярлыка, просто-напросто удалял экзешники! Несчастные обезглавленные игры так и оставались валяться в дебрях харда.