ZeroNet Blogs

Static ZeroNet blogs mirror

Краски Сентября

Моя интерактивная литература

Пока Haiku захавала мой мозг (разбираюсь в потрохах системы, сделал пару коммитов в ядро), писать что-то осмысленное в блог некогда. :) Поэтому сегодня поделюсь отвлечёнными мыслями насчет взаимного влияния языка и мышления.

Не так давно я выпустил модуль INSTEAD для написания игр с текстовым вводом. Модуль я писал с расчётом на русскоязычную аудиторию и авторов. Но хотелось, конечно, чтобы при желании можно было написать и англоязычную игру. Поэтому я добавил в модуль и английский вариант библиотеки.eng-mp3.jpeg (1024x576)


Так вот. Я, конечно, понимал, что английский вариант будет проще, но не ожидал, что настолько проще!

Теперь для меня очевидно, что слабое распространение (и развитие) игр с текстовым вводом у нас в первую очередь связано с отличиями языков, а уже потом -- со всем остальным.

Раньше я считал, что сознание не сильно завязано на язык. Думал я это на основании собственного опыта интуитивного мышления, когда замечал, что мысли часто не облекаются в слова. То-есть, человеческая архитектура, на фундаментальном уровне, не зависит от "прошивки". Но теперь мне кажется, что язык определённо влияет на сознание и это влияние существенно.

Один простой пример. В русском языке у нас большинство неодушевлённых предметов имеет род. В английском не так. Конечно, там тоже есть "ship" как "she" и так далее, но это все-таки скорее исключение. То-есть, говоря "ложка" или "нож" -- я ловлю себя на мысли, что моё отношение к этим предметам окрашивается в разные оттенки в зависимости от рода! В английском это "it" - и всё тут. С точки зрения разума -- всё верно. Это предмет, какой тут может быть род?

Но в русском, я действительно чувствую, что подушка -- это "она". Что топор -- это "он". Если вы со мной не согласны, проведите мысленный эксперимент. Представьте, что "облако" получило мужской род ("облак летит по небу"). Или "топор" стал женского рода ("Топр была острой"). Уверен, разницу вы почувствуете.

Винтовка и карабин. Согласитесь, оба слова, означая похожие вещи, осознаются по-разному! А ещё мне кажется, что это осознание будет разным у мужчин и женщин. Удивительно! Таких примеров можно привести массу, и это даже забавно -- обнаруживать в себе эмоциональное отношение к неодушевлённым вещам.

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

diff.png (1365x469)

Так что русский язык очень эмоционален и выразителен. И мне лично это нравится. Почему? Не потому ли, что я уже изменён языком (прошивкой)? Или, все-таки, потому, что мой язык мне соответствует?

В общем, философия языка, должно быть, очень глубокая и интересная тема...

На днях прочитал на OpenNet новость о переходе Haiku в статус бета-версии. "Гайка", одна из тех "гиковских" ОС которая мне всегда нравилась. Вообще, среди всех альтернативных ОС она казалась самой "человеческой". Смотрел я её последний раз года 3 назад и думал, что разработка "угасала". Так что новость, конечно, порадовала и я решил посмотреть как дела у ребят на данный момент...


screenshot5.png (1280x1024)

Если вы вообще не знаете, что это за система, то это попытка воссоздать BeOS. Лично я никогда не пользовался оригинальной BeOS, поэтому для меня проект представляет интерес просто как пример "гиковской" ОС для души. Причём эта ОС изначально позиционируется как ОС для пользователей, в которой GUI -- это неотъемлемая часть системы. Это очень здорово. Итак, что я увидел...

Главное. Haiku при желании можно использовать на реальном железе. Я пробовал загружаться с USB флешки на ноутбуке (Thinkpad на i3) и на рабочей машине. Система грузится. Сеть, Wifi, звук -- работают. Это важное свойство. Я люблю запускать системы на реальном железе. Это мотивирует, в том числе, и разработку для этой ОС.

Система стартует просто реактивно! Я думаю, если искать практическую ценность проекта, то если у вас где-то на полке пылится дохлый нетбук -- это хороший кандидат для установки на него "гайки".

Оконная система оставляет приятное впечатление. В ней есть встроенное средство делать "табы" из окон. Достаточно нажать кнопку "win" и перетащить окно за ярлычок к другому окну. Также, окна можно цеплять друг к другу в режиме тайлинга. Вот как это выглядит.

tiling.png (1280x1024)

