Поэзия
Прародители 3D экшенов: и немного анатомии клонов
Всем привет! Когда-то давно я очень увлекся ретро играми и с тех пор поглотила меня пучина сия. Одним (но не единственным) жанром, который всегда вызывал мой интерес был 3d action, со всеми вытекающими поджанрами. (Заранее скажу: пост задротский, про игру и её потроха, мне было интересно, было немного времени, а результатами всегда приятно поделиться, не кидайте тапками!)
Так вот, когда я был зелен и наивен, я думал, что первые "экшены" это что-то уровня Catacombs-3d аж 1991 года выпуска, но потом я узнал про hovertank...
Короче, как выяснилось народ 3d хотел и пытался создать что-то экшен-подобное с самого начала и к середине 80-ых жанр уже вырос и насчитывал десятки клонов. Только собственно экшена (действия), в таком action было еще очень мало. Но если первых прародителей жанра найти легко, то что вы скажете о клонах? Оказывается, так же как позднее ID Software и ряд других компаний лицензировали свои движки и наработки сторонним разработчикам, в 1980-ых существовали средства для генерации игровых карт и создания игр. Движками назвать такие средства нельзя, да и "экшена" в таких играх было немного - игрок неторопливо шагал по лабиринтам, изредка украшенным отдельными спрайтами.
Откопанная мною сегодня Fireground для Apple II как раз таким клоном и является, о чём честно упомянуто в титрах. Однако, чем-то на фоне похожих игр надо и выделиться? Такой фишкой в fireground стал человеческий голос. Сюжет игры прост: нужно найти пожар (можно не спешить) по адресу, передвигаясь в лабиринтоподобном городе с видом от первого лица. Вот только адрес произносит диспетчер, страдающий плохой дикцией (так говорится в самой игре)
Далее следует дискретное передвижение в таком вот лабиринте:
В коем даже встречаются окна на стенах и белые заборчики, через которые можно проехать, впрочем рисуется всё это далеко не мгновенно.
Когда игроку удается локализовать 4 пожара (первые 3 оказываются учебными, дабы не рисовать спрайтов, наверное) игра переходит в двумерную аркаду (после 7-й минуты на видео). Впрочем, геймплей описывать смешно, проще взглянуть на него один раз (брожение по лабиринту в видео ускоренно), а заодно и услышать оцифрованный голос, в эмуляторе, кстати вполне чёткий.
Но тут мне стало интересно, а как оно устроено? Начал я с того, что открыл образ диска с игрой, что мы тут видим?
Увы, все сообщения о местах, где искать пожар заданы жёстко, реиграбельность снижается... Самое интересное, что большая часть игры не компилирована, а существует в виде кода на бейсике (вот они годы его славы!)
Поглядев на исходники становится ясно, что игра разнообразием баловать нас не станет, хотя и могла бы, ведь карта уровня, создаваемая упомянутой в титрах игры утилитой, существует как отдельный файл. А раз есть файл, почему бы не визуализировать его, чтобы поглядеть на "город" во всей красе? Итак, файл представляет собой набор из чисел, которых всего 2502 штук.
Исходя из игровых инструкций, предположим, что первые две цифры - размер карты 50х50 блоков (оно потенциально масштабируемое!), много нолей... Для того, чтобы не гадать вызовем на помощь хтонического монстра: Microsoft мать его excel. и пользуясь одной из множества его полезных функций превратим столбик из 2500 числе в простыню 50х50
Тут кусочек, ага, встречаются разные цифры, причем, например 520 выкладывает горизонтальные линии, с перекрестками со значением 585... Вероятно это "улицы", а значения говорят движку, что рисовать: коридор, перекресток или тупик. А нолики - вероятно "дома"... Применим условное форматирование - попросим залить ячейки с нолями - зеленым, прочее чёрным, и 4 значения (они отличаются от прочих) оранжевым и вуаля:
Это же карта! А оранжевое - респаун (места где можно возникать).
Это было забавно, получается игра могла бы быть многоуровневой, или снабжена редактором... Сначала я очень удивился, как же так: недопилили! Пока не прочел в титрах, про использованные инструменты... Был значит уже готовый генератор карт и, наверное, бейсиковский прототип для визуализации... Была, конечно, мысль создать свой уровень... Свободного времени оказалось не настолько много. Вот такая вот зарисовка из эпохи, когда небо было синее, мороженное дешевле, а компьютеры БОЛЬШЕ! Ну, а под конец: результат моего задротства с названиями улиц и повернутое севером кверху.
Баянометр выдал эпичнейшую дичь! Прикольно :-)
Почему перестала обновляться лента «Горячее»?
Дня три не заходил на Пикабу - все таки выходные, гулянки, все такое. Ну разве что по парочке предварительно сохраненных линков зашел - видео глянуть, более внимательно перечитать длиннопост.
Открываю с утра Горячее, а оно заполнено постами 2-3 дневней давности, слегка разбавленными новеньким.
Поломка корневого оборудования в хостинг центре окончательно разогнала постящих, или что-то еще случилось? Не припомню чтобы в утро понедельника настолько было "нипочитать" )
Продажа души.
Почитал данный пост Можно ли продать душу? и захотелось узнать есть люди которые реально готовы продать свою душу.
Итак начали.
1. Захожу в ВК с левого аккаунта в группу торговцев душ. Попутно регистрирую новую почту.
2. Ищу "продавца" и отправляю ему заманчивое предложение.
3. Захожу в гугл переводчик и составляю "договор", для пущей убедительности переведя его на Латынь. ( скрин с русским вариантом сделать забыл)
Жду письмо от клиента. Письмо приходит.
Наш диалог:
Я — Некто Нектов. "Клиент" — ProstoyObzor Prostoy.
Собственно все. Да бесцельно, да глупо, зато время на работе убил.
Клоун в учебнике Английского
Сижу я как-то на уроке, листаю учебник Английского 6 класс от скуки. И на одной странице нахожу это... А ведь я боюсь клоунов.
О Соле.
1.
—Он должен быть тут, —граф сверился с картой, носком сапога поковырял листву и приказал: — копайте здесь.
Уставшие после многодневной ходьбы рабы, поднялись с земли, нехотя разобрали мотыги с кирками, и принялись копать в указанном месте. Спустя четверть часа упорной работы, кирка одного из раба ударилась в стальную крышку, и высеченные ею искры были единственной наградой рабам за из труд.
—Открывайте. Скорее же! — Граф не в силах сдерживать охватившую его эйфорию нервно потирал руками и зло торопил рабов.
Крышку наконец отвалили в сторону, и под ней открылся тоннель. Из черного, уходящего горизонтально вглубь земли лаза ударил пугающий запах затхлости, пустоты и сырости.
—Пришло твое время, парень! Да обвязывайте-же его скорее! — Граф повернулся к рабам, выкинул дрожащую руку и костлявым пальцем указав на юношу, проорал брызжа слюной: — Если вы не начнете шевелиться я прикажу стражникам выпороть каждого из вас!
Пряча глаза рабы достали из телеги моток длинной веревки, одним конец привязали к поясу юноши, а второй ее конец обернули вокруг ствола росшего рядом с тоннелем дерева.
— Корежит, брат? — К юноше подошёл однорукий повар, и потрепав того по плечу, нагнулся и шепнул в ухо: — не бойся, я давно езжу с графом, и могу с уверенностью сказать, что из таких мест возвращаются гораздо чаще чем не возвращаются. К тому же граф щедро платит за такую работу, поверь мне, заработоного золота тебе хватит на долго.
—Все в порядке, Фармадур. — юноша повел плечом, скинул с с себя руку калеки, но тут же пожалел о своей грубости, и повернувшись к повару, всмотрелся в его старое, рыхло но улыбчивое, морщинистое лицо: — спасибо.
—Как вернешься, приходи ко мне, я и двойная порция похлебки будем ждать тебя. — Фармодур подмигнул, развернулся и не оглядываясь поковылял к полевой кухне.
—Все готово, Ваше высокоблагородие, можем начинать спускать. — Раб проверил узлы и отступив назад, поклонился графу.
—Начинайте. — Граф милостиво сделал жест ручкой, и требовательно посмотрел на юношу: — Не подведи, парень, теперь все зависит только от тебя.
Юноша кивнул, и медленно подошёл к туннелю. Земля, потревоженная его ногами, ручейками стекала к краю лаза, и водопадиками срывалась вниз, теряясь в темных глубинах неизвестности. Подняв голову, он посмотрел на солнце. В голове мелькнула мысль о том, что он может быть больше никогда не увидит его света, и что бы не думать о плохом и не отвлекаться юноша снова посмотрел под ноги, во тьму.
Вот тут-то ужас и парализовал юношу. Контраст между солнцем и чертовой норой, можно сказать, открыл ему глаза, он понял, что спускаться придется ему одному, а все кто рядом останутся здесь, под солнцем, и несомненно будут делать ставки, на то сможет ли он вернутся обратно.
— Чего замер, парень, ждешь что бы я первый полез в чертову дырку? — Граф подтолкнул юношу, — поторопись, все здесь ждут только тебя.
Юноша вздохнул, опустился на корточки, заглянув в темноту он сплюнул, и проводив глазами свою слюну, пока она не скрылась в темноте снова вздохнул и сел на задницу, свесив ноги в дыру. Рабы схватились за конец веревки и слегка натянули ее.
—Да ты будешь спускаться или нет? — Граф толкнул ногой парня в спину, и юноша полетел в темноту.
Полет был скоротечен. Через пару мгновений веревка натянулась, и повисшего вниз головой юношу стали медленно спускать в глубину. Все его попытки принять вертикальное положение успехом не увенчались, и юноша свыкся мыслю, что дна он коснется лицом, а не ногами.
Так и вышло. Спуск кончился тем, что его ничком опустили на твердый, покрытый толстым, многовековым слоем пыли каменный пол. Вскочив на ноги юноша выхватил короткий меч и прислушался. Не было слышно ни шуршания, ни рычания, ни зубовного скрежета. Исходя из этого юноша решил, что монстров по близости не было, или они попросту затаились, пытаясь понять кто появился в их логове — охотник или жертва.
Постояв с занесенным мечом еще немного, парень убрал его в стальное кольцо на поясе, и отвязавшись дернул несколько раз за веревку, та тут-же потянулась в верх. Те кто остались сверху, не хотели давать монстрам, которые тут возможно обитают, ни малейшего шанса выбраться на поверхность.
— Вот и все Сол, остались только мы, — сказал юноша сам себе, и собравшись духом, вышел из пятачка света в темноту тоннеля. Сняв с пояса факел, он непослушными руками выбил огнивом искру и поднял огонь над собой.
Тьма неохотно расступилась словно испугавшись огня, и Сол смог осмотреться. Он оказался в длинном низком коридоре, выложенным из больших грубо обработанных каменных глыб. Юноша спустился в самом начале хода, с трех сторон его окружали стены, а впереди стояла третья стена — темнота. Покрепче сжав рукоятку меча, и вытянув руку с факелом далеко вперед, чтобы горящее масло не капнуло на тело Сол медленно пошел туда, куда идти желания у него совсем небыло.
Через четверть часа пути, тоннель окончился каменной келью, и чем больше Сол осматривался вокруг, тем шире открывался от удивления его рот. Почти всю площадь кельт занимало золотые монеты. Они были составлены в высокие, выше роста юноши стопки и столбцы и их было так много, что он походили на густой, непроходимый лес.
На дальней стене что-то блестнуло, приглядевшись Сол увидел медальон висевший на скобе для факела. Медальон был настолько красив и настолько дорого и завораживающее выглядел, что Сол понял что это его медальон. Жадный граф не получит в свои морщинистые руки эту красоту. Все время что медальон висел здесь, он ждал его — Сола. Юноша отбросил в сторону меч, и не в силах оторвать глаз от чудесной вещи, как завороженный побрел вперед, руками и грудью обрушивая столбцы золота. И вот его пальцы коснулись холодной, причудливо витвеватой цепи, и Сол снял со стены свой медальон.
Одновременно с этим откуда-то сбоку, из темноты раздалось яростное рычание, испуганный юноша резко обернулся на звук и увидел как сквозь дождь падающих к монет к нему приближается чье-то гибкое тело.
Сол потянулся к мечу, но его рука никак не могла нащупать эфес, и когда до твари оставалось несколько метров, он испугавшись осознал что меч не у него на поясе, юноша вспомнил как отбросил его очаровавшись красотой медальона. Тварь тем временем преодолела разделяющее их расстояние и прыгнула. Грациозно изогнувшись в полете, она летела в прыжке, оскалив пасть с желтыми зубами, выставив вперед когтистые лапы. Сол ударил ее медальоном. Тяжелая, золотая бляха всей своей тяжестью врезалась в череп летящей твари. Под треск ломающихся костей голова монстра отклонилась в сторону увлекая за собой тело, тварь сделала в воздухе подобие бочки, и глухо упала на пол, обрушив еще несколько десятков золотых столбцов. Юноша тут же бросился туда, где как ему казалось он бросил свой меч, и стал лихорадочно раскидывать россыпь монет, пытаясь найти оружие. Тварь тем временем поднялась на ноги и замотала головой приходя в себя. Сол нащупал меч, когда тварь снова была в полете, он рефлекторно выставил острие перед собой, и широкая грудь монстра насадилась на клинок. Забившись в конвульсиях она дотянулась до лица Сола и оставив на нем длинную, глубокую царапину издохла.
Юноша в азарте боя не почувствовал раны, он тяжело поднялся на ноги и уперевшись ногой в тушу поднатужившись выдернул свой меч. Следующие несколько минут он провел в поисках других тварей, но либо она была тут одна, либо другие смогли где-то спрятаться и затаиться.
Потом пришла боль. Прижав ладонь к лицу Сол наклонился к телу твари, и спрятал под него свой медальон. Он решил вернуться за ним позже, граф наверняка не поверит в то, что медальон был на юноше когда он спускался в эту чертову нору.
Сол вернулся к люку, и вскоре вместе со спустившимися рабами таскал и наполнял золотом корзины, которые потом медленно подимались и исчезали в солнечном свете.
—Сколько там еще золота осталось? — свет в люке закрыла тень чей-то головы.
— Больше половины. — крикнул в ответ один из рабов.
— Хватит, вылезайте.
Сол постогронился пропуская рабов первыми, решив напоследок покрасоваться своей смелостью и вылезти самым последним.
Это и спасло ему жизнь: когда рабы почти вылезли наружу, в люке мелькнула рука с ножом и перерезала веревку. Сол еле успел увернуться от летящих вниз тел. Под страшные звуки ломающихся костей, оборвались жизни всех рабов. Последним сверху прилетел однорукий Фармадур с перерезанным горлом. Крышка люка со скрежетом опустилась на место, оставив Сола одного в темноте, заживо погребенным вместе с теми, кто как и он видел и знал слишком много. Алчный граф решил не оставлять свидетелей.