bash.im ithappens.me zadolba.li

Игры

12311

Боцман, завязывай

Работаю штурманом на судне в море. История, как ни странно, действительно будет связана с IT.

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

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

Сообщение «Уровень пройден» было заменено на «Боцман, завязывай!».

«Крутое комбо» поменял на «это болезнь».

Все стандартные фразы упоминали наркоманию и игроманию.

Через пару дней боцман не только начал реже играть, так ещё и пить бросил.

12251

Я думаю, ты проиграл

Тут люди уже рассказывали об их детских изобретениях, опередивших своё время, а затем независимо реализованных другими. А я расскажу о своём детском изобретении, время которого ещё не наступило, и неизвестно, наступит ли.

Началось всё с подарка. Блестящая, чёрная игровая приставка Panther — клон NES. И картридж с красочной игрой Lunar Ball — если кто не видел, обязательно посмотрите на YouTube.

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

Вскоре мне приснился сон, в котором некая иностранная фирма реализовала спутниково-телепатическую систему игры в Lunar Ball. Любой мог настроить свой телевизор (уж они-то у всех были!) на незанятый канал и, взаимодействуя со спутником телепатически, играть в эту игру. Без приставок, компьютеров, интернетов и прочего. И без мини-энцефалографов типа Mindwave Mobile, до которых было очень далеко. Только игрок, телевизор да спутник, на котором запущено столько виртуальных машин, сколько активно игроков. И хотя частота была одна, картинка у всех была разная благодаря передаче сигнала направленным лучом непосредственно на антенну игрока. Если антенна коллективная, требовалось временно подключить комнатную — луч очень узкий. Я не задумывался над тем, как разместить на спутнике столько узконаправленных телепередатчиков (но о фазированных антенных решётках из какой-то книги уже знал), столько телепатических приёмников, а тем более — на каком принципе должны работать последние.

До такого даже в «Позвоните Кузе» не догадались! И вообще нигде не догадались. До сих пор. И неизвестно, догадаются ли. А если догадаются, то ещё не факт, что придумают, как реализовать.

12239

Сингулярность своими руками

Создавая собственный мод к игре X²: The Threat, я задумывался над тем, что изюминкой моей модификации должны стать не только графические изыски, дотягивающие игру 2000 года до уровня почти современной графики, или, к примеру, скрипты, создающие уникальные события или миссии для игрока. Хотелось внести в игру ещё и какой-нибудь совсем уж нереальный элемент вроде черной дыры.

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

Графически планета должна выглядеть соответственно общим представлениям о прожорливом брюшке вселенной. Нарисовал в 3ds max модель — вернее, составил её из уже имеющихся в игре стандартных элементов, несколько модифицировав их размеры и список текстур. Получил вполне смачную сингулярность с тёмным ядром, аккреционным диском из пыли и падающими к ядру облаками газа. Удовлетворившись визуальным результатом, решил сразу поэкспериментировать, как это будет смотреться в игре.

Процедура внесения объектов в игру проста. Складываем модельку в папку с моделями, в INI-файле назначаем новый тип планеты (к примеру, копированием параметров взятого за основу элемента) и заменяем номер модели на свою.

Я никогда не декомпилировал ядра игр. А это возможно, и многие это делают — честь им и хвала! Мои же модификации всегда опираются больше на возможности простой подстановки или скриптового программирования.

Для внесения графических изменений и для проверки самописных скриптов в игре нет дебаггера. Или ядро воспринимает добавленную информацию, или укладывает игру.

Вот здесь я, собственно, и споткнулся. Забыл, что, в отличие от всех прочих объектов вселенной Х², помещаемых в игру по цепочке «INI-файл — сцена — модели в сцене», планеты помещаются иначе: INI-файл ссылается на головную модель самой планеты, к которой привязывается сцена, состоящая из нескольких слоёв: модели с текстурой ночных городов, полусферы тумана и ночного затенения, слоя облаков, слоя свечения атмосферы.

Процесс творения так меня завёл, что, прозевав вышеописанные обстоятельства, я внёс в INI-файл строку планеты а-ля Сатурн и задал головному элементу номер модели своей чёрной дыры. То, что к модели ещё прилагается неизвестная мне сцена, не остановило меня как экспериментатора.

Игра благополучно запустилась, проглотив изменения.

Наученный опытом прошлых внедрений в игру всяческих объектов, я не стал устанавливать сингулярность в секторе присутствия. Для начала читерским скриптом открыл для пользователя всю карту вселенной, а затем, написав новый скрипт в одну строку, внёс объект «чёрная дыра» в соседний сектор.

