Wild Russian GameDev Mentor
98 subscribers
116 photos
5 videos
60 links
Обучаю созданию игр на Unity и программированию на C#.

Запись на занятия – сообщения канала
Лайвкодинг/игры – twitch.tv/ko1ba5er
Бустануть канал – t.me/boost/WRGDM

Please, be patient, я не умею пользоваться отложкой.
Download Telegram
ТРАНС-ДОЛЖНОСТНОЙ ПЕРЕХОД (ТАИНСТВЕННОЕ ПРЕВРАЩЕНИЕ ТЕСТИРОВЩИКА В РАЗРАБОТЧИКА)

Наслушавшись пугалок👻 про сложность вкатывания в ИТ, некоторые малютки решают выбрать путь🛤 "тестировщик > разработчик" или, не дай Бог😇 "тех.поддержка > тестировщик > разработчик".

📯А что, звучит хайпово

В целом, нельзя сказать, что у такой "стратегии" нет предпосылок: поиск работы – это долго, противно, изматывающе😪. А тут такой лайфхак! Ну как не поддаться🥰?

Ведь действительно, устроиться в QA проще, чем программистом😁, а в ТП – так вообще раз плюнуть💦! И, действительно, внутри компании на тебя работает нетворкинг📇, плюс, ты знаешь продукт🧠, а значит, знаешь, какие скиллы тебе точно нужны, а какие – точно нет🚫.


📯QA тоже работают

Может, для человека снаружи ИТ это не очевидно, однако тестирование – не менее квалифицированный труд, чем программирование👨‍💻. И время, которое ты потратишь на освоение этой дополнительной профессии – это время, которое ты мог бы потратить на борьбу с Путиным👮 обучение программированию📖.


Тестировщик – это не плохой программист, это отдельная специальность🤔. Из общего может быть только база языка👅 для автотестов, но это полторы недели учить💨. Все остальное время ты не то что не приближаешься, а даже отдаляешься от конечной цели🎯.

📯За двумя должностями погонишься – ни одной не поймаешь

Представь себя на месте руководителя💼: у тебя есть хороший тестировщик, который хочет стать плохим программистом🤔. Захочешь ли ты его отпускать🦮?


Но, конечно, если тестировщик не очень хороший💩, если он вместо работы постоянно к разработчикам лезет, или какие-то курсы проходит не по свой специальности⌨️, петы свои делает🏡, тогда другое дело, тогда с радостью такого человека надо отпустить. Только не в другой отдел, а на улицу😑.

Был бы он нужен как программист, его бы уже взяли как программиста🧠. А так он тратит деньги компании на то, что нужно ему, а не компании😏. И став программистом вряд ли изменится🙅‍♂️.


📯Иди работай

По-моему, в сущности, все это напоминает поиск схематоза😏 по быстрому обогащению, и не далеко ушло от формул успешного успеха😏. Секрет же, на самом деле прост: надо на ночь положить под подушку мышь (компьютерную)🖱, покрутиться вокруг себя🤩, сказать трижды в зеркало "я разработчик🫵", а с утра пораньше встать, и идти учиться👩‍🎓. Весь день☀️. Повторять, пока не попадешь на собес😎.

👌 – У тестировщиков не будет работы, пока есть клиент😂
😀 – Я тестировщик, сижу здесь, чтобы подсматривать за программистами👁
Please open Telegram to view this post
VIEW IN TELEGRAM
722💅11
MVP ИЛИ КАК ПОНЯТЬ, ЧТО ТВОЯ ИДЕЯ – ГОВНО

📯Minimum Viable Product

(Минимально Жизнеспособный Продукт) – версия приложения, которая с горем пополам решает одну проблему пользователя🌳. Без красивой анимации, с падающей БД, дешево и сердито🥰. Иными словами, пилотная версия👨‍✈️.


Первое, с чего начинают учебу бизнес-аналитики, продукт овнеры и прочие гады🐍 незаменимые специалисты – не доверяй интуиции🙅‍♂️. Твоя идея может быть бесконечно крутой, но какой в этом смысл, когда это неправда😂? А на кону стоят десятки миллионов🤑 (столько стоит разработать одно качественное, большое приложение).

