Как стать автором
Обновить

Гуманитарий с 0 знаний в программировании. 4 часть. Привет и пока, геймдев

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров15K
Всего голосов 15: ↑10 и ↓5+6
Комментарии34

Комментарии 34

ИМХО В гемдев без хорошей матиматической подготовки идти явно не стоит.

Математика ненужна, библиотеки на всё-всё уже написаны. 99% работы рутина, а на 1% уже есть техлид, у которого руки чешутся и нестояк на скушную часть работы.

У вас видимо профдеформация. Среднестатический человек, называющий себя "гуманитарем" знает математику на уровне 5 класса. Некоторые даже процент от числа не могут вычислить. Да и что это будут за игры? С треугольной физикой падения предметов?! Даже чтобы использовать библиотеки нужно понимание. И с учётом колличества джунов на одну вакансию, то просто необходимо знать математику не ниже старших классов.

Может тогда и программирование не нужно - это ведь всего лишь последовательное исполнение инструкций с целью преобразования исходного состояния памяти в результаты. С этим и chatGPT справится.

Вы не поверите, но гуманитарии способны гуглить все нужные формулы, хоть и не совсем понимают их

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

Если не знаешь что гуглить на помощь придет chatgpt

Хотел добавить тег сарказм, но думал что он тут и так явный.

"Программист" это широкий спектр разных задач. Подраздел "геймдев" -- тоже широчайший спектр.

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

Или что, без Master of Arts не соваться в геймдев, потому что из готовых ассетов игра будет выглядеть плохо? Или всё же нормально позвать отдельно дизайнера?

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

Ты навыдумывал там себе что то. Может еще и корочку университета иметь надо?

Библиотеки написаны, да формулы знать не обязательно. Да вот проблемка, для того чтобы их применять нужно понимать смысл этих формул. Представьте вам в руки дали самолёт, вам не нужно понимать физику благодаря какой он летает, вам ненужного даже устройство самолёта знать, и на все что вы хотите уже ест готовые ручки и тумблеры, полетите?

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

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

Зависит от того, куда

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

Для гд математика может быть важна для многих специализаций. Экономика, баланс. Там не рокет сеанс, но все равно ряды считать и экселем пользоваться.

Для писателей, художников это уже не так критично

За достаточные /лет/ работы и выпущенных проектов я так скажу - нет того, что нельзя нагуглить. Байка о том что геймдев это построение матриц, дискретная математика, неевклидова геометрия и так далее - из времен когда не было движков, и аксакалы по старой памяти продолжают реанимировать эту чушь. Я за годы так и не разобрался в Кватернионах, хотя они повсеместно (несмотря на то, что я стыжусь этого - это никак не сказалось на рабочих проектах). Но сразу же дисклеймер - я говорю о том, что необязательно иметь степень, однако разбираться в математике - придется. И на своем примере - это более чем возможно.
Что действительно нужно - так это желание, ибо многие (включая меня) сворачивают с геймдева в веб\любую другую разработку, так как во-первых слишком много телодвижений требует разработка игр, помимо написания кода. Особенно если не дай Бог вы не наемник, а инди. Какая там математика, вам основы маркетинга нужно будет изучать, и как устроены "хэштеги" в каждой из десятков соцсетей и форумов, иначе в ваш высокооптимизированный Data Oriented код просто некому будет играть. Я в начале пути больше времени убивал на продумывание скриншотов для Steam, чем на код.

А во-вторых, скажу за Unity - много палок в колеса. Наличие самого Unity редактора, где располагаются игровые объекты, которые каждый тик редактора сериализуют данные и десериализуют данные в C# экземпляры классов, наследующихся от Component - очень сильно режет привычные концепции, вроде DI. Наличие других сотрудников, работающих только через Editor UI и принцип DRY, который прям в фундаменте Unity с ее префабами, DOTS, Scriptable Object - еще больше палок. Сюда же запишем бэкенд юнити, где GC ЕМНИП до сих пор не выполняет дефрагментацию SOH, ну и знаменитый "фальшивый null".
Многие также считают что высокооптимизированные игры и чистая архитектура - несовместимы, я скажу что это не так, но для того, чтобы продумать хорошую архитектуру, которой еще и геймдизайнер должен в редакторе без единой строчки кода манипулировать - требуется время, которое не каждый работодатель предоставит.

В общем меня занесло, нюансов еще тысяча, но TL:DR - из математики что реально пригодится, так это векторы и тригонометрия. На уровне 10-11 классов, не rocket science.
Но главное требование - как и в абсолютной каждой сфере IT без исключений, это умение гуглить. Документация Unity в связке с закрытым исходным кодом - боль. Кто не согласен - милости прошу разобраться с CustomEditor/PropertyDrawer, которые очень пригодятся тем самым Editor-only людям в штате.
К слову - образования и курсов = 0. Первое лишь дает чувство собственной неполноценности, которое было бы и с докторской степенью, а второе - ИМХО ерунда.

Спасибо Вам за столь развернутый комментарий.

А для чего тебе матан в геймдеве? Он хоть где то нужен в юнити или анриле?

Какая-то смесь претензий к курсам, российскому геймдеву и жизни.

Курсы плохие? Я после этих курсов попал в геймдев, уже 3 года в нем работаю.

Работа сложно ищется? Так сейчас кризис. Для геймдева в России особенно тяжело с работой.

