игры

Вперёд в прошлое

Посидел я полгода без программирования и сдался. 🙂 Изучаю на добровольных основах Unity. Это такой движок для компьютерных игр и, вообще, всего, имеющего отношение к моделированию реальности на экране компьютера в 3D- или 2D-форме. Пока что идёт очень хорошо — и в плане понимания, и в плане мотивированности. Посмотрим, что из этого выйдет.

Могу отметить пару моментов, которые меня мотивировали начать изучать Unity. Некоторое время назад я очень увлёкся игрой с названием «35мм». Это инди-проект на Unity, то есть он написан одним человеком, который сделал всю работу от начала до конца в одиночку, включая графику, звуковое сопровождение и программирование. Результат при этом меня очень впечатлил в плане играбельности и атмосферности. Второй мотивирующий момент возник когда один мой знакомый показал мне свою простенькую 2D-игру на Unity, аркаду по мотивам старой восьмибитной игрушки Boulder Dash (на Синклере такая была). Эту игрушку он успешно продаёт во всяких аппсторах и гуглплеях. Я не стал уточнять насколько массово её покупают, на сам факт, что можно заниматься интересным делом и извлекать из этого прибыль, довольно интересен. Всё ж таки, разрабатывать игры — несколько более увлекательное занятие, чем написание всяких бизнес-приложений.

Возвращение Diablo

Наткнулся сегодня на тизер игры Diablo II: Resurrected. Blizzard взяли классику девяностых—начала нулевых и сделали ремейк. Причём, как я понял, весь игровой процесс, героев, сценарий оставили неизменным, улучшили только графику и частично звуковое сопровождение. В ролике то, как улучшилась графика, хорошо видно (показан и старый, и новый вариант).

Вот я очень приветствую такой подход — переписывание классических игр на современные рельсы. У меня даже где-то до сих пор лежат отгрузки состояния для Diablo. Было бы прикольно если бы они подходили к ремейку: можно было бы продолжить играть с того места, на котором остановился двадцать лет назад. 🙂

Мои секретные материалы

Сенсация! Опубликованы совсем секретные материалы! Ниже впервые публикуется уникальный архивный документ! Это описание компьютерной игры Freddy Hardest (первая и вторая часть), выпущенной испанским разработчиком компьютерных игр Dinamik Software в 1987 году для восьмибитных компьютеров, в числе которых был ZX Spectrum. А уникальность данного документа в том, что он был написан вашим покорным слугой. 🙂 И опубликован в спектрумовском ньюслеттере «ZX-Ревю» в ноябрьском/декабрьском номере за 1991 год. Мне тогда было семнадцать лет. Это не первое, что я написал в своей жизни, но это первое и единственное из всего, написанного мной, за что я получил деньги. Ну, если, конечно, не учитывать многочисленную техническую документацию, мегабайты которой я написал за последнюю четверть века на работе. 🙂 Размер гонорара за это описание в абсолютных величинах я уже не помню, но точно могу сказать, что это было немного в общемировом масштабе, но очень много для меня — вчерашнего школьника.

Вот тут, собственно, тот самый выпуск «ZX-Ревю» в полном объёме. А ниже идёт выдержка из него с моим описанием.

P.S. На первой картинке Фредди похож на Трампа. 😆

FREDDY HARDEST
DINAMIC 1987

Эксперт Смирнов В. Б.
г. С. -Петербург.

Далекая галактика, незнакомая звезда… Одна из планет излучает загадочные радиосигналы.

Космический путешественник Фредди Хардест получает специальное задание Всегалактического Центра Космических Исследований узнать причину появления этих сигналов. И вот он, вдалеке от родной звезды, подлетает на своем космическом челноке к чужой планете. Бортовой компьютер сигнализирует о выходе на круговую орбиту, а затем беспристрастная техника фиксирует приближение инопланетного космического корабля. Фредди обеспокоен: корабль не отвечает на запросы, чужак открыл огонь по челноку Фредди. Завязался космический бой, который, впрочем, длился недолго. Фредди сумел уничтожить врага, но и сам еле дотянул до враждебной, как оказалось, планеты. Тщательно перевязав раны, отважный путешественник отправился в путь не зная, что его ждет впереди.

