bash.im ithappens.me zadolba.li

Игры

3619

Сбиты прицелы

Писали с однокурсниками в качестве дипломной работы «игры для программистов». Основная идея была заимствована из Robocode.

Вкратце: игроку необходимо написать класс на языке C++, унаследованный от предоставленного ему класса. Методами этого класса реализовывается логика поведения танка, который ездит по полю брани, подбирает различные бонусы, стреляет в противников, умирает и т. п. У кого больше очков в конце боя, тот и победил. Далее исходники компилируются на стороне сервера, и игрок может сразиться с танками противников. Для удобства клиентская часть позволяла сохранять проведённые бои для последующих повторов.

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

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

— Разобрался с физикой? — спрашиваю.
— Нет.
— Понял, как по существующей физике ездить?
— Нет.
— А что тогда случилось? Почему они вдруг так хорошо работать стали?
— Да у нас угол до цели неправильно считался. Исправил — и сами поехали...

Невольно вспоминается шутка о том, что русский программист может написать правильный код даже для в корне неправильного проекта.

3550

Сложно, но можно

Нас было двое: я и Кирилл. Админили фирму небольшую. Работы было не очень много — куда же без игрушек? Я защищал имя Инноса на просторах Миртаны, он расстреливал террористов и выводил заложников в популярнейшем шутере всех времен и народов.

Всё шло ровно, пока нас с покупками не встретили в тёмном переулке четверо семкоедов. Шансов у нас было ровно ноль: мы же админы, а не каратисты. Остались живы, но не совсем: одной и той же арматуриной нам сломали левые руки. Как же геймерам без рук? Сложно, но можно. Паяльники в зубы — и вперёд!..

За три дня усердной работы парой правых рук из завалявшихся сломанных наборов гонщика (передо мной работал тип, фанатевший от NFS и Колина МакРея) было свинчено, спаяно и склеено несколько адских устройств. «WASD» элегантно переводится на две пары педалей: левая для «вперёд-назад», правая для «вправо-влево». Пробел для прыжка вешается под подбородок, Shift выводится за спину. Ctrl — на коленки, работает на сжатии. Е — под мышку справа.

Итог: нубы на питерских серваках всё так же отовариваются хедшотами, «Ночь Ворона» со всеми модами спокойно пройдена. А вам слабо?

3517

Игры на износ

Было это, дай бог памяти, в конце 1999 года. Компов у нас ещё не было, но на информатике железки мы уже щупали. И тут моему другу мать, работавшая в банке уборщицей, притащила списанный комп: DX4, 100 МГц, 8 мегов оперативной памяти, встроенное видео да винт на 800 метров. Машинка в ту пору была, естественно, уже слабенькой, но поиграть в современные игрушки хотелось. В Half-Life, последний хит, играли в минимальном разрешении и уменьшенном окошке. Игра даже при этом подтормаживала, но доставляла дикое удовольствие.

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

Утро — установка 98-й.
День — игры.
Вечер — другие игры.
Следующее утро — установка умершей 98-й.
Следующий день — игры...

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

3491

Скорость по большой дружбе

28 июня 2010, 11:45

Недавно заходил ко мне друг. Решили зарубиться во что-нибудь с джойстиками, благо в квартире нашлось целых два. После недолгих раздумий решили опробовать свежую игру из серии Touhou Project, доставившую несколько часов драйва и мозоли на пальцах.

На следующий день решил поиграть сам. Подключаю джойстик, вижу печальные 30 fps вместо обычных 60 (в игре встроенный счётчик). Чего я только ни делал — наверное, только винду не переустанавливал в отчаянных попытках найти причину тормозов! Вспомнил, что именно в присутствии друга у меня всегда всё начинало работать, роутеры подключались, оси ставились, в то время как без него выходило далеко не с первого раза.

После десятой тщетной попытки избавиться от тормозов меня осенило, как можно эмулировать «эффект присутствия». Подключил второй джойстик — fps взлетели до 60, и тормоза пропали.

3490

Rayman Raving Admins

Всё началось с того, что у моего любимого трекбола заглючила левая кнопка. Менял, тестером проверял — без толку: дело, похоже, в микросхеме. А играть в Audiosurf охота… Нашёл в шкафу геймпад. Игра поддерживает только контроллер Xbox 360, на который китайский нонейм явно не тянет. Полез в сеть, нашёл хороший универсальный драйвер для китайских геймпадов — появилась возможность эмуляции мыши, а также заработала виброотдача. Аудиосёрфа, в принципе, достаточно, но мне показалось мало.