📯Боль – гипотеза – MVP

Мир разработки состоит из предположений и их проверок: нашел проблему😖, придумал решение💡, проверил на малом бюджете👍, дальше по ситуации🔍. Не помчался брать кредиты на идею, которую в ванной придумал, а сначала убедился, что она сработает👩‍🔬.


📯Я идейный, буду пилить по ночам

Ну что ж, в этом случае.. тебе тоже нужно MVP😐. Ведь ты не хочешь потратить годы жизни на то, что в итоге схлопнется за полмесяца? Надеюсь, не хочешь🤨. Я, конечно, верю в тебя🤞, но история Stardew Valley, которую Эрик Барони пилил🪚 четыре года в одиночестве, на шее у своей девушки🤑, во-первых, уникальна☝️, а во-вторых, не совсем такова, как ее принято преподносить👉.

Конечно, ему отчасти повезло🍀, а отчасти, он создал действительно хороший продукт😎, работая по 10 часов в день😮. Сколько из вас готовы на такой гражданский подвиг🏅? А сколько из вас могут себе позволить четыре года не зарабатывать ни копейки🍽? Правильный ответ: никто.
Да и не было такого, что он свою игру делал в полном одиночестве👎, надеясь на чудо, и вот оно свершилось🤚. Эрик уже через год, имея первые наработки, начал получать огромный положительный отклик👍 с форумов и Steam Greenlight (в 2012 это не было позорное сборище мусора). И только поняв, что он идет верной дорогой🛣, Эрик продолжил работу, держа постоянный контакт с аудиторией📞.


📯Каков хороший MVP?

Итак, рецепт прост:
Берем сперва укропу
1. ✍️ Пишешь диздок (научу в одном из следующих постов). Сюда можешь вписать все свои хотелки, это – план-максимум👁.
2. 🔪 Вырезаешь все, чего не увидят 100% пользователей. Не 50%, не 80%, даже не 99.9%😶. Здесь ты должен оставить только необходимые функции, то, без чего приложение не состоится🏚. Крутой побочный квест туда не относится, основной сюжетный квест туда не относится, механика рыбалки, прости Господи, туда не относится (кроме как если это игра про рыбалку🎣)!
3. 📢 Рассказываешь о себе миру. Тут ты ищешь первые 50-100 человек, которые будут твоими пользователями👾. Для игр это может быть🫙 джем или донат/просьба стримеру📱. Например, xkoster каждую субботу проводит стрим с разбором игр подписчиков😮.
4. 💬 Внимательно записываешь в блокнотик мнение людей. Что не так, почему не так, как исправить, и все остальное👁. Ты же хочешь успешный успех, а не игру, в которую поиграешь только ты😎.
5. 🚪 Бросаешь проект, если он провалился. Если нет, продолжаешь разработку🚶‍♀️ и активно коммуницируешь со своим новым микрокомьюнити, ищешь издателя⌨️.
6. 💰 Выбираешь цвет Ламбы.

📯ИИ-бонус

Вот здесь выходят вайб-кодеры и говорят🙊: "Хмм, сделать говно, выполняющее кое-как свою основную функцию, но очень дешево и очень быстро💩? Это мы можем💩!" И будут правы, чего скрывать😱.


Но настоящим программистам бояться нечего😮‍💨: после успешного запуска такого приложения🚀, оно уничтожается🗑, и разработка начинается с начала👈, потому что поддерживать это нереально🔞.

👌 – Ну это же MVP
🤡 – Подождите, то есть после MVP надо делать нормально??!!
Please open Telegram to view this post
VIEW IN TELEGRAM
551🤝1💅11
На следующей неделе два поста, как в старые добрые🥳. Так что поставьте лайк на прошлый пост, и на позапрошлый, они заслуживают большего🫵. А если хотите, чтобы я и дальше оставался безработным, то распространяйте посты среди своих одноклассников📢.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉2💅2
СТАТИЧЕСКИЙ КЛАСС

📯Static