Читать далее «Мои секретные материалы»

Прыгающий дрон

Купил себе на новый год подарок. 🙂 Прыгающий дрон. Он ездит на колёсах (довольно быстро — до 7 км/ч) и может прыгать по команде на высоту до 70 см. Управление осуществляется из специального приложения для iOS.  Кроме того, он снабжён видеокамерой, так что в приложении можно видеть то, что видит дрон, и делать фото. Также у него имеется динамик, через который можно общаться с людьми, находящимися рядом с дроном. Связь со смартфоном осуществляется через WiFi: в дроне реализован WAP (wireless access point). Имеются фары для подсветки в темноте.

Дома играться с этим дроном довольно прикольно (правда, кошка в шоке 😆 ), но всё же места маловато, и я жду удобный момент, чтобы погонять на улице, где будет достаточно места разогнаться и повыделывать всякие пируэты. В принципе, если иметь несколько таких дронов, то можно устраивать соревнования на скоростное прохождение дистанции с препятствиями. Это вообще может быть новым видом кибер-спорта. Для летающих дронов такое уже есть.

Интересно, что как бы дрон ни кувыркался в воздухе, он всегда приземляется на колёса. Если он падает на торец (когда колёса расположены горизонтально), то начинает дёргаться и дрыгаться пока не примет вновь нормальное положение.

Заряжается через USB.

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

Модель назыается Parrot Jumping Night Diesel. Стоила игрушка что-то около $70 (ок. 4000 руб.).

Escaper в escape room’е

В воскресенье впервые поиграл в «escape room». Это не компьютерная игра, а там, где тебя в реале закрывают в комнате, и надо выбраться, сообразив, как. У нас был сюжет, что мы — туристы, находимся в палатке и узнаём о том, что предыдущая группа таинственным образом пропала.

Играли вчетвером. Это очень интересно! Я не заметил, как пролетел час. Надо играть ещё.

Восставший из пепла

Предыдущий пост «Звезда Судьба»  — это художественное изложение событий, имевших место на днях, в процессе моего путешествия к центру Галактики, которое я осуществляю в игре Elite: Dangerous. События эти, конечно, несколько приукрашены. 🙂 Собственно, всё было совсем не так. Но когда я пишу посты о своём путешествии в художественном ключе, для меня не важна фактическая сторона дела. Для меня Элита является лишь источником вдохновения, а детали придумываются походу.

А в реальности дела обстояли так. Я играл в Элиту когда ко мне заехали друзья — мы собирались ехать в кино, смотреть «The Hitman’s Bodyguard» («Телохранитель киллера» в русском прокате). Фильм, кстати, довольно отстойный. Много жестокости, крови и нереалистичной показухи и мало смысла. Несмотря на довольно звёздный состав. Но я не об этом. Когда зашли друзья, я в суете сборов совершенно позабыл про Элиту и оставил всё как есть. А «есть» было так. Корабль действительно оказался рядом со звездой. Скорость я уменьшил до минимума. Однако в режиме Super Cruise она не уменьшается до нуля, а принимает небольшое положительное значение. Направление движения было — прямо на звезду. Медленно, но верно корабль приближался к светилу до тех пор, пока не перегрелся и не.. сгорел. Да, мой корабль сгорел, и придя домой я обнаружил на экране сообщение «Ваш корабль был уничтожен». Два месяца полёта к Стрельцу А* (супермассивная чёрная дыра в центре Млечного пути) пошли коту под хвост.

Это, конечно, очень выбило меня из колеи, так как я рассчитывал всё же долететь в место назначения. К тому же пройдено было уже две трети пути. Я поделился своим горем в темматической группе про Элиту в контакте, и там мне посоветовали то, что мне самому почему-то в голову не пришло: написать в техподдержку. Что я и сделал. В своём обращении я посетовал на огромный объём исследовательских данных, который погиб вместе с кораблём, и которые представляют огромную ценность для человечества. 🙂 Я заключил письмо вопросом, нельзя ли с этой печальной ситуацией что-нибудь сделать. К моему большому удивлению, решение по моему вопросу было максимально положительным! Мне восстановили корабль, восстановили стоимость, заплаченную мной за его восстановление после уничтожения, восстановили все утраченные исследовательские данные (которые на данный момент, если я смогу когда-нибудь довезти их до цивилизованного космоса, стоят намного больше моего корабля; думаю, там счёт идёт уже на десятки миллионов кредов; точно я узнаю только когда продам эти данные) и, наконец, вернули мой корабль в ту систему, в которой он погиб! Бонусом я получил полностью восстановленный ресурс корабля, то есть он теперь как новенький, как будто не было двух месяцев скитаний в глубоком космосе. 🙂