Трёх месяцев не хватило, чтобы попасть в геймдев? Как будто бы три месяца - не слишком долгий срок для овладения новым ремеслом.

Я не имею в виду все курсы, лишь только те, которые на слуху, реклама которых в каждом утюге и в частности IJunior. Мои новые знакомые, с которыми я познакомился за время изучения Unity, рекомендуют Otus, K-syndicate, eccentricgames, я с этими курсами не знаком, поэтому ничего сказать не могу. Также мне понравился Udemy Complete C# Unity Game Developer 2D, и я могу его порекомендовать — он больше практический, но очень хорошо всё объясняется, и самое главное — делаются игры.

Мне было бы интересно прочитать ваш опыт прохождения курсов: какие проходили, как долго, что помогло при поиске работы, что делаете в геймдеве: кодите или что-то другое?

Два месяца самостоятельно пытался учить язык и юнити, после этого пошел на тот самый ЯЮниор, после них пришлось еще месяца 4 самостоятельно доучиваться. Я, кстати, совершенно не помню там заданий, которые не были бы связаны с тем, что обьясняли на лекциях.
На всё про всё ушло где-то месяцев 8. Можно было бы и быстрее, но работа отвлекала.
Но это было в те годы, когда геймдев рос с невероятными темпами, были и стажировки, и куча работы для джунов, геймдев студии открывались чуть ли не каждый день, а издатели готовы были давать деньги просто за идею. Сейчас такого и близко нет, поэтому я бы сказал, что надо с нуля рассчитывать на полтора-два года

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

На мой взгляд, было бы более эффективно ознакомиться на торрентах с материалами и формой подачи у эксцентрика, и потом принять уже решение пойти или нет на обучение туда. Там базовая инфа по юнити, совсем не про архитектуру, но та инфа/базовые знания мне точно пригодились в работе на старте. С учётом фидбеков и возможности поделать домашки, вполне годный курс для человека, который хочет, чтобы его за ручку поводили (не вижу ничего плохого в этом). По стоимости кратно интереснее Iджуниор.

C# я изучал на степике (юнити на тот момент не касался совсем, месяца 4 точно, т.к. в геймдев не собирался изначально). Курсы Иосифа Дзеранова мне показались интересными из-за обилия задачек, в стиле литкода с авто проверками на платформе степик + базовый был бесплатным на тот момент. Возможно, что-то ещё добавилось за 3 года.

Могу сказать так, до трудоустройства я где-то полтора года ковырялся в режиме хобби, после работы и в выходные, что-то писал своё, проходил курсы с юдеми, эксцентрика, синдикатов. Отус был уже в процессе работы. В сентябре 2022 по стечению обстоятельств попал в коммерческую разработку и по воспоминаниям, я не испытал какую фрустрацию от первых тасок: что делать и куда тыкать, не впадая в состояние паники, было понятно что делать, благодаря курсам и какой-никакой практике.

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

Я тут просто пожелаю сил автору и удачи в следующих начинаниях. Спасибо за такой подробный жизненный опыт!

Так почему в итоге забросили геймдев? У Вас ведь даже получалось - вон, и первую игру сделали.

Работу / стажировку найти сложно? Так её в любой области найти непросто, когда нет опыта и за плечами только курсы.

Просто у Вас довольно тернистый путь из 1C, Java, C#, Unity и теперь вот ещё ASP. Не боитесь что с ним будет то же самое?

НЛО прилетело и опубликовало эту надпись здесь

Деньги забрали, структурированной инфы по теме толком не дали, а теперь ещё и работу не найти. Да ещё и таймлайн весь в пару месяцев укладывается судя по меткам. Ну а ASP хотя бы какую-то пользу даст для бэйэндера. Хотя вероятно автор имел ввиду просто дотнет, а не чисто asp.

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

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

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

У меня нет желания сидеть и делать игры для души, у меня есть конкретная цель — найти работу. Иду дальше к работе)

Сразу в геймджем это жестко, работаю 1С-программистом, сделал несколько поделок на юнити, периодически понемногу делаю следующую - до сих пор не уверен что я готов к геймджему, мне кажется это не то событие где можно\удобно что-то изучать. А тут человек я так понял в первый раз видел интерфейс на геймджеме.

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

НЛО прилетело и опубликовало эту надпись здесь

тук-тук

значит, что я тупой и не шарю? Если такой смысл, то это не так

Автору понадобилось 3 месяца и потратить 200 т.р. для того чтобы осознать что

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

НЛО прилетело и опубликовало эту надпись здесь

У меня противоположное мнение насчёт геймджема: без особых знаний Unity получилось сделать кое-что простое за 48 часов, из которых 24 часа ушло на обучение и поиски решений и способы, как это сделать. И всё получилось! Конечно это не что-то сложное, но результатом я осталась довольна) поэтому думаю это лишь ваш опыт, а бывает по-разному и думаю если ставить реалистичные цели на джем - всё можно сделать и кучу курсов для этого не обязательно проходить)

Что сделали то?

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

Какая у вас роль была на геймджеме и что делали? И почему результатом остались довольны?

Заплатил деньги за обучение = проиграл. Если ты из сети не можешь выудить обучалки по проггингу/созданию игр и прочей Интернет лабуды - лучше не идти в IT

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории