bash.im ithappens.me zadolba.li

Игры

1211

Консольное Ремесло

Дело было на первом курсе университета. Проходил у нас тогда практикум по Unix — мы писали скрипты, подключаясь к серверу через PuTTY. Мужская часть группы (12 человек), дружно игнорируя изучение awk и sed, во время практикума играла в Warcraft III.

Курс был интенсивный — четыре первые пары каждый день. Препод приходил лишь раз в неделю и смотрел результаты, что нам было весьма на руку. Сознательных же девчонок очень сильно смущал тот факт, что толпа пацанов с утра до ночи убивает «крипов» и не даёт заниматься самообразованием. Быстро смекнув, во сколько приползают «игрунки», девушки решили приходить в универ пораньше.

Естественно, однажды утром свободных машин нам не досталось. За десять минут был написан скриптик (таким образом, я, кстати получил знания об awk), который вытаскивал с сервера список пользователей и отправлял каждому файл с тысячей пустых строк. Крик, визг из машинного зала — конец всему, что сделано за утро! Прекрасная половина курса отправилась работать домой, а мы спокойно продолжили «творческий процесс».

1189

Жизнь коротка — играй больше

Когда-то давно, купив классическую «сегу-мегу», мы с братом столкнулись с проблемой: для игры отец выделил старенький телевизор «Электроника» который не имел привычных сегодня разъемов-тюльпанчиков. В комплекте к приставке шёл особый кабель, который позволял подключать её к антенному входу, но в случае конфликтов на почве учебы или других повинностей отец этот шнур конфисковывал.

Пытливый ум нашел лазейку: из зала в нашу комнату мы притащили видеомагнитофон, а «сегу» воткнули ему во вход. Поиграть удалось, но отец, увидев видик в комнате, стал ругаться: «Ставьте на место в зал и не трогайте!»

Пришлось искать другой путь. Вариантов было много: выпаять декодер из «спектрума» и приладить к «сеге», помучиться, найти и купить новый шнурок и даже улучшить свои показатели в учебе, чтобы отец вернул шнур.

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

В итоге брату надоели высокотехнологичные решения. Однажды мы умудрились достать ключ от комнаты отца и вытащили кабель. Искомый декодер из коробочки-конвертера мы изъяли и вернули нерабочий кабель на место. И волки сыты, и овцы целы!

Тот самый выпотрошенный тринадцать лет назад кабель я на днях обнаружил у отца в комнате — он и напомнил мне об этой истории.

1176

Могучая воля, великая слава... Давай же, милок, я скучаю одна!

В самом конце XX века в одном из министерств по развитию бурной деятельности произошли перемены в руководящем составе. Новый министр был из старых советских аппаратчиков — ветерана органов с двумя большими звёздами на погонах вместо пенсии отправили дослуживать в малозначимое министерство.

Новая «метла» начала с установления военного порядка: всех обязали являться на работу к 9:00, появились жёсткие требования к форме одежды. Апофеозом упорядочивания деятельности было введение еженедельного собрания, которое должно было начинаться с хорового пения национального гимна.

Организацию вещания гимна через аудиосистему конференц-зала поручили IT-отделу. Я подключил ноутбук к усилителю и выкрутил громкость на максимум, чтобы все пришедшие на собрание прониклись патриотизмом (или, как минимум, проснулись). Проект «Гимн» реализовывал я, поэтому стал единственной кандидатурой на должность диджея.

В те времена в нашем министерстве была очень популярна компьютерная игрушка «Порношашки». После каждой выигранной партии приятный женский голос поздравлял игрока, а фото барышни рядом с игровым полем менялось на более откровенное.

В тот день я припозднился и пришёл на собрание уже к последнему куплету гимна. За диджейским пультом сидел наш главный раззвездяй Шухрат; он жестами показал мне, что всё окей и гимн уже закончился. Министр начал собрание с указания на недопустимость наличия компьютерных игр на рабочих компьютерах и пообещал лично огнём и мечом пресекать все факты игрищ. Отдельно руководитель отметил игры фривольного содержания:

— Вот вы все играете в шашки с голыми бабами, а ведь это двойное преступление — в рабочее время предаваться разврату!

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

1143

Живи играючи

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