Я понимаю, что это всё не совсем честно, но меня это, честно говоря, не очень сильно волнует. Мне собственное время несколько важнее какой-то игровой честности. Элита мне нужна, собственно, потому, что она, как сказано выше, вдохновляет на написание этих коротких фантастических заметок о путешествии в центр Млечного пути. Мне интересно их писать, и надеюсь, кому-то интересно их читать. 🙂

Звезда Судьба

Мне снился пляж. Пляж с белым песком где-то во Флориде. Солнечные лучи и лёгкий бриз создавали удивительно гармоничное сочетание свежести и тепла. Это был один из тех снов, где осознаёшь, что находишься во сне. Тем приятнее было видеть — хоть и во сне — родную Землю, зная, что в реальности я нахожусь в триллионах и триллионах километров от дома. Хорошо бы сейчас искупаться, подумал я. И вот, как по волшебству, я уже стою у кромки ласкового прибоя. Вода чуть-чуть не доходит до моих ног. Какие-то сантиметры. Предвкушая освежающую прохладу воды, которая будет так кстати в лучах этого уже набирающего полуденную силу солнца, я делаю шаг вперёд, но… вода почему-то отступает. Пальцы моих ног такие же сухие, какими были секунду назад. Я делаю ещё один шаг, но вода опять уходит у меня из-под ног. Я начинаю ступать непрерывно, я уже почти бегу по морскому дну, усеянному ракушками — тоже почему-то сухими. Но вода упрямо продолжает убегать от меня. И вдруг я понимаю, что это уже не Флорида. А скорее пустыня. Сахара или Атакама. И что вокруг нет ничего. Вообще ничего, кроме раскалённого песка под ногами и палящего солнца над головой. Безумно хочется пить. В ушах нарастает пульсирующий звук. Он проникает в самую душу. Он сжигает меня изнутри в то время, как солнце и песок терзают мою плоть. Звук и жара становятся невыносимыми, и… я просыпаюсь.

Тишина помещений корабля разорвана в клочья пронзительным звуком аварийной сирены — это его я слышал во сне. Аварийное освещение заливает всё вокруг трепещущим оранжевым светом. Вокруг жарко. Очень жарко. Безумно жарко. «Это ненормально», успевает мелькнуть в голове совершенно очевидная мысль. Спустя долю секунды после пробуждения я поднимаю глаза и…

Прямо перед собой, прямо по центру фонаря кабины я вижу огромный пылающий шар. Это звезда. Звезда, к которой я по каким-то причинам приблизился слишком близко. Звезда, которая испепелит меня и мой корабль в ближайшие тридцать секунд. Звезда, которая сейчас станет моим убийцей, гробовщиком и могилой одновременно если я не… Все эти мысли проносятся в голове за какие-то несколько секунд. В следующее мгновение моя мокрая от струящегося ручьями пота ладонь ложится на рукоятку управления двигателем и настолько быстро, насколько позволяет внутреннее сопротивление механизма, толкает её от себя. Другая рука выкручивает руль до упора в сторону. Мне плевать на перегрузки. Слишком большая перегрузка, конечно, убьёт меня, но испепеляющее излучение звезды убъёт меня ещё скорее. Я чувствую, как рукоятка управления двигателем послушно скользит, подчиняясь усилию, прикладываемому моей рукой, а в голове в этот момент пульсирует только одна мысль: «Только бы работала система управления! Только бы работала… Только бы…». Перегрузка немилосердно вжимает меня в кресло, едва не сокрушая мои кости. Это больно. Наверное, это больно. Но я не чувствую боль. Я чувствую только зарождающуюся где-то глубоко внутри радость. Почти безумную радость и восторг. Перегрузка означает, что главные двигатели в порядке. Стремительно уходящий в сторону раскалённый диск звезды говорит мне о том, что и маневровые двигатели уцелели.

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