Нашёл в сети утилиту Xpadder, вот она реально оказалась полезной — на любую кнопку геймпада можно назначить любую клавишу клавиатуры, в том числе и мультимедийную. Паре верхних кнопок сказал управлять громкостью — играть стало ещё удобнее. Тут я подумал: «А почему только игры?» Быстренько изготовил профиль для Файрфокса: левый аналог — мышь, правый — колесо; кнопки я привязал к кликам, а переключатель POV — к «Назад-Вперёд», «Обновить» и «Остановить». До кучи сделал управление плеером.

Сижу, как сферический задрот в вакууме, листаю интернет с геймпада. Так и до руля для руления серверами недалеко!

3486

Спичка, сломавшая спину Кратоса

Так получилось, что моя PlayStation 2 неслабо грохнулась со шкафа. Поднял, посмотрел со всех сторон — вроде ничего не треснуло. Стал проверять работоспособность. Ни один диск консоль мне, разумеется, не запустила. Прекрасно, думаю, приехали.

Снимаю крышку, пихаю в детектор закрытия спичку, включаю. Каретка с лазером загорается и начинает ездить, а моторчик не работает. Покрутил его чуть-чуть — вроде стартовал. Игра загрузилась. Ладно, думаю, пронесло. На всякий случай достал головку, продул от пыли, проверил шлейф и контакты — вроде всё нормально. Собрал.

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

Ломая голову, в чём же дело, догадался посмотреть на крышку. Оказывается, при падении сломалась маленькая пластмассовая штучка, которая втыкалась в детектор закрытия крышки. Крышку-то я закрывал, но система этому не верила и охраняла меня от опасного излучения. Прилепил на место отпавшей детали кусок спички и сел играть в God of War.

3481

Стреляй на звук

27 июня 2010, 08:00

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

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

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

Как-то раз, вернувшись домой, я обнаружил на столе чью-то зарплату. Позаимствовав часть, я отправился на другой конец города в компьютерный магазин. Обнаруженная недостача не столько рассердила, сколько удивила родителей — такого раньше никогда не случалось. Еще больше они изумились, увидев, что я купил — новенький, двухскоростной, совершенно бесполезный без компьютера... CD-ROM. Привод присоединился к прочим Сокровищам. Родители пожали плечами, и через некоторое время на моём столе появился первый комп.

Конечно же, всё свободное и несвободное время было немедленно посвящено играм. Через несколько месяцев такого режима родители серьёзно забеспокоились и стали принимать ограничительные меры. Пароль на BIOS, поставленный одним из знакомых, был сброшен съёмом батарейки. Клавиатурный замок открылся скрепкой. Лишение проводов питания решалось подбором аналогов от других приборов. Через некоторое время у меня отняли кабель VGA и отбирали каждый раз, как только я доставал новый. Но это был ещё не конец.

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

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

3475

Охлаждённый огненной водой

Полночь, мозг хочет... У вас бывало внезапное чувство, что вам хочется чего-то такого, без чего вам будет плохо? Вот и у меня такое чувство возникло: захотелось поиграть в Morrowind. Очень захотелось. А тут, как назло, глючный линксисовский USB-вайфай-адаптер не позволяет скачать предмет счастья. Вообще у меня к этим «флешкам» не очень хорошие чувства. Была нормальная PCI-карта, но пришлось поставить на работе, а кабель к соседу кинуть не получается пока: в отпуске он.

Час ночи, а мозг требует. Адаптер больше 6 КБ/с не пускает, а то и вовсе в ноль работает. Раньше грешил на драйвера и «зверскую» систему, которую имел неосторожность поставить, но когда попробовал адаптер на Убунте, через полчаса скорость снова упала.

Два часа ночи, а мозг идёт на принцип. Симптомы перегрева налицо, но адаптер холодный. Уже появляются мысли обвинить старенькую материнку, но там тоже всё холодно. Точно, перегрев адаптера! Плюю на гарантию и снимаю пластиковый корпус. Холодный! Вставляю, включаю торрент, прикладываю палец... Печатать обожжённым пальцем неудобно, правда. Нагрелся за секунды до температуры жарки яичницы.

Три часа ночи, мозг требует мести. Ничего, чем можно охладить адаптер, дома нет: никаких кулеров, вентиляторов, радиаторов. Решение пришло внезапно. Водка! Бутылка в морозильнике лежала уже давно, несправедливо забытая хозяином. Система алкогольного охлаждения была помещена в пакет, чтобы не собирался конденсат, и расположилась вплотную к чипу... Ух! 10 МБ/с я не ожидал. Уже через пять минут на экране весело моргала инсталляция.

Четыре часа ночи, мозгу дурно. Игра не запускается.

3455

Называй меня королевой

24 июня 2010, 10:00

Играем ночью с другом в Disciples. Я выбираю рыцаря смерти, и персонаж зудит: «Как пожелаете?» В силу своего воспитания, поздней ночи и долгой разлуки с милой, злобно отвечаю: «Раком!» Делаю ход, и рыцарь заставляет нас согнуться от смеха: «Я согласен!»