Теперь, система собирается и для 64 битных платформ. Раньше, система была привязана к gcc2. Это было обусловлено целями проекта -- бинарная совместимость с оригинальной BeOS. Мне это казалось ненужным ограничением в наше время. И к счастью, теперь гайка собирается в том числе и gcc 7й версии! Для 32 и 64 бит. Но есть вариант сборки с gcc2. Я ставил 64 битные сборки.

В системе есть прекрасный пакетный менеджер и дерево портов. Это значит, что установка и обновление софта делается просто: pkgman update. Естественно, не обязательно делать это из консоли, но мне так привычней. Сама пакетная система тоже интересная. Пакеты -- это образы, которые монтируются ядром прозрачным образом. Это реально очень круто! И похоже, позволяет просто откатываться к нужным состояниям пакетов.

Система не Unix-подобная. Более того, она однопользовательская. Но есть слой POSIX совместимости, что даёт возможность собирать многие привычные программы и библиотеки: bash, mc, git, qt5, sdl2 и другие. Сейчас в репозитории больше 4000 пакетов.

Если забрать из git исходный код гайки, и посмотреть сколько занимают исходные коды базовой системы (ядро + окружение), то это будет около 150Мб. Это нереально круто! Например, для сравнения распакованное ядро Linux 4.14 это ... 775Мб.

Строго говоря, в гайке используется не микро-ядро. Но и монолитом его сложно назвать. Не смотря на то, что сеть, драйверы и файловая система (sys/add-ons/kernel)выполняются в режиме ядра, в модульном смысле они отделены от "микро-ядра". Размер которого не превышает 5Мб (sys/system/kernel). Часть сервисов выполнены уже в традициях микро-ядерной архитектуры и выполняются в режиме отдельных процессов (servers/).

В общем это всё напомнило мне ядро Windows NT. Его тоже можно было бы назвать гибридным, по крайней мере в начале, когда графическая подсистема ещё не стала частью ядра, а OS/2 и Win32 были просто службами.

Ядро написано на cpp и это очень чистый и приятный в эстетическом плане код. Кстати, ядро Haiku развивалось как форк NewOS. Ядро NewOS написано бывшим инженером BeOS Тревисом Гейсельбрехтом, ныне работающем в Google над ОС Fuchsia. Ядро которой (Zircon) уже является настоящим микро-ядром. Но об этом в другой раз.

Конечно, первым делом я попытался перенести на гайку INSTEAD. SDL и SDL2, luajit и libiconv уже были в портах, поэтому сборка не представляла проблем. Правда, сборка с SDL2 имела дефекты со звуком (трекерная музыка) и курсором. Поэтому, я откатился на SDL1.

screenshot4.jpg (1024x768)

Дальше я уже попытался сделать полноценный порт. Мне помогали ребята с Telegram канала. В целом, способ работы с деревом портов тоже очень удобный. Работа автоматизирована с помощью haikuporter. Вот каким получился файл-рецепт для INSTEAD. Я также написал небольшой код, реализующий диалог выбора файлов и изменил место хранения настроек и игр в соответствии со стандартами Haiku.

screenshot3.png (1280x1024)

Потом я вошёл во вкус и исправил небольшие ошибки в портах SDL и SDL2, которые тоже были смержены в дерево портов.

Вообще, Haiku это как раз тот проект, который прямо манит меня, чтобы стать еще одним проектом "для души".

Если говорить о проблемах, то их, конечно, достаточно:

  • нестабильный веб-браузер WebPositive;

  • отсутствие suspend to ram/disk (правда, система грузится настолько быстро, что это можно не считать реальным недостатком);

  • незрелая поддержка USB3;

  • отсутствие 3d ускорения видео;

  • ...

Однако, я никогда не понимал людей, подходящих к таким проектам с точки зрения выполняемых функций. Я помню времена, когда я занимался ядром Windows NT и Linux 2.xx показался мне убогой поделкой. Да, ядро было объективно хуже. Система (я не помню точно, что это был за дистрибутив. KSI Linix?) вызывала рвотные позывы в течении месяцев. Однако было чувство чего-то неизведанного, красивого, ОТКРЫТОГО. Чего-то принципиально иного, принадлежащего не корпорации а нам -- программистам! Поэтому я работал с системой, изучал её и ... это стало моей новой работой. Потом, через год или два мой мозг уже стал мыслить в соответствии с Linux. Поэтому уже Windows NT стала вызывать рвотные позывы... Однако, это всё дало бесценный опыт. Я знал как работают ядра этих систем.