Сейчас, когда мой корабль стоит на поверхности безатмосферной каменной планеты в трёх тысячах световых секунд от оказавшейся такой негостеприимной звезды; когда двигатели выключены и вокруг одновременно и тишина, и такое яркое воспоминание пронзительного верещания аварийной сирены, что кажется, что я слышу его и сейчас; когда я понимаю, что худшего удалось избежать… сейчас я могу спокойно проанализировать, что произошло. А произошла, собственно, банальная вещь. Я приблизился к звезде, чтобы произвести стандартную заправку от излучения светила, подлетел максимально близко, насколько позволяла техника безопасности, включил преобразователь энергии и… уснул. Сказалась усталость нескольких последних дней, когда я без остановки совершал гипер-прыжки, преодолев в итоге более трёх тысяч световых лет. Проверив автоматический лог полётных параметров, я обнаружил, что, устанавливая орбиту для заправки, сделал ошибку, которая едва не стоила мне жизни. Вместо круговой орбиты я поставил корабль на орбиту постепенного снижения. Что и привело к опасному приближению к светилу и перегреву корабля.

Я остался жив и даже, как ни странно, здоров, если не считать компрессионных травм от перегрузок, но для корабля это происшествие не прошло незамеченным. Ресурс многих узлов резко снизился, и теперь кораблю предстоит долгий ремонт. Слава космическим богам, система автоматического восстановления ресурса по-прежнему функционирует, и её заряда должно хватить, чтобы привести наиболее критические модули в работоспособное состояние. На данный момент я пролетел уже почти две трети пути до Стрельца А*, поворачивать обратно смысла особого нет. Буду дальше пробиваться к центру Галактики. Только лететь теперь придётся очень осторожно, чтобы не снижать и без того низкий общий ресурс судна.

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

Это произошло в системе звезды FROARKS SK-X B28-156. Я отныне нарекаю эту звезду Судьба.

Старкон — всё

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

Надо сказать, что когда я посещал фестиваль, у меня где-то на задворках сознания возникла мысль, что, вот, место проведения — просто шикарное. Реально, мировой уровень. Огромные площади, отличный звук и т.д. А народу даже в субботу днём — вроде как самое пиковое время для посещения — было не сказать, что много. Такое впечатление, что раза в два меньше, чем на похожем фестивале в Бостоне PAX East. Я ещё тогда подумал: либо этот Экспофорум по причине своей относительной новизны предоставляет в настоящий момент серьёзные скидки организаторам мероприятий, либо у организаторов просто много лишнего бабла, либо… организаторы просчитались с финансовой стороной проекта. Оказалось, к сожалению, последнее. Ведущий трансляции сообщил, что по результатам «Старкона» организаторы оказались в долгах.

Что ж, довольно печально. Имхо, это было интересно и познавательно — особенно для молодёжи. И организовано на действительно высоком уровне.

Старкон 2017

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

Питерский Старкон, с другой стороны, имеет более широкий спектр тем: компьютерные игры, фантастика (книжная и кинематографическая) и наука. Были встречи с российскими писателями-фантастами, просмотры фантастических фильмов с последующим обсуждением, научно-популярные лекции. В частности, я посетил четыре лекции: о нейронных сетях и чат-ботах; о космических аппаратах, находящихся за орбитой Плутона (Вояджеры, Пионеры и «Новые горизонты»); о технологии редактирования ДНК; и о фотографировании Луны. Собственно, компьютеров и компьютерных игр, конечно, было, но существенно меньше, чем на PAX. Их место занял косплей: переодевание в героев компьютерных игр, фантастических и фэнтезийных фильмов и мультфильмов. Косплея на Старконе было на порядок больше, чем на PAX. Причём, он было гораздо более качественный и сложный. Порой мимо проходили такие персонажи, что увидеть за всем этим гримом и костюмом обычного человека было довольно затруднительно.

Возвращаясь к ретрокомпьютерам. Им была посвящена отдельная секция фестиваля. На фотке выше запечатлён, судя по всему, IBM PC-совместимый компьютер с игрой Doom. А рядом совсем уникальная вещь — шлем виртуальной реальности Forte VFX1, выпущенный на рынок в 1995 году. За двадцать лет до HTC Vive и Oculus Rift!