Неладное я заподозревал в момент создания объекта. Резкие броски корабля по крену и дифференту были обусловлены не то торможением программы, пропихивающей сбойный объект в математику ядра, не то заранее заданными создателями эффектами. Но через несколько секунд всё успокоилось. Забыв о том, что можно в другом секторе просто создать корабль или станцию игрока и за счёт внешнего контроля за собственностью осмотреть окружающее пространство, я решил сунуться туда сам. Разогнался, прошёл врата… Грандиозный «бабах» был ответом на мои изыски.

То, что клюкнула сцена, понятно. Но почему ядро игры вместо красивой сияющей сингулярности поставило по координатам просто чёрный шар, а заодно разнесло все рукотворные объекты сектора, для меня пока загадка. Однако, когда та же самая математическая сила разнесла в щепу и мой кораблик, а игра, продолжая правильно отрабатывать, вывела на экран надпись «The End» и корректно завершила работу, я вдруг вспомнил Оппенгеймера:

— Какая интересная физика!

12204

Когда пиксели были больше

В первый раз я увидел настоящие персональные компьютеры в 1991 году. Я поступил в физико-математическую школу после восьмого класса, а компы, IBM PS/2, школе подарили спонсоры. Тогда это было модно — дарить школам компьютеры.

Потом было много чего. Работа лаборантом в компьютерном классе университета, где через два года были уже 80286 и один 386SX. Вот тогда я оторвался на полную.

Я зависал в классе каждую ночь, ибо днём шли занятия.

Я переиграл во все игры, существовавшие в то время.

Я, хреново в школе учивший английский, после Star Control 2 и ещё нескольких не переведённых на русский квестов стал понимать буржуйский текст.

Я стал разбираться в железе. Хотя это и строго запрещалось — открывать системник.

Что в итоге? Я не могу играть в любую крутую современную игру с навороченной графикой. Ну фигня же просто! Раньше недостатки графики компенсировались охрененным сюжетом и детальной проработкой локаций. Теперь — ширпотреб. Картинка красивая, эффекты обалденные, а внутри ноль. Ни сюжета, ни геймплея. Голливуд, блин.

12202

Я бы в геймеры пошёл, да меня отучат

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

В 15 лет брат купил видеокарту на 128 МБ, но поиграть в свежий Half-Life 2 дольше недели не удалось: видеокарта сгорела. Я начал разбираться в драйверах.

В 16 лет был куплен новый компьютер, но там стояла «для виду» Riva TNT с 32 МБ памяти на борту. Поиграть я снова не мог и полез изучать реестр.

В 18 лет был приобретён навороченный системник с видеокартой на 512 МБ. Встроенной. Игры тянула только старые. Я перешёл на Linux.

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

Неделю назад магазин стал работать в штатном режиме. Я пошёл в его интернет-версию, стал оформлять заказ, но после нажатия кнопки «Отправить» сайт выдал: «Page temporary unavailable, please try later». Ну ладно, тут уже дело принципа — позвонил. Оператор сказал, что мою видеокарту пришлют только через неделю, но что-то я ему не верю.

Кто-то определённо не хочет, чтобы я засел играть.

12053

Начнём ab ovo

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

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

Получив разрешение, я завёл тетрадь с 96 листами и вначале описал важность проблемы моделирования процессов взросления и старения живых организмов, затем довольно подробно рассказал, как устроена моя «ЭВМ», употребляя такие умные термины, как «индикатор жидкокристаллический точечно-матричный» и «микроконтроллер с масочным ПЗУ». Что в биологии, что в вычислительной технике я разбирался посредственно, но выигрывал в другом: плохо зная значения терминов, умел ловко ими щеголять. Отдельный раздел я посвятил «допущениям и упрощениям при моделировании по причине ограничений, накладываемых быстродействием и объёмом запоминающих устройств специализированной ЭВМ».

Далее следовал «журнал фиксации событий, возникающих в ходе моделирования». Чтобы тамагочи не пищал, я выпаял из него пищалку. На каждом уроке доставал его, нажимал кнопки, что-то записывал в журнал.

При «моделировании» «ЭВМ» не сообщала, чем заболевал виртуальный питомец и чем он лечился. События были просто «заболел» и «вылечили». Но я в ходил в библиотеку, брал книги по ветеринарии, находил там названия болезней и лекарств от них, а в журнале «раскрывал подробности»: чем «болел» питомец и чем я его «лечил». Этот приём я называл «умственным моделированием процессов, моделирование которых на данной ЭВМ невозможно в силу ограниченности её ресурсов» и рассказал, как их можно было бы моделировать на более солидной машине. Даже фрагмент программы на Бейсике (ни на чём не проверенной — дома не на чем было, а на информатике некогда) приложил.

