Хорошо размахнувшись, инженер производил мощный удар кулаком сверху монитора. Раздавался треск и… монитор оживал! Тогда, 30 лет назад, когда в свои десять лет я посещал вечерние занятия школы юных программистов в университете, только инженер имел право так чинить мониторы. Только он знал, в какое место и с какой силой приложить компьютерную технику, чтобы она ожила и мы, дети, которым повезло попасть в школу программистов, продолжили, счастливые, писать свои строчки кода.

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

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

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

На первых занятиях мы изучали Фортран на компьютерах Искра-1256. Информация в нем отображалась на монохромном символьном ЭЛТ-мониторе в 16 строках по 64 символа. Символы имели размер 5?7 точек.



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

Потом появились «Корветы» — компьютеры с двумя независимыми видео-контроллерами, выводящими изображение на экран одновременно. Один — алфавитно-цифровой, 16 срок по 64 символа, 8?16 точек каждый. Другой — графический, 512?256 пикселей при 8 цветах. «Корвет» был быстр!



Однако с сохранением программ и здесь был нюанс. Только один «Корвет», учительский, имел 5? дюймовый дисковод. Остальные 10 компьютеров в классе подключались к нему по локальной сети со скоростью 19,5 килобит/сек. И сеть эта не была стабильной!

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

На «Корвете» я впервые сделал игру-платформер и даже с соавторами написал книжку по программированию с примерами спрайтов из этой игры. Тираж был 30 тысяч, который не сразу, но разошелся.



Если «Корветы» открыли для меня графику с несколькими градациями серого, то появившиеся позже MSX и ZX Spectrum открыли бескрайний мир игр с цветной графикой. О, какие там были игры! Помните? Даже сейчас, по прошествии 30-ти лет, я иногда запускаю эмулятор, чтобы поиграть в Zanac Ex, Metal Gear, Vampire Killer (Castlevania). Но до сих пор я с ностальгией вспоминаю те времена, когда мониторы были алфавитно-цифровые, а принтеры — матричные.

Стиль


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

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

При наличии времени и сноровки, с помощью всего лишь этих символов, можно получать вполне атмосферную графику.



Около года назад я решился осуществить «пробу пера» — выпал из жизни на три месяца и сделал пазл-платформер игру Proto Raider. Работая по 10 часов в день, включая выходные, я сделал 64 уровня за три месяца. На каждый уровень уходило не менее одного дня. Это мероприятие подкосило семейный бюджет, но результат того стоил! Не смотря на минимальную ретро графику, игра понравилась моей семье, моим друзьям и потом многим-многим людям. Ресурс Touch Arcade назвал Proto Raider игрой недели.

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



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



Новая игра — добавляем историю


Этим летом я начал реализовать еще одну вещь, которую хотел сделать уже несколько лет — написать научно-фантастический рассказ и сделать игру по нему. Идея рассказа давно сложилась, но захотелось сделать необычный ход: в своей ленте на Фейсбуке я спросил, не желает ли кто-нибудь поучаствовать своим персонажем в рассказе. Я обещал изучить профайл друга (если не знал его лично) и вписать его в рассказ под настоящим именем.

Откликнулось 20 человек, что вчетверо превышало изначальное количество персонажей в рассказе. Сейчас рассказ превратился в 100-страничную новеллу и закончен на 80%. Рассказ описывает необычный мир планеты Франго, окруженной одноименной аномалией, затрудняющей к ней доступ. Тем не менее, планета была колонизирована 1500 лет назад, но из-за труднодоступности и вызванной аномалией мутаций, развитие общества на планете проходило весьма не однородно. Экран загрузки новой игры показывает это:



С одной стороны, большая доля 500 миллионного населения планеты достаточно хорошо развита.



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



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

С такой историей (Sci-fi), стилем графики (ASCII) и игровой механикой (логический платформер) дизайн новой игры будет по истине экстремальным! Но лично я очень вдохновлен и готов тратить сотни часов на создание атмосферы с помощью 94 символов.

То, что получится, можно будет посмотреть на ASCIIDENT. Как вам название, кстати, соответствует ли игре?

Многие родственники и друзья спрашивают — зачем? Зачем тратить столько сил и времени на такую игру? Можно сделать другую, тоже интересную, и заработать в 100 раз больше денег.

С возрастом у мужчины меняется только размер игрушек. Разработка игр — это моя работа. А создание Sci-fi ASCII платформера — это моя дорогостоящая игрушка. Это во-первых. А во вторых, кто-то должен поставить дронов с искусственным интеллектом на место!



Надеюсь, мой рассказ о необычном дизайне игры был интересен. Множество технических моментов было опущено, но я с удовольствием расскажу о них в комментариях если будут вопросы.
Поделиться с друзьями
-->