– ключевое слово, которое можно применять к типам и их членам, чтобы сделать их статичными😧.


Итак, по порядку:
📯Члены типов

Добавление static перед членом класса означает, что этот член не принадлежит больше каждому экземпляру класса, но принадлежит самому классу😐. И обращаться к такому типу нужно теперь по имени и отчеству класса(👍).


Например:
Proletarian.Property = "World";

Вместо:
Vasya.Property = "Bed in barrack and balanda";


А вот вам хрестоматийный пример с ID:
public class Employee
{
public readonly int id;
private static int idCounter;

public Employee()
{
id = ++idCounter;
}

public static void PrintId()
{
//Нельзя, потому что непонятно, чей id:
//Console.WriteLine("Id: " + id);
Console.WriteLine("Emps counted: " + idCounter);
}
}

Почти такой же есть в официальной документации Microsoft🤖, только мой написан (или, хотя бы, проверен) настоящим человеком🤦‍♂️.

📯Типы

Тут все просто, в статическом классе могут быть только статические члены👍. А еще, его нельзя создать экземпляр👶.
Все👍.


📯Плюсы, минусы, подводные камни

Итак, дети, для того, чтобы получить статический⚡️ класс, нам нужно взять свою эбонитовую палочку😉, и потереть ею о микросервисную архитектуру😏. Потом, не вытирая, об unit-тесты и многопоточность😓.

Видишь ли, никак не получится вытащить🖐 этот статический класс и зависящие от него в отдельный модуль🥚, а значит, как ни старайся, будешь писать монолит💍.


И тем не менее, статические классы быстрее и удобнее в разработке🏎 (но не в поддержке), так что иногда не так уж и страшно написать говнокод💩.
К тому же, в отличие от целых классов🙂, статические свойства и методы могут обеспечить удобный глобальный доступ🌐 к определенным модулям программы.

А подробнее о том, как не кринжово использовать статику мы поговорим в следующей статье⬇️

😭 – грустить трагически
🩼 – написать класс статический
Please open Telegram to view this post
VIEW IN TELEGRAM
103🔥2💅1
Wild Russian GameDev Mentor
ГАЙД ПО РЕАКЦИЯМ Товарищи! Для того, чтобы вы могли точнее выразить свое впечатление от статьи, добавил еще больше кастомных реакций, даже пришлось запариться с созданием собственного пака. И, так как они все имеют неочевидное для обывателя назначение, в…
Господа, а я вам напоминаю, предложенные реакции в конце статей существуют не для ознакомления, а для активного применения🚬. Я, конечно, ценю ваши сердечки и огонечки, но когда их больше, чем официальных реакций, это наводит на мысли (о вас 🫵(плохие👎)). Не заставляйте переходить к крайним мерам👊.

🗿 – 1984
🤡 – 1984
😐 – 1984
😭 – 1984

🩼 – 1984
Please open Telegram to view this post
VIEW IN TELEGRAM
😭5🔥2222🌭1🤓11
SINGLETON – ПАТТЕРН, О КОТОРОМ НЕЛЬЗЯ РАССКАЗЫВАТЬ НА СОБЕСЕДОВАНИИ

📯Singleton

– паттерн, гарантирующий, что в программе будет лишь один экземпляр этого класса🥇.


Стоит заметить, что в определении присутствует слово "экземпляр"📖, так что сделать такой класс статическим не получится🙅‍♂️.

А вот простейший пример:
public class Singleton
{
private Singleton() { }

private static readonly Singleton instance = new Singleton();

public static Singleton Instance
=> instance;
}


Здесь мы приватим конструктор, чтобы никто другой его не использовал🔓, а затем создаем свойство instance для доступа к нашему экземпляру👉.


📯Плюсы

Использовать Singleton мы можем, когда нам нужен статический класс⚡️ (для вещей, которых должно быть только одна: чтение/запись в файлы, общение с БД, настройки, глобальные переменные и др.➡️), но нам не подходит статический класс⚡️. Например, хочется использовать наследование🤰, безопасную многопоточность, и всякое другое⚙️.

К тому же, для статического класса иметь состояние (хранить данные🛍️) считается жутко неприличным🤢. Синглтону же чуть-чуть можно😉.


📯Минусы

Да, в целом, такие же, как и у статического класса:
Видишь ли, никак не получится вытащить🖐 этот статический класс и зависящие от него в отдельный модуль🥚, а значит, как ни старайся, будешь писать монолит💍.


И, несмотря на то, что многих недостатков статического класса синглтон лишен, главный все же остается😱. К тому же, в редких случаях, когда полностью оправдано использовать статику⚡️ – для хранения констант, например – синглтон оказывается перегружен🤔.

📯Подводные камни

Хотя Синглтон в том или ином виде применяется повсеместно, все его ненавидят😡. Ни один разработчик не может создать приложение без него🤬 (читай: "разработать настоящую микросервисную архитектуру"). По крайней мере, за адекватное время. И это их бесит😡.

Синглтон – это знак их беспомощности😩.
Синглтон – это ложка горькой правды🥄 в их медовом мирке Clean Code`а🍯.
Синглтон – это кричащее напоминание😱 о том, кто они на самом деле – очень дорогие пиздаболы💰.

Но нам придется притвориться, что мы этого не знаем🤫. Ведь иначе они очень расстроятся и, возможно, даже заплачут😭. А если и нет, в любом случае обидятся и работу не дадут.

😎 – Паттерн сигма, как и я
😭 – Надеюсь, он не плачет по ночам, как и я
Please open Telegram to view this post
VIEW IN TELEGRAM
😎4💅22😭11
СЛОИ ИРОНИИ В ТВОЕЙ ПРОГРАММЕ

Современные программы большие🐋, они состоят из тысяч строк кода📖. Однако сконцентрированное, внимательное осмысление информации👁 может производиться человеческим мозгом🧠 в очень небольшом объеме🤏. Это не относится к поколению Альфа с их ТикТок-мышлением📱, это относится ко всем🫵. Как же вообще существует ИТ-индустрия🫥?

📯Разделяй и властвуй

Я много писал про модульность кода🧱 – это разделение по горизонтали. Но есть еще и разделение по вертикали🔼. Иными словами это называется введением слоев абстракции👻.

К одному уровню/слою абстракции относятся куски кода, одинаково близкие к железу👩‍💻. Мы не можем одновременно учить ребенка ходить🚶‍♀️ и рассказывать ему же, как пройти на площадь Ленина😐.


То есть, когда я хочу заспавнить скелета☠️, я не хочу разбираться, в какую коллекцию его положить📦 для более эффективной работы с данными.

📯А как?

Необходимый минимум – это два слоя👍, один с пиками, а другой... в верхнем⬆️ мы описываем логику работы программы, как ее представляет пользователь🤪 или ГеймДизайнер👨‍🎨:

if (ButtonPressed(Space))
Jump();

– И все! Как делать этот Jump() мы здесь не знаем и знать не хотим🙅‍♂️.

На последующих уровнях идет детализация, мы можем разбить💔 Jump() на еще несколько уровней🎚, если это требуется, например, работа с физикой🎳 и работа физики💫. В первом мы говорим "пнуть вверх с силой X"👊, а во втором – что означает пнуть, куда это "вверх", и в чем сила(, брат)🤔.

Работая с крупными движками📱, мы обычно один или даже несколько нижних слоев абстракции берем оттуда🤲, однако:
1) Мы можем туда влезть🔧, если нам что-то не подходит и прям очень скучно на работе🥱,
2) Нам все равно полезно знать😎, как оно устроено в целях оптимизации💨.


📯Организация

Разделение на слои абстракции носит весьма умозрительный характер💡. Идеально будет, если вы раскидаете их по разным классам🙂, минимум – разные методы внутри одного класса👍.

📯Не впадайте в крайности

Конечно, разные слои не должны быть совершенно оторваны друг от друга😋, и мы все равно смутно думаем о том, что будет потом😐. При том, думаем снизу вверх🔝: конкретика зависит от абстракции.


👌 – А я абстрагировался от построения архитектуры
🤡 – А админ абстрагировался от расписания постов
Please open Telegram to view this post
VIEW IN TELEGRAM
6321
Товарищи, уже придумали планы на выходные🗓?
Отменяйте, ведь завтра начинается Ludum Dare – самый базированный джем в мире!
И я участвую!
📱 В прямом эфире! 📱

Суббота и воскресенье примерно в 12:00-20:00,
в понедельник – как получится.


Со мной будет еще неопределенное количество художников👨‍🎨 (от двух до трех, пока не ясно), так что игра получится не только лучшая, но еще и красивая💩.

На призовые места мы не рассчитываем👍, но уверены, что получится хорошо провести время, так что приходите💃!

З.Ы. А если есть кто-то с музыкальным талантом или с талантом искать бесплатные SFX в интернете, отпишитесь в сообщения канала – вы нам нужны.
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2
Стрим задержался по техническим причинам, но уже начался!

📱 Заходите! 📱
Please open Telegram to view this post
VIEW IN TELEGRAM
😎3🍾1👾11
Широкий Ludum Dare 58 идет
5
Кстати, сегодня день учителя, и у вас есть уникальная возможность меня поздравить, прямо на стриме ;)

📱 А он уже начался! 📱

Второй день джема, продолжаем делать игру на тему Collector.
Please open Telegram to view this post
VIEW IN TELEGRAM
4🤓1
До конца джема 24 минуты, прошлый билд собирался 20 минут. Верим? 🥰
Please open Telegram to view this post
VIEW IN TELEGRAM
🕊42💅1
https://ldjam.com/events/ludum-dare/58/$418639

Куча эмоций, но нет сил, чтобы их выразить. Завтра (в смысле, сегодня) вечером стрим с BO3bMAK`ом, будем показывать свою и оценивать чужие игры, не пропустите!
🍾6🎉2🫡1
Да-да, опять просрочил понедельничный пост, но ребят...
Во-первых, у меня отпуск после джема: я болел + работал + чет не хотелось.
Во-вторых, вы че угараете, там Алдуин вернулся, хочет пожрать весь мир, не до постов сейчас. Кстати, оцените жену:
44111
ИИ-СЛОП ОБРУШИТ МИРОВУЮ ЭКОНОМИКУ ЧЕРЕЗ 2-3 ГОДА. ЭТО НЕ УЧЕБНАЯ ТРЕВОГА. МЫ ОБРЕЧЕНЫ.

📯Начало конца

Вы наверняка слышали, что крупные компании с 22-23гг.:
1. Массово заменяют низкоуровневых программистов нейросетями🤖;
2. Ловят критические баги и неподдерживаемость кода💔;
3. Паникуют и пытаются вернуть все назад😱.

И, вроде бы, у крохомягких (Microsoft📱) бабла куры не клюют🐥, они могут позволить себе такие "досадные оплошности"👌. Мы же – только получили материал для гэгов😂. Все хорошо закончилось🥺?

📯А вот и нет!

Главный закон IT-рынка – все, что делает БигТех, будет неумело скопировано всеми🔨. Малый и средний бизнес распробовал вкус написания кода т.н. промпт-инженерами😋, ведь это дешево и быстро, а качество... А с точки зрения бизнеса качество, на самом деле, такое же🟰. Что ручной, что нейросетевой, код выполняет ±80% задач, которые перед ним поставлены💼. Разница лишь в том, что у ИИ-кода сломанные 20% выбираются случайно🎲. Однако бизнес не видит (или не хочет видеть)🙈, что недостающие 20% задач ручного кода можно будет доделать потом, за деньги🤑, но как ты ни пинай нейронку👊, ее процент ошибок уменьшится лишь немного (а часто он, наоборот, возрастает)🙅‍♂️.

И я, как репетитор, вижу смену запроса с "научить пользоваться ИИ"🤩 на "починить код, написанный ИИ"😰. Хотя этот сдвиг пока не массовый, будьте уверены, скоро станет🥂.

📯Уроборос

Иван Иваныч, тем временем, будет все больше тупеть и ловить артефакты🤪. Вот, казалось бы, пока что качество работы ИИ становилось только лучше, недавно даже научились рисовать правильное количество пальцев☝️.
Все правда. Но скоро это закончится🤬.

Ведь до сих пор нейросети обучались на коде, написанном людьми👨‍🦰. Теперь же миллионы мелких бизнесов на серьезных щах🍜 нанимают вайб-кодеров, генерирующих тонны контента🚛, быстро заполняющего все сферы общественной жизни💦. Естественно, маркировать его никто не будет.


И да, не весь ручной код лучше иишницы. Поверьте, я повидал многое🚬. Но даже по средним значениям мы пока выигрываем✌️.

Видите ли, у человеческого кода есть ульта⚡️. Он может быть багованный, кривой, неоптимизированный🩼, но в нем есть самое главное – цель написания🎯. LLM же выдает код, похожий на то, что он уже видел🔭.


И в ситуации с  все возрастающей обратной связью🔗, мы делаем случайные артефакты статистически значимыми🧐. Значит, они будут становиться системой, встречаясь все чаще, и в один момент не останется ни одной программы, которая не моргает экраном☠️ при попытке сменить раскладку на хорватский🇭🇷. И к тому времени не останется никого, кто мог бы это исправить🔍. Так что придется это просто принять🚬. Извините, хорваты🙏.

📯Джуны – ⚡️ В С Ё ⚡️

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

Ни в одно массовое сокращение не было иначе, ведь джуны – по сути, расходник📦. Они еще не обладают компетенциями в конкретном проекте, плюс их всегда можно набрать с рынка💸 (еще и дешевле, ведь сокращение, напоминаю, массовое). К тому же, ИИ как раз их работу и забирает🖐.


А если не будет джунов, то откуда появятся мидлы - те специалисты которые могут вникнуть в эту билиберду и починить🤔?

И вот мы здесь: ИИ выдает исключительно пятикратно переваренный кал🌀, а толковых программистов по пальцам пересчитать🤙.

И ТУТ СВЕРХУ ПАДАЕТ АСТЕРОИД АПОФИС, СМЕРТЬ ГРОБ КЛАДБИЩЕ ПИДОР💀!!!!!
Please open Telegram to view this post
VIEW IN TELEGRAM
3😭221
📯Колесо Сансары дало нам всем в рот

Мода циклична, каждые 5-7 лет появляются новые хайповые профессии🤩, которые закрывают старые профессии🔒. Так юристы закрыли заводчан, программисты закрыли юристов, зеро-кодеры закрыли программистов, промпт-инженеры закрыли всех: художников, копирайтеров, программистов, юристов🔫.

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

Проблема заключается в том, что люди, которые искренне хотят работать по затронутой профессии💻, в это время чудовищ👹 получают по носу, регулярно и сильно👊. 7-10 лет кризиса в профессии для мира ничего не значат, но для вчерашнего студента, который в свои лучшие годы тщетно бомбит hh.ru это настоящая трагедия💻.


📯Ничто не исчезает бесследно

Профессии не умирают, профессии ритуализируются🕯. У нас по сей день существуют и конюхи, и кузнецы, и сокольничьи, и, прости Господи, шаманы🎸.

Какие-то вещи просто нельзя повторить на заводе🏭 в должном качестве, какие-то нужны исключительно для понтов💍. Наклейка "сделано вручную" кратно увеличивает цену продукта📈, даже если качество по всем параметрам хуже💩. Но чаще, все-таки, качество лучше благодаря индивидуальном подходу. Заводы забирают рутинную работу и оставляют только вкусные не типичные заказы.

😭 – Мне не достанется работы
👌– Мне не достанется работы
Please open Telegram to view this post
VIEW IN TELEGRAM
8😭3211
Wild Russian GameDev Mentor
ЦЕНЫ И СКИДКИ Стандартное занятие – 2 000₽/час Лабораторные/курсовые – индивидуально, скорее всего, нет Пробное занятие – бесплатно, 30 минут "Приведи друга" – скидка 20% на ВСЕ занятия каждому ПОЖИЗНЕННО По любым вопросам пишите в сообщения канала :) …
Но, конечно, пост выше не коснется тех, кто запишется на занятия в октябре по скидке 15%
Пишите промокод "И ВОССТАЛИ МАШИНЫ ИЗ ПЕПЛА ЯДЕРНОГО ОГНЯ" или пересылайте этот пост при записи💌
А если сомневаетесь – записывайтесь на бесплатное (free (без денег)) пробное занятие, разберем вашу ситуацию и составим план обучения✍️
Писать в ДМ канала👀
Please open Telegram to view this post
VIEW IN TELEGRAM
331
Отмечайтесь⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥71
КАК СДЕЛАТЬ ИГРУ, И ПРОДАВАТЬ ЕЕ 14 ЛЕТ #1

Играю, значит, в Скайрим, вырезаю себе спокойно драугров💀 и драконов🐉, и тут вспоминаю: "блин блинский, мне же статью запостить вчера надо было😳!" Вот и задумался, как такая старушка, до сих пор на плаву🏊‍♂️. Дело точно не в геймплее, устаревшем еще до выхода игры, не в визуале и не в музыке🏎. Но есть что-то, что дает каждому игроку ощущение собственного удивительного приключения🪄, и одновременно, общности с гигантской фанбазой🍿. Вот об этом и будет новый цикл статей, начинающийся сегодня🎉!

Оглавление:
• Ненадежный рассказчик 📍
• Повествование через окружение
(скоро будет)
• Ну все, дальше лень думать, я пошел в Скайрим играть. Позже дополню.


⚠️АЛЯРМ! Все упомянутые игры и иные произведения будут проспойлерены с различной степенью бессовестности. Вдруг 15-летние игры кто-то не прошел.⚠️

📯Че, серьезно? Да, серьезно! А ты не верил?

Этому литературному приему много десятков лет👵, и заключается он в том, что
– автор нарушает негласный договор с читателем о последовательности, объективности и правдивости повествования🤥.


Причина может быть двух типов:
1. "Психологическая особенность" рассказчика💊: детский возраст как в Убить пересмешника или в Над пропастью во ржи, болезнь как в Записках сумасшедшего или травма как в Жизнь Пи.
2. Намеренное искажение информации🤥: тут рассказчик врет, и знает, что он врет, как барон Мюнхгаузен.

При этом, в отличие от обычной лжи, для "приема" необходимо явное или неявное раскрытие обмана📖 (впрочем, правду говорить уже не обязательно😉). Например, как у Заточки в Кандидате от Народа или в Кошмаре у BRB. В конце обоих песен мы узнаем, что все события – сон протагониста😴. Или как в Улете у Оксимирона.


Идеальным примером будет Песнь Льда и Пламени🔥 (или, если вы как и я, не умеете читать, то Игра Престолов📺), полностью построенная на этом приеме🏗. Мало того, что все произведение базируется на столкновении разных, очень предвзятых точек зрения👀, так еще и на некоторые вопросы нам дают однозначный ответ: "А черт его знает"🤷‍♂️. Может, это молитва Красному Богу вернула к жизни Джона, а может, ведьма наколдовала, а может, у него сюжетная броня, и все тут😕.

Преимущество приема в придании дополнительной глубины🕳, в ощущении, что все известное – это лишь верхушка айсберга👽. Но и сложность в том, что надо придумать не просто большой сложный лор, а большой, сложный, двухслойный лор🤔. Да, мы вставили тебе лор в лор, чтобы ты мог изучать лор, пока изучаешь лор🔧.


📯Ага, то есть, можно просто соврать зрителю, а потом признаться?

Отнюдь🙅‍♂️. Красивый эффект получается, когда мы раскрытием обмана не отвергаем прошлую информацию, а дополняем ее.


