Уходим глубже в Underground: история одного экстремального дизайна игры



    Хорошо размахнувшись, инженер производил мощный удар кулаком сверху монитора. Раздавался треск и… монитор оживал! Тогда, 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
    • 0
      Я вот тоже развлекаюсь ASCII дизайном для игр: http://asciigames.tk
      У меня правда не так забавно и динамично и под Андроид…
      • +2
        Отлично — добавил в закладки! Под Андройд тоже планирую версию.
      • +5
        Очень интересный визуальный стиль.
        После работы в разнообразных IDE и текстовых редакторах с подсветкой кода
        эти игры выглядят очень приятно. Как будто мир разбит на логические составляющие.
        Желаю творческих успехов, спасибо за интересный материал!
      • +2
        а что насчёт звука? он есть? он современный? ласкающие ухо звуки модема? чиптюн?
        • 0
          Вот музыка из Proto Rider bandcamp. Для новой игрушки планирую похожую музыку.
          • +1
            По скринам помню, что к игрушке музыку писал тот же человек, что и к «Бесконечному лету».
        • +2
          Восхитительное свинство! Ну почему в стим нельзя покупать игры пачками? Я бы взял два десятка на засолку…
          Пришлось поштучно несколько разослать, задолбался, устал. Поиграю на выходных, еще разошлю. :)
          • +2
            А за 26й уровень — можно и канделябром-с…
          • +1
            Спасибо!
            Тоже вспоминаю ДВК-2М и игрушки на нем, Марс, первый Тетрис, Теннис и прочие :)
            В свое время тоже кодить с них начинали.
          • +5
            Я как зачарованный смотрю на ваши гифки, да и вообще изображения в статьях… Просто преклоняю голову от такого дизайна, он великолепен!
          • +1
            Очень понравилась Proto Raider, с нетерпением жду нового творения.
            А вообще было бы круто посмотреть на реализацию в такой стилистике приключения с некоторыми RPG-элементами. Но тут я конечно понимаю что уровень заморочки будет значительно выше. А так я бы с радостью поиграл в игрушку, сопоставимую по глубине с Little Big Adventure, выполненную в ASCII-арте с видом сбоку.
            • +1
              Большое спасибо, что поиграли в Proto Raider! Как раз сейчас обдумываю возможность добавить RPG элементы.
            • +1
              Я в своё время писайл шейдер, который всю сцену переводил из обычного арта в ASCII, ваша разработка напомнила чудные времена )
              • 0
                Было бы интересно взглянуть на получившийся результат, если его прикрутить к какому-нить шутеру
            • 0
              Я помню в школе мы играли на электрониках в игры с подобной графой))рисовали в бэйсике)и решали задачи)при этом чтоб решить простую задачу надо было исписать весь экран командами))проще было посчитать на тетрадке))
              • 0

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

                • 0
                  Пытались. Они ответили, что игра слишком маленькая для GoG. На Стим игра зашла нормально.
                  • 0
                    А есть еще какие-нибудь игрушки, которые создал?
                    • 0
                      Вот список всех PuzzleLab.com
                      • 0
                        ты один все сделал или у тебя команда?
                        • 0
                          Эти игры сделала моя команда, текстовые — делаю я сам
                      • 0
                        У вас там за 2004-2005 годы все ссылки не рабочие.(
                        • 0
                          Издатели, видимо, поменяли ссылки/сняли игры. Спасибо за информацию — проверю.
                    • 0
                      прикольная игрушка, хоть инди но качественная
                  • 0
                    Это просто супервосхитительно!
                    Не уверен, удобно ли в такое играть или припадок начнётся (у меня глаза устают от чёрного фона), но со стороны выглядит шикарно.
                    Может не внимательно читал, но не понял, это именно ASCI графика или всё же спрайты, на которых нарисованы символы?
                    • 0
                      Спасибо! Это именно ASCII. Игра реалтайм рендерит коды символов выбранным шрифтом. Шрифты можно менять в настройках.
                    • +8
                      Охрененно. Пожалуйста, запилите статью о технической стороне этого чуда, безумно интересно как и на чём такие вещи пишутся. Просто великолепно, нет слов!
                    • +2
                      Игра очень красива! Желаю успехов в этом проекте.
                    • +3
                      Тяжело переваривать, но видно, что заанимировано очень круто.
                      • +1
                        «Картинка для привлечения внимания» сработала и я этому рад! Обязательно попробую на досуге.
                      • 0
                        Я не читал, но пролистал и посмотрел картинки. Очень крутые картинки! Нравится такое видеть.
                        • 0
                          Персонаж в вашей игре двигается не по «символьной сетке» а плавно перемещается? т.е. если бы это была псевдографика на древнем ПК — то персонаж должен был бы перемещаться рывками на ширину символа.
                          • 0
                            Персонаж перемещается по сетке рывками, но каждый такой рывок «сглаживается» плавным перемещением. Т.е. во внутреннем представлении текстовой матрицы персонаж перескакивает, но визуально двигается плавно.
                            • 0
                              Интересно было бы посмотреть как выглядит игра без сглаживания движений :). Есть опция отключения сглаживания в настройках?
                              • 0
                                Выглядит не очень, особенно на больших мониторах — персонаж заметно дергается. Поэтому не стал даже опцию делать.
                          • +1

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


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


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

                            • 0
                              Спасибо, что поиграли в Proto Raider и за баг-репорт!
                            • +1
                              На самом деле выглядит… кхм… ну… КРУТО! :)
                              Атмосферно и по-своему красиво.
                              • +1
                                У меня всегда подгорает из-за фальшивой пиксельной графики. Т. е. игра вся такая пиксельная, олдскульная, но при этом пикселы эти двигаются плавно, да еще поворачиваются на малые углы в Full HD.

                                А тут то же самое, но с ASCII-артом. У меня аж бомбануло!
                                • 0
                                  Да, есть такое — получаю за это много критики.
                                • +1
                                  Как только прочитал статью, сразу приобрел копию Proto Rider для себя, сечас буду пробовать, но судя по комментариям игра отличная. Хорошо что есть еще разработчики которые не гонятся за количеством полигонов в своих играх. Так же жду новую игру, на рассылку уже подписался.
                                  • 0
                                    Спасибо!
                                    • +1
                                      Поиграл в вашу игру, в принципе интересно, но я ожидал все-таки платформера а не ранера головоломку. А можно узнать, следующая ваша игра будет в таком же стиле?
                                      • 0
                                        Как раз сейчас выбираю игровую механику, думаю изменить немного стиль
                                  • +2
                                    Напишите пожалуйста статью с технической реализацией сего чуда и её особенностями! Если не секрет :)
                                    Прям самому захотелось развлечься чем-то подобным :D Спасибо за статью и пробуждение интереса!
                                    • +1
                                      Выглядит круто! Я бы поиграл :)
                                      • +1
                                        Мне было бы гораздо интереснее увидеть эту игру в браузере — например, на JavaScript.

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