Если бы я рассуждал с точки зрения функциональности, честно, я бы пользовался Windows и сейчас. Если рассуждать с точки зрения функциональности, нужно быть с мейнстримом и точка. Поэтому мне очень близки гиковские проекты. Они собирают вокруг себя людей с пытливыми умами. А это и есть черта настоящих хакеров. Если человек снова затевает старую песню: "а вот у вас тут чего-то нет". Или: "А лучше Б, потому что мне так удобней"... Мне становится скучно. Посмотри, что хорошего в системе. За что её любят разработчики? Что нового ты можешь узнать.

О, смотри, она работает! Круто! Давай попробуем сделать это!

Гиковские проекты снова открывают нам радость исследования, эксперимента, написания кода мечты. Это так отличается от прагматического подхода написания кода в корпорациях.

Да, Linux стал мейнстримом и востребованным в промышленной сфере. И уже новое поколение "фанов" часто смотрит свысока на другие хакерские системы. Примерно так же, как раньше смотрели на Linux. Какая ирония! Ребята, да вы проиграли сами себе! Конечно, это относится только к части "фанатов". Большинство разработчиков, все-таки, не растеряли духа свободы.

В общем, Haiku прекрасная система. Её есть за что любить. С ней приятно иметь дело и в роли разработчика, и в роли ... пользователя. Сейчас, когда многие любительские проекты закрываются, хочется пожелать "гайке" не сдаваться. А разработчикам -- не забывать о свободе и радости творчества. Помните, как называлась книга Линуса Торвальдса? :)

Чем хороши игры на PICO-8? Почти каждая из них - маленький концепт. И когда хочется расслабить мозги, вместо чтения новостей или социальных сетей можно просмотреть несколько таких "игрушек". И это может принести свои открытия! Да, существует TIC80 -- открытый аналог PICO. Не хуже (а может, и лучше!), но ограничения у него не такие жестокие, как у PICO. Разрешение 128x128 и фиксированная палитра так и призывают -- просто сядь и напиши игру! Жаль, что у PICO не открытый код. Но игрушка получилась классная. Мне кажется, проекты типа PICO (и его клонов) прекрасно подходят на роль инструмента для обучения программированию.


Интересно, что одна из игр на PICO8 обыгрывает ту самую robotfindkitten, о которой я писал в прошлый раз.

Сложно сказать о чём имеено игра STRUNG OUT in heaven's high. Но запустив раз, её не хочется закрывать. В чём секрет, я не знаю. Возможно, в прекрасном музыкальном треке. Летаем котом в "космосе". Собираем кислород, активируем спутники, смотрим старые фотографии... Рано или поздно кислород (или что там под понимается в игре под словом "nip") кончается.

cat.png (643x516)

Кстати, игры на PICO-8 вполне сносно запускаются в браузере смартфона. Просто надо нажать на кнопку full-screen после запуска. Общее с robotfindskitten здесь то, что практически мы просто смотрим разные объекты, читаем их описание. И движемся дальше... Только в этой игре появляется динамика в виде дефицитного ресурса. Прямо как в жизни.

Следующая игра -- абсолютный победитель в номинации "артхаус". Речь пойдёт об Feed The Ducks. Игра, которую невозможно было закрыть до полного прохождения, и в которой каждый следующий сюжетный поворот заставлял перевернуться все игровые схемы, которые успевали сформироваться на предыдущем этапе.

duck.png (639x513)

Игра начинается как "симулятор кормления утки". Но дальше.... В общем, просто помните -- игра проходима. Пройти её можно за минут 5. Музыкальный трек в финале тоже достойный. Я надолго запомню этих уток...

Конечно, таких "особенных" и "сумасшедших" игр на PICO-8 от общей массы немного. И это хорошо! Потому что в игру Little Dragon Adventure можно поиграть не потому, что она странная, необычная или концептуальная. Нет, это просто качественная handmade игра, сделанная с любовью.

dragon.png (639x507)

Исследуем лабиринт дракончиком. Постепенно повышаем свои возможности. Это прямое заимствование из игры Metroid и в данном случае это плюс. Чувство исследования присутсвует. Игра полностью проходится минут за 10. Обратите внимание на простой, но запоминающийся трек. :) Ту-ту-ту-ду-ту ... ту... Ту-ту-ту-ду-ту... ту... :)

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

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

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

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

