Влёт В IT С Двух Ног: Ультимативный Гайд По Эффективному Обучению
Постараюсь ужать многолетний опыт изучения навыков в одну малюсенькую статейку. Расскажу , как на практике освоить набор навыков любого размера, включая все необходимое, чтобы получить первую работу в IT. Объясню пошагово, как создать и придерживаться очень практичного и эффективного индивидуального плана обучения, по которому я сам занимался, в результате чего из полного чайника без диплома и платных курсов за пол года смог влететь в разработку на высококонкурентном рынке с 1000+ откликов на вакансию во времена массовых увольнений сразу в топовую IT‑компанию без связей, накрутки опыта и ментора и даже успешно пройти там испыталку, ведь план обучения позволил накопить багаж полезных знаний.
Правильный план обучения — это 70% получения работы. По этому плану ты сможешь освоить программирование без покупки курсов, то есть стать программистом бесплатно. Да и любой другой скилл или профессию тоже сможешь быстро и бесплатно получить, что сейчас особенно актуально с этим ИИ. Гарантирую, что по этому плану за короткий срок ты добьёшься больших результатов, а это автоматически значит, что потребуется тяжелая работа с твоей стороны. В конце статьи также будет секретный ингредиент, о котором никто не говорит и который может сделать процесс твоего обучения чуть ли не вдвое более эффективным. Ещё я приведу пример реального плана обучения и объясню, почему каждый его пункт настолько логичен, что ты просто не сможешь ему не придерживаться. Цель плана ‑получить максимальный результат при минимальных затратах времени и сил.
Почему вообще нужно составлять план обучения самому? Нельзя что ли чей‑то готовый роудмап найти или курс купить, где план уже есть? Составлять план самому — суперважно, потому что когда ты понимаешь, что и зачем в нём делается и насколько это действительно эффективно, то и придерживаться этого плана становится гораздо проще, так как мотивация просто не пропадает. Да и если что‑то в плане не работает, можно всегда его подкорректировать, это же твой собственный план. Поняв, что работает, а что нет, ты в будущем сможешь создавать эффективные планы для освоения любых навыков, в том числе для выхода в синьеры‑помидоры, т.к. одного волшебного курса по становлению синьером вроде еще никто не запилил. Единственный доступный вариант — самому грамотно выстроить процесс обучения, чтобы результат был максимальным.
Самое простое в создании плана обучения — определить, какие именно навыки нужно приобрести. Для этого можно провести небольшое исследование и посмотреть требования к кандидатам на вакансии твоей будущей специализации. Учти, что учить стоит только то, что так или иначе повышает твой доход. Это значит, что стоит фокусироваться только на необходимых для получения работы знаниях и навыках, отметая все лишнее, в обратном случае будет сложно конкурировать с другими челами. Отметать, нужно, например, ассемблер или внутреннее устройство ОС, которые знать не обязательно и даже вредно. Некоторые говорят, что нужно же знать эту «базу», но объяснить зачем толком не могут. Выбрав необходимые для работы скиллы, нужно понять самое главное — как эффективно учиться. Это будет основой твоего плана обучения. Многим кажется, что они и так умеют учиться, но, если бы все это умели, никто бы не мучился с получением первой работы в IT, так как количество твоих навыков прямо пропорционально шансу получения работы. Основы обучения, о которых пойдет речь, очень практичны и я их сам уже много лет использую:
Практика
Практика — это самое важное. Хорошее соотношение практики и теории при обучении для новичков — 80% на 20%. То есть, если ты посмотрел 8-минутное видео, например, про декораторы в Python, то в IDE надо потом не меньше получаса с ними поиграться. Большинство людей практику скипают, потому что это гораздо сложнее, чем видосы смотреть. В итоге они застревают в так называемом «tutorial hell», то есть смотрят много контента, но на практике ничего сделать не могут, поэтому их навыки не развиваются.
Интервальные повторения
Непонимание интервальных повторений — причина, по которой 95% вкатунов сливаются в первые месяцы. Работает это так: когда ты что‑то учишь впервые,то это запоминается на пару дней. Если тему повторить через 2 дня после изучения, то запомнится она уже на 4 дня. Повторишь еще раз к концу четвертого дня — тема запомнится уже на целых 8 дней. Потом на 16, 32 и так далее. Бытует мнение, что в итоге доходишь до момента, где выученное запоминаешь на вечно, так, что повторять тему больше не надо. Хоть это и кажется нереальным, это действительно так работает, однако тому есть научное объяснение: допустим, ты повторяешь тему в девятый раз и теперь будешь помнить её ещё целый год. Если вовсе перестать ее повторять, то всё равно имеется почти 100% шанс того, что за этот год в работе ты случайно столкнёшься с этой темой и тебе придётся естественным образом достать информацию из мозга, просто чтобы совершить намеченное действие. Таким образом тема повторится сама по себе и еще лучше закрепится в голове. Затем вероятность того, чтобы ты случайно встретишь эту тему в работе за следующие 2 года возрастает еще сильнее и тем самым цикл замыкается, в результате чего ты запоминаешь тему как бы «на вечно»
Вот что происходит с теми, кто не применяет интервальные повторения: Допустим, им нужно выучить 15 ключевых навыков или больших тем для получения работы. Большинство новичков учат первые 9 навыков, потом приступают к 10-му, одновременно забывая первый. Потом учат 11-й, параллельно забывая второй и так далее. Они застревают на 9 из 15 необходимых тем или навыков и несмотря на все усилия, не могут преодолеть этот барьер, ведь скорость забывания слишком высока. Причина в том, что они не используют интервальные повторения. Они учат что‑то один раз и двигаются дальше, поэтому постоянно забывают то, что учили ранее. Но если использовать интервальные повторения и регулярно повторять пройденные темы, то можно выучить бесконечное количество навыков и тем, не забывая их. Самое важное в том, что интервальные повторения буквально гарантируют, что ты найдешь работу, потому что они обеспечивают постоянное расширение твоего набора навыков без его уменьшения. Это продолжается вплоть до момента, когда твой набор навыков достигает критической массы и ты становишься настолько хорош, что твой будущий работодатель уже просто не в состоянии игнорировать тебя (естественно надо еще получить навык поиска работы, но это уже отдельная тема).
Для внедрения интервальных повторений можно использовать карточки Anki. Карточки Anki — это приложение, используемое для обучения и запоминания. На лицевой стороне каждой карточки находится вопрос, на оборотной стороне — ответ. Карточки становятся доступны ровно в тот момент времени, в который это необходимо для наилучшего применения принципа интервальных повторений. Эти же карточки включают в себя и не менее важный принцип — принцип активного вспоминания.
Активное вспоминание
Активное вспоминание сводится к следующему высказыванию: твой мозг запоминает информацию не когда ты её откуда‑то получаешь, а именно когда извлекаешь её из мозга. Если, ты, например, прочтешь эту статью и сразу переключишься на следующую, то будешь что‑то помнить из этой статьи еще в течение примерно одного часа. Но если при прочтении статьи периодически останавливаться и объяснять себе концепции своими словами, то можно будет запомнить чуть ли не 100% информации статьи чуть ли не на целую неделю. Тот же результат можно достичь, если прочитать статью и в конце всю ее себе пересказать. Вот почему во время интервальных повторений необходимо как можно больше фокусироваться на активном вспоминании. Кстати, когда человек выполняет практические задания, это тоже автоматически является формой активного вспоминания, ведь ты работаешь с ранее изученной информацией и это является частью причины того, почему практические упражнения так эффективны.
Ты, наверное, задаешься вопросом, зачем запоминать что‑то, если можно просто использовать ChatGPT для получения быстрого ответа.
Чем больше полезной информации ты усвоишь и запомнишь, тем легче тебе будет понимать ответы ChatGPT и, что самое важное, сохранять эти ответы в краткосрочной памяти в виде части решения задачи, над которой сейчас работаешь. Ты также будешь глубже понимать ответы ChatGPT и даже вспоминать идеи, которые не были упомянуты в ответе.
Учись параллельно
Лучше работать над изучением одних и тех же трех навыков каждый день по часу и сосредотачиваться на них пару недель подряд, чем уделять по 3 часа в день одному навыку в течение нескольких дней и затем переходить к следующему. Это один из важнейших принципов. Я понятия не имею, почему он работает, но не обязательно понимать, как что‑то работает, чтобы это делать и получать ощутимый результат. Попробуй поучиться так и будешь поражен скоростью освоения навыков.
Фокусируйся на основах до полного их освоения
В чем заключается разница между профессионалом и любителем? Профессионал очень хорошо знает основы. Основы служат фундаментом для последующих тем, изучаемых в будущем. Например, чтобы быстрее освоить React, нужно знать JavaScript, и чем лучше ты знаешь этот язык, тем легче будет разобраться в React. Поэтому не торопись и досконально изучи компетенции, служащие основой для других компетенций.
Учись каждый день
После месяца обучения результаты будут намного лучше, если учить предмет по часу каждый день, нежели чем если учить его 7 часов в день раз в неделю. Это банально объясняется принципом работы интервальных повторений.
Начинай каждый день с 10 минут вспоминания того, что учил вчера
Утром, перед началом нового дня, удели 10 минут, чтобы вспомнить все, что учил вчера. Это очень эффективно, так как первое повторение в течение первых 24 часов после изучения темы имеет огромный эффект на запоминание.
Секретный ингредиент
Теперь у тебя есть основные принципы создания плана обучения, но что насчет секретного ингредиента? Хотя все вышеперечисленные пункты идеально подходят для эффективного долгосрочного обучения, если ты стремишься получить работу, твоя цель не в том, чтобы изучить как можно больше всего, а в том, чтобы достичь уровня, где у тебя есть крутые проекты и ты можешь успешно пройти собеседование. В этом случае секретный ингредиент — интенсивность. Например: чтобы достичь такого же уровня навыков в программировании, который тебе нужен для успешного прохождения собеса, ты можешь либо потратить 1000 часов за полгода, либо 1500 часов за год. Заметили разницу? За 1000 часов достигается тот же результат, что и за 1500 часов. Это объясняется принципом работы интервальных повторений: чем больше проходит дней, тем больше времени нужно тратить на интервальные повторения, в обратном случае информация просто забудется. Поэтому если сжать временное окно, в которое ты достигаешь необходимого уровня навыков, скажем, с года до полу года, то таким образом можно значительно уменьшить общее количество часов, необходимых для достижения цели, и, следовательно, работать меньше, получая бОльшие результаты. Теперь ты знаешь, что должен включать твой план обучения.
Пример плана
Давай теперь посмотрим, как может выглядеть такой план на примере реального плана становления python backend разработчиком:
Пример плана изучения python backend
Каждая колонка — это день, а каждая синяя ячейка — это как минимум 1 час сфокусированного базированного на практике обучения. Первый месяц ты параллельно учишь Python, SQL и алгосы (алгосы не в смысле заучки конкретных алгоритмов, а в смысле умения структурно думать и решать логичские задачки кодом, как, например, на codewars). Это то, что создает основу для всего остального, что ты будешь изучать. После этого добавляешь дни для вспоминания изученного, чтобы ничего не забыть. Далее начинаешь создавать проекты с использованием Django и подучивать немного фронтенд‑технологий, чтобы можно было потом показать рекрутеру хороший и красивый проект (хочешь работать беком? Учи фронтенд, чтоб тебя рекрутер не скипнул с твоими уродливыми проектами, понял да). Все это делаешь параллельно, а также учишь git для развития своего GitHub. Фокусируешься на создании проектов с Django до тех пор, пока не найдешь работу. Дополнительно добавляешь дни, в которые будешь повторять, что учил, чтобы ничего не забыть. Затем учишь параллельно Linux, PostgreSQL и Docker, завершая процесс изучением Django Rest Framework, одновременно повторяя все, что учил ранее. Как видишь, этот план включает в себя много практики, интервальных повторений и активного вспоминания. Ты учишь по нескольку предметов параллельно и сначала фокусируешься на основах. Ты учишься каждый день, начиная каждый день с 10 минут повторения того, что выучил вчера, что еще сильнее оптимизирует твое обучение. А занятия как минимум по 4 сфокусированных часа (а лучше — по 10) в день обеспечивают интенсивность, которая в полтора раза сокращает общее количество часов, необходимых на получение всех этих навыков.
Но как понять, какой конкретно курс проходить?
Короткий ответ состоит в том, что можно просто найти бесплатный курс и следовать ему, лично я предпочитаю использовать для этого YouTube. Бесплатные курсы обычно не содержат практических упражнений, являющихся самой важной частью обучения, поэтому упражнения на определенную тему придется отдельно искать в интернете. Или можно даже поступить еще лучше: когда смотришь курс и видишь пример кода, решающего конкретную проблему, попробуй придумать похожий код, решающий аналогичную проблему и поиграться с этим кодом в среде разработки. Это один из самых эффективных способов практики, который мне удалось найти.
Самое важное
Гарантирую, что, прочитав эту статью, ты потратил своё время зря, если не применил к ней вышеупомянутые принципы, так как забудешь все о чем я тут написал. Давай теперь объясню, как применить основные из этих принципов к любой статье или обучающему видео. Возьмем эту статью, например. Если ты проследуешь следующим нескольким шагам в течение следующих 5 минут, то это будут одни из самых полезных 5 минут в твоей жизни. Во‑первых, возьми свой телефон и скачай приложение под названием Anki Cards. Я не спонсирован этим приложением и не имею к нему никакого финансового отношения, поэтому у меня нет ссылки и тебе придется найти его самому. Шаг 2 — Перестань читать и прямо сейчас и попробуй вспомнить все, о чем я говорил. Объясни себе своими словами все, что удается вспомнить (да, прямо сейчас, я жду). Шаг 3. В зависимости от того, что удалось вспомнить, открой приложение Anki и создай несколько карточек об этой статье. Например: что такое интервальные повторения и как их применять? Что такое активное вспоминание? Какое лучшее соотношение между практикой и теорией для начинающих? Шаг 4. Сформируй привычку открывать это приложение время от времени, повторять карточки и добавлять новые о всем важном, что ты изучаешь в программировании. Лично я таким образом не только запомнил всё, что учил, но и ответил на 98% вопросов на своем первом в жизни собеседовании.
Как начать писать документацию в VSCode?
Поговаривают, что в некоторых компаниях сотрудники уже не понимают, что происходит в коде проекта. Де-факто для коллективной работы картография проекта — необходимость, нежели привилегия...
Составление пояснений и комментариев к обширным ИИ-системам — трудоемкая задача, но под небольшие опен-сорс/продакшн проекты есть решение.
AutoDocstring — инструмент, который автоматически создает документацию к коду на основе структуры и комментариев. Экономия времени, согласованность стиля, адекватная читаемость и повышенную точность документации — плюсы этого тула. Выделил нужный блок кода, прожал ctrl+shift+2 — готово.
Просматривать строки документации можно во вкладках, выбирать типы форматов строк, выводить типы параметров через подсказки типов pep484, значения и имена переменных. Внутри поддержка args, kwargs, декораторов, ошибок и типов параметров.
Теперь в утилиту можно добавлять "кастомные" документации. Чтобы использовать собственный шаблон, создайте файл .mustache и укажите путь к нему с помощью конфигурации customTemplatePath.
Сгенерированная документация содержит структурированные описания функций, методов и классов. Однако AutoDocstring не всегда правильно интерпретирует комментарии в коде или не учитывает особенности некоторых языков программирования.
А еще записи могут не соответствовать стандартам или требованиям проекта.
Поэтому редактировать и редактировать. Но для создания костяка описаний инструмент — идеально. AutoDocstring сократит время, затрачиваемое на написание документации, на 30-50%. А еще неплохо так снизит число ошибок в тексте.
Скачать можно с официального сайта Microsoft.
7 фраз, которые нужно выбросить из своего лексикона, если хотите стать отпадным специалистом
Фразы, о которых мы сегодня поговорим, — это база. Только такая, которую знать не следует. Своеобразный парадокс, да, но и тому есть объяснение: это фразы-паразиты, которые только вредят вашему образу в глазах заказчика или работодателя.
Фраза №1 “Это невозможно”
Двоякая фраза. Да, есть люди, которые не слишком в теме развития технологий, и они могут попросить вас, к примеру, создать “Глаз Бога” из “Форсаж 7” — хакерской системы, способной отследить любого в реальном времени. Пока что это возможно лишь гипотетически, но не практически.
Другой случай, если вы говорите “это невозможно” на очень сложную, но реальную задачу. И вы так говорите, потому что вам лень искать решение, а потом ещё и долго работать.
Вместо этой фразы вы можете сказать “Дайте мне время”, а после воспользоваться этим временем, чтобы погуглить, обсудить задачу с коллегами или найти альтернативу.
Фраза №2 "Я не знаю"
А о таких словах нужно вообще забыть в первую очередь, потому что фраза “я не знаю” = “я не хочу”. Не хочу учиться, не хочу вникать в тему, не хочу этим заниматься — много чего. Поэтому запомните: нет фразы “я не знаю”, есть фраза “я не хочу”.
Но если вы действительно не знаете, признайтесь в этом, но скажите следующее:
“Я пока не знаю, как это сделать, но буду разбираться, поэтому дайте мне время”. И, кстати, не забудьте добавить, что вы готовы усердно работать и изучать новые вещи. Это покажет вашу готовность к саморазвитию и росту в профессиональном плане. Быть открытым к обучению и новым знаниям — это не только здорово, но и необходимо для успешной карьеры.
Фраза №3 "Это не моя обязанность"
А вот эта фраза, как красная тряпка для быка, когда речь идет о взаимоотношениях с работодателем или заказчиком. Вместо того чтобы говорить "Это не моя обязанность", лучше проявить инициативу и готовность помочь. Скажите что-то вроде:
"Хорошо, но дайте мне время, и я сделаю все возможное”.
Вообще фраза “дайте мне время” — универсальный ответ для всего. Проверено.
И такой подход покажет вашу ответственность и готовность взять на себя дополнительные задачи, что оценят как работодатели, так и заказчики. Ведь в бизнесе ценится не только выполнение своих прямых обязанностей, но и готовность помогать в решении любых задач для общего успеха.
Фраза №4 "Я сейчас занят"
Эти слова могут показаться не очень учтивыми. Лучше сказать то, что выразит ваше уважение и готовность помочь:
"Сейчас у меня другая задача, но, как только я завершу её, тут же помогу, хорошо?”.
Звучит не только тактично, но и выражает ваш профессионализм.
Фраза №5 "У меня не получается"
Если честно, звучит по-детски. Вы же не тот самый капризный малыш из детсада, у которого не получается сделать поделку из шишек? Вы — взрослый человек, который находится на работе и получает за это деньги. Если у вас что-то не получается, старайтесь, учитесь, пробуйте разные подходы.
Да, придется посидеть, подумать, потратить больше времени, чем обычно… Но вы справитесь. Уверены на 100%.
Фраза №6 "Это не мой стиль"
А вот это странно. Во-первых, потому что звучит как отговорка, а во-вторых, сразу кажется, что вы просто не можете выполнить задачу или соответствовать требованиям.
Вместо того чтобы ссылаться на “ваш стиль”, лучше обсудить, как вы можете адаптироваться или научиться делать что-то новое. Объясните, что предложенный подход кажется не совсем эффективным, но вы готовы рассмотреть альтернативные варианты и найти решение.
Такой ответ покажет вашу гибкость и готовность работать над собой и над достижением общих целей, вместо того чтобы ограничиваться собственными предпочтениями.
Фраза №7 "Это всегда так делалось"
Если вы работаете в разработке, да и не только, то забудьте эту фразу. Ни к чему хорошему она вас не приведет.
Прогресс не стоит на месте. Поэтому то, что “всегда так делалось”, не может продолжать так делаться вечно. Эти слова только подчеркивают консервативный подход, а люди, которые его придерживаются не хотят развиваться и мыслить шире. А это уже “ред флаг”.
Архитектор данных в Полюс Digital, удаленка
Опыт работы: от 3 до 6 лет
Какой опыт ожидают:
Опыт создания безопасного кода, хорошее понимание вопросов ИТ безопасности;
Опыт интеграции с системами SAP и понимание структуры хранения в БД SAP HANA;
Преимуществом будет опыт работы с системами класса Process Mining;
Ведение разработки ETL-процессов для передачи структурированных и слабоструктурированных данных.
Больше вакансий по вашим предпочтениям ищите на сайте Пикабу Работа.
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
Как создать игру, которая будет меняться под каждого игрока? И почему нам не нужно бесконечное количество сюжетных веток?
Когда речь о заходит об игре, в которую можно играть бесконечно, то первым делом вспоминается Sims 3 и Sims 4. Типичный симулятор жизни, который постоянно модернизируется как разработчиками, так и самими игроками в помощью модов.
Но что, если попробовать создать игру в жанре action-adventure с элементами survival horror и стелс-экшена, сюжет которой будет адаптироваться под каждого игрока? И, по сути, быть бесконечным? Возможно ли такое?
В теории, да, но создание такой игры потребует максимально слаженной работы между дизайнерами, разработчиками и специалистами по ML. Для начала, нужно определить основные компоненты, которые сделают игру адаптивной и бесконечной.
Технически, игра должна иметь систему, способную анализировать действия игрока и принимать решения о том, какие события и персонажи будут включены в сюжет. Для этого могут использоваться алгоритмы кластеризации для анализа стилей игры, алгоритмы рекомендаций для выбора событий и персонажей, и алгоритмы управления поведением для создания реалистичных реакций на действия игрока.
Кроме того, игра должна иметь динамическую систему генерации контента, которая может создавать новые задания, уровни и персонажей в реальном времени. И здесь среди первых выступают алгоритмы процедурной генерации контента, потому что они могут создавать разнообразные игровые элементы на основе определенных параметров и правил.
Вроде бы всё понятно, но…
С какими проблемами столкнется команда?
Именно об этом и стоит думать в первую очередь. Проблемы могут быть разные, но вот, к чему точно нужно быть готовым:
Сложность в адаптивности. Нужно создать систему, чтобы каждый игрок чувствовал, что игра адаптирована под него. Например, чтобы события в игре менялись в зависимости от того, как он играет. Это сложно, потому что нужно придумать способ, как игра "понимает" игрока и реагирует на его действия.
Вообще такие подходы развиваются в геймдеве, но вряд ли это экономически выгодно для компаний…
Создание такой игры может быть дорогостоящим и затратным процессом. Компании могут оказаться не готовыми к финансовым рискам, связанным с разработкой инновационных игровых концепций, особенно если нет гарантии коммерческого успеха.
Управление контентом. Игра должна быть интересной и разнообразной для каждого игрока. Но создание большого количества уровней, персонажей и сюжетов требует много работы. Команда должна будет постоянно добавлять новый контент, чтобы игроки не скучали.
В этом плане на первый план выходит процедурная генерация контента. Вопрос в том, как это должно работать, чтобы сам контент получился интересным и логичным…
Процедурная генерация контента — это крутая штука, которая позволяет создавать игровой контент с помощью алгоритмов и компьютерных программ, а не вручную. Это означает, что уровни, миры, персонажи и другие элементы игры могут быть созданы динамически во время игры, а не заранее.
Когда вы играете в игру с процедурной генерацией контента, вы никогда не знаете, что вас ждет.
Разработчики должны создать сложные алгоритмы и системы, чтобы гарантировать, что сгенерированный контент будет интересным и логичным. Они должны учитывать различные аспекты игры, такие как структура уровней, характеристики персонажей и задачи игрока.
А это сложно и неоправданно дорого, потому что всегда найдутся те, кому не понравится ничего.
Да и тестирование такой игры будет сложнее. Потому что каждый игрок может испытать разный игровой опыт. Команда должна будет тестировать игру нереальное количество раз, чтобы убедиться, что все работает правильно для всех игроков.
Возможно ли это? Да, только если у вас в команде очень много людей.
Количество сотрудников, необходимых для тестирования игры за два месяца, зависит от масштаба проекта, его сложности и доступных ресурсов. В среднем, для тестирования игр такого уровня сложности требуется команда из нескольких десятков человек, включая тестировщиков, QA-инженеров, разработчиков и дизайнеров уровней. Кроме того, могут потребоваться менеджеры проекта, аналитики и другие специалисты для координации и анализа работы.
Важно также учитывать, что время, необходимое для тестирования, зависит от объема контента в игре, количества возможных путей прохождения и степени автоматизации тестирования. Чем больше игра и чем больше в ней вариативности, тем больше времени и ресурсов потребуется для тестирования.
Но что, если она бесконечная? Тогда это большая проблема.
Не будем забывать и о том, что игра должна работать на всех устройствах и не тормозить. Потянут ли её домашние компьютеры пользователей, у которых нет доступа к GPU серверам? Вряд ли.
И, наконец, чтобы игра могла адаптироваться к каждому игроку, нужно обучить модели понимать, как играют люди. А это потребует очень высокий порог знаний в области ML и примерно столько же времени, как и создание самой игры.
Но главный вопрос: оправдает ли такая игра всех усилий, что были вложены в её разработку?
Сложно сказать. В конечном итоге, оценка оправданности игры будет зависеть от конкретных результатов ее выхода на рынок, отзывов пользователей и финансовых показателей.