Комментарии (55)


  1. A-Stahl
    03.11.2016 23:17

    Я вот тоже развлекаюсь ASCII дизайном для игр: http://asciigames.tk
    У меня правда не так забавно и динамично и под Андроид…


    1. DuhaTheBest
      03.11.2016 23:19
      +2

      Отлично — добавил в закладки! Под Андройд тоже планирую версию.


  1. dorsett
    04.11.2016 00:44
    +5

    Очень интересный визуальный стиль.
    После работы в разнообразных IDE и текстовых редакторах с подсветкой кода
    эти игры выглядят очень приятно. Как будто мир разбит на логические составляющие.
    Желаю творческих успехов, спасибо за интересный материал!


    1. DuhaTheBest
      04.11.2016 00:44
      +1

      Спасибо!


  1. lonelymyp
    04.11.2016 01:01
    +2

    а что насчёт звука? он есть? он современный? ласкающие ухо звуки модема? чиптюн?


    1. DuhaTheBest
      04.11.2016 01:02

      Вот музыка из Proto Rider bandcamp. Для новой игрушки планирую похожую музыку.


      1. pehat
        04.11.2016 01:12
        +1

        По скринам помню, что к игрушке музыку писал тот же человек, что и к «Бесконечному лету».


  1. datacompboy
    04.11.2016 01:01
    +2

    Восхитительное свинство! Ну почему в стим нельзя покупать игры пачками? Я бы взял два десятка на засолку…
    Пришлось поштучно несколько разослать, задолбался, устал. Поиграю на выходных, еще разошлю. :)


    1. datacompboy
      05.11.2016 20:19
      +2

      А за 26й уровень — можно и канделябром-с…


  1. ru_vlad
    04.11.2016 01:12
    +1

    Спасибо!
    Тоже вспоминаю ДВК-2М и игрушки на нем, Марс, первый Тетрис, Теннис и прочие :)
    В свое время тоже кодить с них начинали.


    1. DuhaTheBest
      04.11.2016 01:17

      Да — ДВК!


  1. daggert
    04.11.2016 01:35
    +5

    Я как зачарованный смотрю на ваши гифки, да и вообще изображения в статьях… Просто преклоняю голову от такого дизайна, он великолепен!


    1. DuhaTheBest
      04.11.2016 01:38
      +1

      Спасибо!


  1. phoenixweiss
    04.11.2016 01:49
    +1

    Очень понравилась Proto Raider, с нетерпением жду нового творения.
    А вообще было бы круто посмотреть на реализацию в такой стилистике приключения с некоторыми RPG-элементами. Но тут я конечно понимаю что уровень заморочки будет значительно выше. А так я бы с радостью поиграл в игрушку, сопоставимую по глубине с Little Big Adventure, выполненную в ASCII-арте с видом сбоку.


    1. DuhaTheBest
      04.11.2016 01:52
      +1

      Большое спасибо, что поиграли в Proto Raider! Как раз сейчас обдумываю возможность добавить RPG элементы.


  1. s1dd0k
    04.11.2016 02:03
    +1

    Я в своё время писайл шейдер, который всю сцену переводил из обычного арта в ASCII, ваша разработка напомнила чудные времена )


    1. Oplkill
      04.11.2016 14:27

      Было бы интересно взглянуть на получившийся результат, если его прикрутить к какому-нить шутеру


      1. datacompboy
        04.11.2016 14:51

        www.jfedor.org/aaquake2


  1. zuzuz
    04.11.2016 02:54

    Я помню в школе мы играли на электрониках в игры с подобной графой))рисовали в бэйсике)и решали задачи)при этом чтоб решить простую задачу надо было исписать весь экран командами))проще было посчитать на тетрадке))


  1. fzzr
    04.11.2016 03:39

    Ужасно жаль, что Proto Raider нет на GoG. Пытались ли опубликовать там?


    1. DuhaTheBest
      04.11.2016 03:41

      Пытались. Они ответили, что игра слишком маленькая для GoG. На Стим игра зашла нормально.


      1. zuzuz
        04.11.2016 03:55

        А есть еще какие-нибудь игрушки, которые создал?


        1. DuhaTheBest
          04.11.2016 04:30

          Вот список всех PuzzleLab.com


          1. zuzuz
            04.11.2016 05:28

            ты один все сделал или у тебя команда?


            1. DuhaTheBest
              04.11.2016 06:11

              Эти игры сделала моя команда, текстовые — делаю я сам


              1. zuzuz
                04.11.2016 07:02

                хорошо)


          1. maaGames
            04.11.2016 07:31

            У вас там за 2004-2005 годы все ссылки не рабочие.(


            1. DuhaTheBest
              04.11.2016 08:07

              Издатели, видимо, поменяли ссылки/сняли игры. Спасибо за информацию — проверю.


      1. zuzuz
        04.11.2016 03:57

        прикольная игрушка, хоть инди но качественная


  1. maaGames
    04.11.2016 07:30

    Это просто супервосхитительно!
    Не уверен, удобно ли в такое играть или припадок начнётся (у меня глаза устают от чёрного фона), но со стороны выглядит шикарно.
    Может не внимательно читал, но не понял, это именно ASCI графика или всё же спрайты, на которых нарисованы символы?


    1. DuhaTheBest
      04.11.2016 08:05

      Спасибо! Это именно ASCII. Игра реалтайм рендерит коды символов выбранным шрифтом. Шрифты можно менять в настройках.


  1. vlreshet
    04.11.2016 10:27
    +8

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


    1. DuhaTheBest
      04.11.2016 10:34
      +3

      Спасибо! Постараюсь.


  1. HELLCATWOT
    04.11.2016 10:34
    +2

    Игра очень красива! Желаю успехов в этом проекте.


    1. DuhaTheBest
      04.11.2016 10:34

      Спасибо!


  1. keydon2
    04.11.2016 10:38
    +3

    Тяжело переваривать, но видно, что заанимировано очень круто.


  1. belurd
    04.11.2016 12:32
    +1

    «Картинка для привлечения внимания» сработала и я этому рад! Обязательно попробую на досуге.


    1. DuhaTheBest
      04.11.2016 12:36

      Очень рад, спасибо!


  1. Roma-Pro
    04.11.2016 14:21

    Я не читал, но пролистал и посмотрел картинки. Очень крутые картинки! Нравится такое видеть.


  1. alexvoz
    04.11.2016 14:21

    Персонаж в вашей игре двигается не по «символьной сетке» а плавно перемещается? т.е. если бы это была псевдографика на древнем ПК — то персонаж должен был бы перемещаться рывками на ширину символа.


    1. DuhaTheBest
      04.11.2016 14:25

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


      1. alexvoz
        04.11.2016 14:32

        Интересно было бы посмотреть как выглядит игра без сглаживания движений :). Есть опция отключения сглаживания в настройках?


        1. DuhaTheBest
          04.11.2016 14:38

          Выглядит не очень, особенно на больших мониторах — персонаж заметно дергается. Поэтому не стал даже опцию делать.


  1. ArXen42
    04.11.2016 14:38
    +1

    Cпасибо за Proto Raider)


    Вроде без проблем работает под wine, хотя нативная linux версия новой игры, например, была бы приятным дополнением (если, конечно, платформа позволит портировать без больших изменений).


    На девятом уровне возможно баг: при некоторых условиях (позиции игрока на лодке близко к правому краю, кажется) на развороте справа игрок может уйти в "текстуру" дна (MMMMM) лодки. Не особо мешало, просто заметил случайно.


    1. DuhaTheBest
      04.11.2016 14:40

      Спасибо, что поиграли в Proto Raider и за баг-репорт!


  1. badcatz
    04.11.2016 20:28
    +1

    На самом деле выглядит… кхм… ну… КРУТО! :)
    Атмосферно и по-своему красиво.


  1. lolmaus
    05.11.2016 00:48
    +1

    У меня всегда подгорает из-за фальшивой пиксельной графики. Т. е. игра вся такая пиксельная, олдскульная, но при этом пикселы эти двигаются плавно, да еще поворачиваются на малые углы в Full HD.

    А тут то же самое, но с ASCII-артом. У меня аж бомбануло!


    1. DuhaTheBest
      05.11.2016 05:32

      Да, есть такое — получаю за это много критики.


  1. HardDie
    05.11.2016 05:30
    +1

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


    1. DuhaTheBest
      05.11.2016 05:31

      Спасибо!


      1. HardDie
        05.11.2016 09:16
        +1

        Поиграл в вашу игру, в принципе интересно, но я ожидал все-таки платформера а не ранера головоломку. А можно узнать, следующая ваша игра будет в таком же стиле?


        1. DuhaTheBest
          05.11.2016 10:40

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


  1. Roman9704
    05.11.2016 07:27
    +2

    Напишите пожалуйста статью с технической реализацией сего чуда и её особенностями! Если не секрет :)
    Прям самому захотелось развлечься чем-то подобным :D Спасибо за статью и пробуждение интереса!


  1. 1eqinfinity
    05.11.2016 14:48
    +1

    Выглядит круто! Я бы поиграл :)


  1. Karpion
    06.11.2016 20:25
    +1

    Мне было бы гораздо интереснее увидеть эту игру в браузере — например, на JavaScript.