Меня всегда интересовал механизм этого узнавания. Каким образом произведение вдруг становится признанным? Что или кто является критерием?


melvill02.jpg (300x426)

Вот и "Моби Дик" Германа Мелвилла не был принят современниками. Приведу несколько цитат:

«Моби Дик» не был принят литературной критикой и не получил успеха у читателей. От Мелвилла отвернулись. Мелвилл жил в Питтсфильде до 1863 года, продолжая писать и борясь с нуждой. Несколько книг, выпущенных им за эти годы, не восстановили его литературной репутации.

После разгромной критики вышедшего спустя год готического романа «Пьер, или Двусмысленности» (Pierre, or The Ambiguities, 1852), — где изображён писатель, который среди шумной толпы чувствует себя таким же одиноким, как на полюсе, — Мелвилл стал публиковаться анонимно, печатая рассказы в журналах.

Когда Мелвилл умер в 1891 году, то был уже настолько забыт, что автор короткого некролога в «Нью-Йорк таймс» не сумел правильно написать его имя.

С 1920-х началось переосмысление Мелвилла, и его признали классиком мировой литературы.

Началось переосмысление. Выглядит загадочно, правда? В английской статье на Wikipedia этот момент описан подробнее (спасибо @techniX).

The "Melville Revival" of the late 1910s and 1920s brought about a reassessment of his work. The centennial of his birth was in 1919. Carl Van Doren's 1917 article on Melville in a standard history of American literature was the start of renewed appreciation. Van Doren also encouraged Raymond Weaver, who wrote the author's first full-length biography, Herman Melville: Mariner and Mystic (1921).

По русски об этом можно прочитать в этой статье. Итак, американский критик и биограф Карл Ван Дорен написал статью, потом (на 100-летие автора), посвятил целый раздел в своей книге. Способствовал созданию биографии... И вот, закрутилось!

Так что, после 70 лет люди, наконец, доросли до понимания творчества Мелвилла? Или, может быть, вернулась мода на романтизм? Или в 1851 году критики "перекрыли кислород", а через 70 лет нашёлся другой критик? Не знаю, я не искусствовед и я могу только удивляться.

Эта история интересна тем, что показывает нам удивительный и простой факт -- произведение существует вне времени! Или даже "сквозь" время. Автора давно нет с нами, но в умах, сердцах людей снова создаются образы, которые чувствовал и создавал писатель. А бумага, оказывается, это довольно надёжный носитель информации!

Мы живём в цифровую эпоху. Что будет с десятками тысяч игр, художественных и музыкальных произведений через 50, 70, 100 лет? Станет ли что-нибудь из этого наследием культуры, или все сгинет в забытье и устаревших технологиях? Очевидно, сейчас мы наблюдаем "перенасыщение", но кто в наши дни возьмёт на себя роль "критерия"? Или всё, что нам остаётся -- хранить традицию? Узнал бы цифровой мир нового Достоевского, или талантливый автор был бы задушен монетизацией, мотивацией, изучением ЦА и другими особенностями современного "культурного рынка"?

Интересные вопросы, на которые лично у меня нет ответов.

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

Поэтому я очень хорошо понимаю программистов, которые пишут игровой код для "души". Проект INSTEAD и возник как реализация такой вот отдушины. В первую очередь он ориентировался на программистов -- лириков.


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

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

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

К сожалению, "сарафанное радио" в наши дни практически не работает, поэтому "свободному" разработчику очень сложно выйти на свою аудиторию.

Свои последние игры Другой Марс и Вахта я пытался "продвигать" доступными мне способами, оставаясь в рамках свободного движения. Что именно я делал?

  • Я попытался оживить нашу группу vk, создавая на стене новости и отчёты о проделанной работе. Также включил кросспостинг в фейсбук.

  • Я публиковал новость о "Вахте" в одной из крупных групп vk (название сейчас не вспомню).

  • Наш старый jabber чат был интегрирован с чатом в Telegram, что в теории сделало наш чат доступней для потенциальных энтузиастов.

  • В канал Telegram (не путать с чатом) я также регулярно постил новости. Не говоря уже о своём twitter.

  • Я опубликовал игры на gamin.me. Здесь и здесь.

  • Я создал страничку на itch.io со своими играми.

  • Я опубликовал новости на linux.org.ru. Одна из новостей -- прошла. Вторую не пропустили из за деятельности троллей, превративших тему обсуждения в религиозный спор. Подробности. И пояснения. Забавно, но похоже "чёрный" пиар дал лучший эффект. Это и грустно и смешно.

  • Я опубликовал новость на opennet.

  • Я писал о некоторых своих играх на reddit (лень искать ссылки).

  • Я опубликовал две статьи на dtf.ru.

  • Я присутствовал в mastodon, idec и zeronet (как примеры "альтернативных" сетей).

Какие выводы я могу сделать?

С одной стороны, результат есть. Я узнал, что у моих игр существует целевая аудитория. И это сильно вдохновило.

С другой стороны, количество поигравших в мои игры, по меркам индустрии, очень мало. Я оцениваю это число в районе 2000 скачек (учитывая тот факт, что статистика web запусков не ведётся). Хотя, откровенно говоря, мне не очень интересна именно статистика. :)

Выкладывание игр на itch -- практически ничего не даёт само по себе. Причина понятна. Для продвижения нужны рекламные показы. Площадки не создаются просто так, площадки зарабатывают. Когда на ресурсе представлены тысячи (или уже десятки тысяч?) игр, заметить конкретную игру практически невозможно.

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

Хороший отклик я получил после размещения публикаций на dtf.ru. Наверное, это самый положительный опыт из всех попыток.

Интересно, но адресный выход на аудиторию "альтернативных" сообществ тоже работает. Последнее наблюдение наводит на интересные размышления.

Когда ты пишешь нишевую с точки зрения "мейнстрима" вещь, выход на нишевые же сообщества, похоже, неплохой вариант! Например, INSTEAD изначально работал только на Linux системах. Какой процент пользователей Linux? 3%? 4%?. Но в абсолютных цифрах это довольно много людей. И,проект, работающий на Linux может рассчитывать быть замеченным этой аудиторией! Какой процент пользователей FreeBSD? 1%? Однако, когда INSTEAD находится в портах этой системы, можно рассчитывать на то, что игры на нём будут замечены! Всё это даёт во много раз больше, чем простая публикация игры на тематическом форуме.

Ещё один пример. Размещение статей в ZeroNet с мизерной аудиторией. Однако, размещение этих же статей в блоге на medium.com осталось абсолютно незамеченным.

Камерный театр в спальном районе Москвы может рассчитывать на маленькую, но свою аудиторию! Школьная рок-группа тоже может на неё рассчитывать. :) Остальные примеры вы можете придумать сами. Думаю, что продвижение свободной игры, это все-таки в первую очередь ориентация на "свои" сообщества. А игра по правилам индустрии -- это совсем другая история. Но только проблема в том, что "альтернативные" сообщества практически вымыты из современного коммерческого интернета...

Что касается меня, то я абсолютно измотан социальным взаимодействием и негативным (редким, но токсичным!) фидбеком. В очередной раз я понимаю: программировать и сочинять истории очень захватывающая вещь, но социальное взаимодействие -- изматывает и подрезает крылья.

Что дальше? Не знаю. Но запасы валерьянки подходят к концу. :)

Небольшой опрос. Я создал несколько постов разной направленности. Если этот блог кто-то читает, что бы вы хотели в нём видеть? Если честно, пока не знаю, буду ли его вести дальше, но пока процесс идёт -- останавливать его не буду. :)


  • Рассуждения общего плана, о творчестве;

  • Рассказы о моих играх;

  • Программерские темы, ядро Linux и так далее;
  • Ретро :).
  • Что то еще?

P.S. Кроме того, увеличил лимиты на комментарии. Вроде бы должно быть все ок.

Мне нравятся игры, которые честно бросают вызов. Нет, речь идет не об играх, в которые нужно погрузиться с головой, чтобы изучить механику или освоить сложный игровой процесс. Сложные симуляторы или RPG с сотней показателей -- не для меня. Речь идёт о простых играх, которые раскрываются по мере роста вашего скилла. Кстати, кто не видел скоростных игроков в Tetris?


Я практически не играю в мейнстрим, поэтому в качестве примера будут приведены игры, о которых вы, вероятно, никогда не слышали. И, думаю, вряд ли будете играть. :) Но их объединяет то, что все они созданы энтузиастами.

Начну с серии игры sqrzx от команды retroguru.

sqrxz_screenshot2.jpg (240x180)