Постучался я как-то ему в аську: «Слушай, есть новое дельце!» Друг заинтересовался и согласился подумать. Даю вводную: есть поле 5х5, в ячейках нужно разместить цифры от единицы до четвёрки При этом единичку можно ставить везде, двойку — только рядом с единицей, тройку так, чтобы рядом с ней были одновременно 1 и 2, а четвёрку в окружении 1, 2 и 3. Цифры нужно расставить так, чтобы общая сумма была максимальной.

«Окей, — говорит друг, — сейчас всё будет!» Через пару минут брутфорса он сообщил, что всё отлично, программа выдала уже пятьдесят миллионов комбинаций, и, если никто не будет отключать машину на ночь, нужный результат мы получим не позднее, чем через два года. Почесав репу, он написал более умную прогу, которая сходу выдала с десяток роскошных результатов. Одна беда: иногда программа ставила цифры куда попало без оглядки на расположенные рядом. Пофиксив баг, друг прислал мне несколько впечатляющих (поначалу) схем расстановки цифр, но не прошло и пяти минут, как мы оба вручную решили задачу более подходящим способом.

Теперь друг взялся за дело всерьёз. Он менял строчку за строчкой, постепенно оптимизируя способы вычислений. Я не без его помощи находил ошибки, одновременно проверяя полученные результаты. Всё это было довольно занятно, и часа через два мы, наконец, с удовлетворением созерцали конечный результат — совершенство численных технологий. Минут через пять он спросил меня:

— Слушай, а на фига тебе всё это надо было? Это расчет конформации каких-то белков?
— Понимаешь, — отвечаю я ему, помедлив, — есть у меня на телефоне игрушка такая...

Хорошо, что дело происходило в аське. Друг еще полгода вспоминал мне об этом — час его работы стоит двадцать баксов...

1123

Ссадины на экране

Очень часто приходится в принудительном для себя порядке консульстировать людей по вопросам типа «у меня что-то с компом», хотя и работаю я совершено в другой отрасли. Последний раз я был пойман в коридоре с криком: «Помоги, вирусы уничтожают компьютер!» Сложность заключалась в том, что обратившийся ко мне человек боялся шайтан-машину как огня. Цитирую дословно: «Они заполонили мои компьютер, ты даже представить себе не можешь — уже начали есть монитор! Он весь в полосах, недавно приходил мастер, что-то делал часа четыре, они отступили, но ненадолго — сейчас снова вернулись».

Попытался выяснить, какой у него монитор — говорит, плоский. Сначала подумал о битых пикселях, но такое их количество было представить как-то сложно. Предложил подключить плазму к компу: если всё заработает нормально, проблемы в мониторе, и пора отправляться в магазин за новым. Следующая фраза меня поразила: «А что, если телевизор заразится? Потом DVD, а дальше по розеткам и по всему дому?» Минут двадцать доказывал что вирусы не устроят дальнейших разрушений.

Приехав на осмотр, я понял, что дело в плохо воткнутой видеокарте. Оказалось, что сын коллеги был страстным любителем «Каунтер-страйка». Когда персонажа в очередной раз умертвляли, геймер нервничал и жестоко избивал системник. Видимо, карточка немного выскочила из слота, и когда цветные полосы начали «есть» монитор, сын в страхе получить выговор за поломку оборудования стал рассказывать папе о злых вирусах и агрессивно настроеных программах.

За комп вредителя пускать перестали. Он сдал экзамены, подтянул хвосты — родители не могли наглядеться на чадо. Не всем, выходит, полезен научно-технический прогресс. А отец семейства, когда сына не было дома, начал на отремонтированном компьютере потихоньку познавать прелести Diablo, Warcraft и Fallout...

1114

Персидский дальтонизм

1991 год, «Prince of Persia» лавинообразно набирает популярность на территории СССР. Я поиграл в неё у приятеля на работе и, пройдя пару уровней, игру страстно полюбил и тотчас же скопировал ее себе на дискетку. С тех пор в перерывах между приступами бурной рабочей деятельности мы с напарником стали «гонять принца».

Тому, кто игрушку не застал, поясню, что на уровнях попадаются кувшинчики с жидкостями, визуально отличающиеся цветом пара над горлышком кувшинчика. Содержимое могло оказаться лекарством, ядом или неопознанным галлюциногеном.