Ниже ещё несколько ретро-фоток.

Читать далее «Старкон 2017»

R-Type: история создания

Неожиданно наткнулся в интернетах на интереснейшую книгу, чтение которой захватило меня на несколько дней. Это вот выше — её обложка. А вот здесь на сайте автора её можно скачать бесплатно (на всякий случай разместил её ещё и у себя). Книга о создании одной из культовых компьютерных игр на ZX-Spectrum — R-Type, написанная автором игры — Бобом Пэйпом (на английском языке). Точнее, Боб переписал игру в 1988 году для ZX Spectrum. Оказывается, оригинал был создан японской фирмой IREM для игрового автомата. Сначала тот факт, что игра не была задумана и спроектирована Бобом Пэйпом, а была им портирована с другой платформы, несколько снизил в моих глазах его заслуги, но по мере чтения я всё больше и больше убеждался, что то, что он делал, — это по сути написание игры с нуля. Учитывая существенную разницу между архитектурой игрового автомата, на котором работал оригинал, и архитектурой ZX Spectrum даже наличие исходников игры ни капли не помогло бы в портировании. Из исходной игры была взята только идея, сюжет и общий вид графики. Абсолютно весь код был написан от начала и до конца Бобом Пэйпом, а графика и звуковые эффекты воссозданы на основе оригинальной игры двумя его коллегами. И ведь эти три человека смогли не только воссоздать игру очень близко к оригиналу, при этом сделав порт очень играбельным и создав классику восьмибитных игр, но и выполнить это на очень ограниченной архитектуре ZX Spectrum, которая даже в сравнении с другими восьмибитными платформами того времени стоит едва ли не на последнем месте по ресурсам, предоставляемым разработчику (память, скорость процессора, возможности графики). Поэтому я считаю, что R-Type на ZX Spectrum вполне можно рассматривать как один из образцов виртуозного программирования, в котором использовались все мыслимые приёмы — вплоть до самомодифицирующегося кода, — позволяющие сэкономить память и выжать из процессора всё до последней капли.

Конечно, эта книга очень нишевая и будет интересна далеко не каждому. А только тем, кто, как и я, в восьмидесятых годах был увлечён восьмибитной компьютерной техникой, играми и программированием на восьмибитных платформах. А также, как мы с друзьями, засиживался до поздна за игрой в R-Type. 🙂 Я лишний раз убедился, что талантливый человек талантлив во всём: Боб Пэйп не только создал ставшую культовой игру, но и описал этот процесс в книге, которую очень интересно читать. Я реально не мог оторваться — там местами почти детективная история. Собственно, автор описал не только то, как он создавал R-Type, но и то, как он пришёл к программированию, а также как складывалась его судьба после успеха написанной им игры. Кроме того, его книга позволила мне — россиянину — заглянуть в то, как «это было там». Как люди становились программистами в Великобритании в восьмидесятых годах прошлого века, и как выглядела индустрия создания софта того времени. А кроме того, дочитав последнюю страницу, я, возможно, увидел один из возможных сценариев своей собственной жизни. Дело в том, что сейчас Боб Пэйп уже не имеет никакого отношения к программированию: он работает в абсолютно другой сфере и ждёт выхода на пенсию. В последней главе он раскрывает причины этого. В те годы, когда создавался R-Type, было совершенно реально написать игру-хит в одиночку. Требовалась только помощь того, кто мог создать графику и музыку/звуковые эффекты. Однако по мере появления более мощных платформ это становилось всё менее и менее реальным, и пришло в итоге к тому, что в наше время игры пишут целые коллективы, порой достигающие десятков человек. И одиночке-программисту тут делать совершенно нечего.  А Боб был именно таким одиночкой-фрилансером, работавшим у себя дома. Конечно, меня это не совсем касается — я всегда работал в коллективе, но это показывает, что конъюнктура всегда может измениться таким образом, что разумным и неизбежным может стать решение поменять профессию.

Интересно, что R-Type был выпущен в 1988 году, а уже через четыре года — в 1992 году — английский рынок коммерческих игр для ZX Spectrum был уже мёртв.

Пролистать наверх