Всего выпущено 4 части. Я полностью прошёл, кажется, три из них. Это ремейк одноимённой игры под DOS (которую я никогда не видел). Игра прекрасна! Трекерная музыка, симпатичная олд-скул графика. Но главное -- убойный игровой процесс! Формально это просто марио-подобный платформер. Бегаем зайцем, собираем звёзды, дёргаем рычаги, избегаем врагов... Но дизайн уровней просто прекрасен! После 100-й смерти ты, наконец, ловишь то самое чувство и летишь, летишь по этому безумному уровню, сжигая за собой мосты. Насколько я помню, первая часть -- довольно простая. Возможно, это именно ремейк игры с DOS. Вторая и третья -- уже намного интересней! По ссылкам есть ролики, которые покажут вам на что похож процесс игры. Рекомендую!

Кроме того, ребята с retroguru сделали ремейк Giana Sisters!

screenshot1.png (640x400)

Ремейк называется Giana Sister's Return и это тоже пример классной качественной работы. Игра пройдена до конца (и неоднократно). Хотя сложной она становится уже ближе к концу.

Следующие две игры будут относиться к жанру многопользовательских игр. Одна из них, похоже, давно забыта. Речь идёт об игре, которая, скорее всего, есть в вашем дистрибутиве Linux. Это xpilot (или её вариация - xpilot-ng).

Xpilotscreen.jpg (1143x921)

Чтобы оценить крутость этой игры, во первых, нужно играть мышкой и во вторых, нужно играть с игроками, которые умеют в неё играть. :) Игра не такая простая, как кажется на первый взгляд. Мастерство "профессиональных" игроков поражает. К сожалению, похоже, что сегодня сервера пустуют. Но можно посмотреть один из роликов на youtube. Обратите внимание, как доставляется зелёный шар на базу. Повторить это игроку без опыта нереально сложно.

А теперь, хорошие новости. В следующую игру вы можете поиграть прямо сейчас, так как она всё ещё жива и активность на серверах присутствует. Игра эта -- armagetron advanced. Кстати, в вашем Linux или BSD она тоже, скорее всего есть. :)

armagetronad_screenshot.png (500x349)

Игра в которой вы на световом мотоцикле из фильма Tron (да по сути, это обычная 3d-змейка!) соревнуетесь с другими игроками в одном из режимов игры. Режимов масса, но самые интересные это Dogfight и Sumo. Очень сложно описывать на что это всё похоже. Можно посмотреть некоторые видео.

Не смотря на внешнюю простоту, это страшный спиномозговик! Один из секретов, double и triple bind. Что это такое? Допустим у вас две кнопки: z влево и x вправо. Уже можно играть. Теперь сделаем двойной бинд: z, a - влево, x, d - вправо. Нажимаем сразу две клавиши a+z. Или с некоторой задержкой, и получаем резкий разворот. Ну - тройной бинд даёт еще большую свободу.

mazing.jpg (854x322)

Так вот, после того как вы освоите эту технику и перестанете умирать в первые 5 секунд матча, вы начинаете обретать новое чувство свободы. Возникают различные варианты стратегий и приёмов борьбы. Свой стиль. Специфичные умения, типа mazing. Когда ты прекрасно ориентируешься в лабиринте стен, созданных другими мотоциклами и способен выжить в любой ситуации.

У игры полно вариаций и режимов, для старта я рекомендую сервер Yellow Submarine. И биндинги: qaz - влево, xdr - вправо. При старте игры нажмите пару раз "c" для выбора удачного ракурса камеры и всё -- можно начинать проигрывать. :)

Все кто занимается творчеством, неизбежно сталкиваются с критикой. Очень часто бывает так, что критика в интернете принимает совсем уж токсичные формы. Если автор раним, это может сильно мешать творческому процессу. Что касается меня, то я всегда воспринимал критику болезненно. Но что хуже всего, я не мог понять мотивов критиков. Если вы, как и я, болезненно реагируете на критические отзывы -- эта статья для вас!


Есть несколько очевидных рассуждений. Во-первых, следует разделять троллей и адекватных людей. Цель тролля, просто вывести вас из себя, устроив провокацию. Против троллей нет оружия кроме игнорирования или ответного троллинга (если у вас полно свободного времени и желания этим заниматься). Но критика троллей не задевает (так как мотивы тролля -- очевидны), поэтому это самый простой случай -- просто игнорируйте.

Отбросив троллей, мы встречаемся с критикой как она есть. Прежде всего отмечу один важный аспект. Если критика задевает, значит она воспринимается вами личностно. То-есть, критика воспринимается как личный выпад против вас. Здесь следует остановиться. Большинство моих знакомых считает это бредом. Критика произведения никак не может распространяться на автора.