Проблема в том, что на единственном нашем компьютере монитор был не цветной, а монохромный янтарный. Тем не менее цвета пара над кувшинами — красный, зеленый и синий — чуть-чуть, но отличались по яркости. Точный глазомер, умение оценить яркость пиксела, «опыт, сын ошибок трудных» — и ты проходишь игрушку. Человека же, который видел «принца» только на цветном мониторе, наблюдение за процессом игры повергало в тягостные раздумья.

1091

Точка, точка, запятая — вышла рожица кривая

Работаю в известной геймдев-студии уже больше года. Когда я только устроился, народ в основном занимался 2D-проектами. Проработал я месяц-полтора, поднабрался знаний от местных мэтров и внезапно был переброшен на новую 3D-разработку — аркадный шутер. Под него купили движок Lithtech Jupiter (на нем в 2000 году делали NOLF 2). Движок, к слову, для своего времени был очень хорош — все тулзы на месте и пайплайн удобный. Поскольку препродакшн только стартовал, много народу на него не перекидывали, и по счастливому стечению обстоятельств именно меня с тремя старшими специалистами отрядили поковыряться в заморском звере. Пока старшие спецы копали исходники и расширяли функционал под наши нужды, я начал пробивать возможность создания минимальными усилиями конструктора города — строить все по-честному на таком старом движке было почти невозможно.

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

Месяц боев с экспортером, попытки расковыривания исходников, переустановка дистрибутивов — не помогло ничего. Время поджимает, пора уже игру контентом набивать, а модели в движок всё не лезут. Что интересно, на машине у одного из старших спецов все проходило как по маслу. Ну, думаем, пора писать в заокеанскую техподдержку. Разработчики только плечами пожимают. Подходит время «Ч» — надо срочно что-то решать, игры-то может и не быть...

Все нервно курят на балконе, я в миллионный раз тщетно пытаюсь что-то поправить. И тут происходит чудо: у нашего спеца, у которого все экспортировалось без проблем, появляется совершенно безумная мысль, от которой поначалу все опешили:

— А зайди-ка в панель управления.
— ???
— Зайди-зайди. Там, где региональные параметры. А теперь разделитель целой и дробной части смени с запятой на точку.

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

1088

Тысяча разгильдяев

Дело было лет восемь назад, когда я, будучи студентом, устроился в одну конторку на подработку бухгалтером-материалистом. В то время набирала популярность карточная игра «Тысяча», и сотрудники нашей конторы играли в неё по сетке, когда выдавалась свободная минутка (да и когда не выдавалась, впрочем, тоже). Шефу нашему это со временем надоело, но до него мне дела особого не было — главенствовало моё желание немного пошалить. Благо, в то время в институте мы проходили всевозможные языки программирования.

В итоге, оставшись вечерком, я за пару часов написал на Дельфи программу, интерфейс которой один-в один повторял «Тысячу». Запускаешь прогу, выбираешь, играть по сетке или локально, вводишь имя игрока... В общем, деталей я за давностью лет не помню, но когда дело подходило к началу игры, на экране появлялась крупная бегущая строка:

Кончай играть — работать пора!

Оставалось на каждом компе в свойствах ярлыка «Тысячи» на рабочем столе указать путь к моей программе, и... Следущее утро началось с дружного перемата.

1082

True Color — для слабаков

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

Как-то договорились встретиться в кафешке возле моего офиса, а я засиделся на работе, играя в Bubble Shooter, и опоздал минут на двадцать. О причине опоздания я честно рассказал, и — о чудо! — он начал расспрашивать, что это за игрушка такая. Я, не сдерживая эмоций, начал рассказывать: «Затягивает — караул! Сидишь, стреляешь шариками, только мозги разгружаешь. Полный кайф! Хочешь, скину?» Не дождавшись ответа, я достал нетбук и залил экзешник ему на флешку.

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

— Ну как тебе игрушка, понравилась? Подсел ведь, скажи?
— Дрянь полная.
— Да ладно, прикольная же «пулялка».
— Игра для каких-то идиотов. Не могу ни фига понять, как в неё играть надо.

Я залипаю, не в силах представить себе, что человек с высшим техническим образованием не может разобраться в игрушке для скучающих секретарш. «Давай, — говорю, — покажу!» Он подводит меня к компу, и я ещё до запуска убийцы времени всё понимаю.

У него монохромный экран.

— Ну... показывай?