Для того, чтобы это сработало нам нужны две вещи:
1. Не сломать ложь🥂: важно, чтобы старая информация органично встраивалась в новую😳. В Матрице нет вау-эффекта, когда оказывается, что мир – симуляция, потому что прошлый мир ничего не значит в новом контексте🗑.
2. Раскидать зацепки🎣: читатель (зритель, игрок) неизбежно будет просматривать весь прошлый сюжет и примерять, как он подходит к новым вводным🥶. И вот тут-то мы ловким движением руки подсовываем🤚 в его воспоминания "крючки" – события, которые странновато смотрелись в прошлом контексте, но теперь "пазл сошелся"🧩. Тогда он получит удовлетворение и закроет для себя этот вопрос😌.

Простое "сказка – ложь, да в ней намек😉" не сыграет, потому что это метатекст – текст об основном тексте, не являющийся неотъемлемой частью основного текста😛. Ненадежный рассказчик же должен быть частью основного сюжета, его действующим лицом🫡.
Please open Telegram to view this post
VIEW IN TELEGRAM
📯А какой рассказчик в игре?

Ну понятно, это литература📚, но какой рассказчик в играх🎮? На этот вопрос нам поможет ответить Гладос из Portal🎮.

В начале игры она встречает нас как персонаж-проводник👆 – направляет, дает подсказки и, в целом, выступает в роли голоса автора🗣. Такие персонажи-функции не должны врать, потому что воспринимаются как замаскированный рассказчик🎭. По ходу игры нам открывается, что Гладос, на самом деле – антагонист😈, что у нее своя мотивация, и свои цели😡.


Таким же персонажем-функцией является Катерина из Genshin Impact – секретарь Гильдии искателей приключений🤤. Когда мы, по мере продвижения по миру, встречаем ее в разных городах🏙, Катерина отвечает что-то туманное про сестер и связь между ними📞. С дальнейшим продвижением нам открывается маленькими кусочками🧩 информация про ее связь с божественными сущностями этого мира👼. То же относится и к Паймон😇 – нашему вечному компаньону, однако она ближе к Гладос, которую мы обсуждали выше🔝.


Искомый нами обман заключается в том, что вышеупомянутые функии и игровые условности⚙️ оказываются действующими лицами⚔️.

Второй аспект рассказчика, кроме его аватаров в виде персонажей-функций – это сама игра: ее интерфейс и нарратив💻.

Во-первых, некоторые квесты в различных играх выдаются в журнал в виде "Сделать Х", хотя его можно завершить и другим путем➡️. Например, убить NPC, который его выдал😂. Например, квест вступления в Темное Братство в TES V: Skyrim. Квест говорит нам, что нужно убить одного из пленников, угадав, кто из них был заказан🔪. Однако убить можно любого, да хоть всех сразу🔪 – квест завершится успехом, и Астрид скажет, что мы молодец, ведь нам сказали убить, и мы убили🔪. В Ведьмаке также результат некоторых заданий зависит от последовательности их выполнения🗳.


Во-вторых, опять Skyrim🎮. Начальная непропусукаемая катсцена в телеге📱 нужна не только для того, чтобы выбесить игроков😡, но и для того, чтобы посадить нас в одну лодку🚣 (повозку) с Братьями Бури, которых несправедливо казнят без суда и следствия➰️ (мятежников и военных преступников, ага). Далее мы бежим по горящему городу вместе с ними🏃‍♀️. И когда, наконец, нам дают выбор, бежать дальше с ними или с имперцами, Братья Бури даже стоят ближе😮! [Помните то самое нацистское голосование, где и (нет)? Вот это оно.] В конце концов, после совместного путешествия через катакомбы🚇, мы выбираемся на поверхность абсолютно предвзятые😙, хотя по сути конфликта мы не узнали ни одного слова, ни даже полслова0️⃣!


Это все заставляет игрока вдумываться в игру🤔, обращать внимание на детали🤔, а не просто бежать за квестовым маркером🤔.

📯Стена

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

Все вы видели его в Дедпуле, Джее и Молчаливом Бобе, Похождениях императора [Куско], Doki Doki Literature Club! и Бесконечном лете, да везде👁!

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


🤡 – Админ, а ты сам-то надежный рассказчик??!
😭 – А кому сейчас вообще можно верить, если не разработчикам игр?
Please open Telegram to view this post
VIEW IN TELEGRAM
6😭3