Я с этим не согласен и вот почему.

Одна из причин повышенной токсичности общения вообще и критики в частности состоит в том, что в наше время объект творчества это почти всегда товар. Тысячи фильмов, десятки тысяч игр, книг и других видов развлечений. Мир переполнен этим. Сам продукт уходит на второй план, а на первом месте оказываются маркетологи. Ведь их цель становиться более важной -- закоротить продукт (один из многих!) на целевую аудиторию. Без этого, товар никому не нужен. Поэтому сегодня за наше время, внимание и деньги сражаются армии маркетологов. Критика в этом смысле это одновременно и обратная связь для производителя (если фильм не окупается, будет сниматься другой фильм -- который окупится) и наша эмоциональная реакция на "спам". То-есть, токсичность отзывов -- это следствие пресыщения и информационной неврастении в современном капиталистическом обществе.

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

Но в случае с авторскими работами, которые полностью независимы, это не работает! Действительно, единственным критерием авторской работы становится чувство вкуса, вдохновение и мастерство лично автора! И если ваша работа не нравится, то скорее всего критик не заметил в ней того, ради чего вы эту работу создавали. Это могло произойти по разным причинам.

Первая причина. Вы с критиком, как говорится, работаете на разных волнах. В этом случае критика действительно личностная, и это просто прямое столкновение с вашим мировосприятием. Сделать тут ничего нельзя, но понимать -- полезно. Более того, таких столкновений не будет только в одном случае -- если ваше произведение ни о чём. Вариант, когда вы сами не знаете того, о чём писали я не рассматриваю. Очевидно, это не произведение, а графоманство.

Другая причина -- вы настолько неумело сделали работу, что произведения не получилось. Откровенно говоря, я не верю в эту причину, хотя критики часто любят говорить, что критикуют именно исполнение, а не замысел. Даже ребёнок, хотя он рисует и неумело, но от души, вполне способен передать свой внутренний мир. В таком случае взрослый может сказать что-то вроде: "Ух ты! Какой уютный домик на лесной полянке! И небо голубое! А давай я помогу нарисовать тебе зайца?". Мне кажется, если произведение срезонировало, то огрехи реализации выходят на второй план. Конечно, на них нужно указать (и это самый полезный вид критики), но чаще всего я наблюдаю другую картину. Критику не нравится произведение в целом, а потом он начинает перечислять конкретные недостатки реализации, как обоснование своего вердикта.

Подводя итог, болезненность восприятия критики "художником" объясняется тем, что она воспринимается как выпад против его искренности и вкуса.

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

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

Если же вы независимый разработчик и занимаетесь авторским творчеством, то полезно уяснить для себя следующие вещи:

  • Критик не считает, что задевает вас лично. В это сложно поверить, но это так. К сожалению, "художники" часто ранимы, а критики -- рациональны. Критика отзывается в "художнике" очень болезненно и сделать тут ничего нельзя. Но можно просто принять за аксиому -- критик думает что делает хорошо. Более того критики часто считают, что "пробить" автора может только резкая критика. Осознание этих фактов помогает перенести это всё более спокойно;

  • Очевидно, вам хотелось бы быть услышанным максимальным числом людей. Но вы должны честно ответить себе, для чего вы занимаетесь творчеством? Если для того, чтобы понравиться как можно большему числу людей, то вы создаёте "продукт". Тогда просто старайтесь удовлетворить вкус большинства. Но если вы создаёте произведения следуя своему вкусу и чувству прекрасного, то у вас остаётся не очень много вариантов действий. Вы можете либо подчиниться критике и свернуть свою деятельность, либо продолжить делать то, что вы делали!

  • Если вас беспокоит именно резкость критического отзыва в интернете, то задумайтесь о том, что при встрече с критиком в реальной жизни или в личной переписке, скорее всего вы бы общались совершенно нормально! К сожалению, интернет творит "чудеса".

Я много раз думал о том, чтобы просто бросить писать игры, в том числе после негативных отзывов. Но потом делал новые игры. Наверное, адекватное восприятие критики это такой навык, которому невозможно научиться. :)

В заключении этой статейки хочу передать большое спасибо всем тем, кто поддерживает "художников". Без художников мир был бы скучным местом...

Недавно посмотрел ролик на YouTube про игру No Man's Sky. Красивая игра. Одной из особенностей игры является то, что в ней широко применяется процедурная генерация. Примерно, как это было сделано в Elite, в которой генерировались звёздные карты, названия систем и экономика. Только в NMS этот приём выведен на новый технологический уровень. Генерируются формы жизни, поверхности планет и прочее и прочее.

nms.jpg (1280x720)


В Elite игрок был свободен в выборе того, что он делает в мире игры. В NMS мы видим подобное. Искусственный мир без явного задания ограничений действий. Песочница. Успех Minecraft говорит нам, что такого рода игры могут быть популярными. Ещё один пример: Dwarf Fortress. Если честно, ни в одну из упомянутых игр я не играл. Во-первых, я вообще мало играю в современные игры. Во-вторых, я не большой любитель историй, рассказанных компьютером.

Когда речь заходит о сюжетных играх, очень многие высказывают мнение, что нелинейность сюжета -- несомненное достоинство такого рода игр. Для меня это выглядит так, что для этих людей основной ценностью сюжетной игры является вариативность.

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

twine.png (600x290)

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

Наверное, вы сейчас решили что это отличная идея, а я веду к тому, что симуляция в сюжетных играх -- это прекрасно! Должен сознаться, лично я не вижу в этом подходе никакой творческой ценности.

Дело в том, что для меня, в сюжетных играх (как и в литературе, кино, театре) самым важным является не вариативность, а ... сюжет! А сюжет -- это раскрытие смысла! Как время в нашем мире это актуализация нашей свободы воли, так и сюжет игры служит цели раскрытия смысла!

Конечно, если мы играем в гоночную игру, мы вряд ли ожидаем от игры чего-то большего, чем сама гонка. Или, играя в рогалик, мы не ждём от такой игры какого-то осмысленного сюжета. Всё это понятно. Но мы говорим о сюжетных играх!

Я написал только одну нелинейную игру, это "Карантин". В игре мы встречаемся с врагом, которого не знаем заранее. Фактически, это детективная история завёрнутая в стилистику рассказа Джона В. Кэмпбелла «Кто идёт?». Игра внутри себя представляет симулятор. Или, скорее, стратегию. Игра получилась очень сложной и... скучной. Да, есть люди, которым игра очень понравилась. Но для большинства игроков, она становится неинтересной после нескольких "прогонов". Почему? Потому, что сюжет раскрывается после пары прохождений. А потом остаётся только вариативность, стратегия, интеллект... Но никакой художественной ценности...

Правда, в моей игре "Проводник" две концовки. Но это тот случай, когда обе концовки просто усиливают друг друга.

provod.jpg (800x600)

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

Так книга или игра? Попробуйте написать сюжет, смысл которого был бы не в вариативности самой по себе, а в передаче некоторого замысла автора. А теперь, оформите сюжет в виде сотни параграфов с запутанными связями. Это не так то просто! В большинстве случаев, такая разбивка будет служить целям вариативности, но не передачи смысла сюжета. Вариативность, ради неё самой. Итак, жанр книги-игры хорош для развлекательной литературы, но драматическое произведение втиснуть в рамки вариативности -- очень непросто.

Подводя итог. Я считаю, что ценность сюжетной игры именно в смысле, который передаётся через сюжет. В таком случае, излишняя вариативность не помогает, а напротив, мешает. На мой взгляд, сюжетная игра раскрывается именно в своей линейности. А некоторая степень свободы и интерактивности служит другой цели -- погружению в атмосферу игры.

Итак, чтение книг -- это диалог с автором книги. И хорошо, когда автору есть что сказать. Но ведь в песочнице ребёнок играет, как будто, сам с собой? И это -- тоже способ познания, в том числе -- самопознания?

Да, попытка написать игру, в которой сюжет генерировался бы "случайно" и был бы интересен -- сродни написанию симулятора мира, в котором мы живём.

И это всё хорошо работает лишь до тех пор, пока мы не пытаемся симулировать внутренний мир людей. Средуцированный до детерминированного алгоритма герой, не способен сказать нам что-то новое. Сознание -- не алгоритм. (В качестве рекомендации к прочтению: "Новый ум короля" Р. Пенроуза).

Также, есть мнение, что смысл чего-либо рождается субъективно в читателе, а на авторе остаётся только нарратив. Без интерпретации. В таком случае, играя в песочнице, мы наблюдаем создание различных смыслов о которых мы как автор -- не беспокоимся. Читатель (игрок) развлекает себя сам.

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