Трояков у меня во всех четырёх четвертях было немало, но по биологии — пятёрки!

А тетрадь та теперь в краеведческом музее.

12048

Все игроманы, а я программист

Конкретно задолбали юные программисты, косящие под крутых.

Неужели вам ни разу не встречались личности, хвалившиеся знаниями в своём юном возрасте? А мне встречались, причём не раз в два года, а намного чаще, поскольку я сижу на многих форумах, посвящённых разработке игр (чаще всего программисты начинают с мечты создать игру). Я сейчас распространяюсь не о тех, кто в силу своей наивности думает, что сделать GTA или «Крусис» легче, чем оно на самом деле, хотя и такие есть. Больше меня заботят (и умиляют) те, кто кидают понты, хвалятся, что аж семь лет сидят за компом и «изучают» десять языков программирования (и это в 14 лет!), в другой теме копипастя урок про WinForms, а также те, кто красочно расписывают свою школьную жизнь, быдлизм одноклассников и небыдлизм и программисткость самого себя.

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

Объясняю таким личностям раз. Частично это ответ на вопрос, почему такой офигенный народ мне так часто встречается. Секрет в том, что скачать Game Maker или Unity3D, достать бесплатные модели, посмотреть два урока от Васяна527 на Ютубе — в этом нет ничего сложного. Ничего! Тому, кто не пропускал уроки информатики и что-то рубает в теме, не составляет ну никакой сложности пройти курс начинающего девелопера. Возможно, не стоит спорить в срачах, кто главнее и дольше учится программировать?

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

Всем спасибо, можете расходиться.

12002

Ни опыта, ни радости, ни плюшек

Работаю в некоей компании айтишником и спецом по снабжению. Иногда меня отправляют сходить на почту и взять бланки для отправки писем через EMS. Бланки можно взять у тётеньки в отделе отправки посылок. Каждый такой поход на почту мне представляется квестом в какой-нибудь MMORPG.

По идее, квест должен выполняться в последовательности:

— взял квест в начальной локации у определённого NPC;

— пошёл в локацию, где находится квестовый моб;

— поговорил с ним, получил квестовый предмет;

— вернулся в начальную локацию;

— сдал квестовую вещь NPC, который дал задание.

В итоге получена экспа, радость и прочие плюшки.

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

Берёшь квест в начальной локации у NPC, идёшь к квестовому мобу, говоришь с ним — а он отказывается давать квестовую вещь. Более того, он моментально трансформируется в страшнейшего монстра — рейд-босса. Поговорить с ним нереально, выбить квестовый предмет — тоже. Остаётся спасаться бегством. Ладно, фиг с ним… Но квестовый предмет нужен как никогда.

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

Находишь мало-мальски нормального моба и узнаёшь текущее расположение высокоуровневых NPC с нормальным AI, которые, возможно, могут помочь. Ищешь… ищешь… Ура! Вот и он. Объясняешь ситуацию с квестовым мобом. Ура, NPC обещает помочь. Далее два варианта:

1) NPC исчезает в лабиринте, но через какое-то время вновь появляется и даёт вам квестовый предмет.

2) Вы с ним идёте боем на рассвирепевшего рейд-босса. Хватает только появиться вместе с NPC перед рейд-боссом, как тот моментально возвращает свою форму квестового моба и без лишних разговоров отдаёт квестовый предмет, а иногда и не один…

С полученной квестовой вещью возвращаешься в начальную локацию и сдаёшь квестовый предмет. И тут ждёт страшное разочарование: оказывается, не соблюдены сроки, в которые необходимо было выполнить квест. Экспы не получаешь, плюшек и прочих радостей — тоже…

11980

Слегка бородатая линза

Раз уж пошли истории про IT-мистику и её разоблачение, есть и у меня что рассказать.

Произошло это в те стародавние времена, когда вайфай ещё только завоёвывал себе популярность, а Дота не обзавелась цифрой 2 и кнопкой «Reconnect». В то время мы любили после пар погонять эту самую Доту, а чтобы нам было ещё интереснее, в общежитии появился вайфай — теперь можно было взять ноутбук, сесть в комнате друзей и почувствовать себя настоящей командой. Тут-то и начиналась мистика. Что делает игрок, который умер и минуту ждёт возрождения? Идёт ставить чайник! А вернувшись, видит, что вылетел из Доты. Много у нас было обсуждений ревнивой игры, которая не любит, если её бросают ради чайника.

Объяснение оказалось простым и прозаичным: 60 кг первокурсника — это ещё и неплохое радиоволновое зеркало (а может, линза), и когда эта линза идёт ставить чайник, уровень сигнала падает с 60% до нуля. Такая забавная физика — и никакой мистики.