LINUX.ORG.RU
ФорумTalks

Путь к разработке игр

 , , ,


0

2

Моя знакомая хочет стать разработчиком игр/программистом, и она попросила учебные материалы, но я не хочу торопиться и предлагать книги или видео на youtube, и вместо этого я хочу спросить здесь тех, кто этим зарабатывает на жизнь.

Каков был ваш путь к разработке игр? Я знаю, что многие люди являются самоучками, но как именно вы стали разработчиком игр? Что бы вы посоветовали для начала?

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

Если мы говорим, скажем, об Android или iOS, то это Java и Objective C? Или мир давно ушел вперед?

Является ли C++ хорошим первым языком для начала изучения или это излишество и нужно начинать с чего-то более примитивного, например, C или JavaScript?

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

Выясни каких именно игр, от этого кардинальным образом будет зависеть и язык. Если для десктопа то C++, Java, C# и иногда C. Если для браузера то Javascript.

Является ли C++ хорошим первым языком для начала изучения или это излишество и нужно начинать с чего-то более примитивного, например, C или JavaScript?

Какое-то дурацкое противопоставление. Нет, С++ для начала не очень хороший. Лучше начинать с C, т.к. иначе за ООП потеряется понимание того как работают программы. Javascript - испортит всё ещё хуже, и, в отличие от C++, не даст взамен ничего полезного.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

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

А так пусть сначала мод к готовой игре сделает (любой мод к любой игре, да хоть просто текстурку поменяет уже будут знания) просто потыкать, а потом Love2D + lua + https://eligovision.ru/media/upload/lua.pdf + wiki дальше сама упрётся в Сишку и отрастит бороду

Инди разработка это когда из любого говна и палок что сумеешь найти ты делаешь игру. :D Игры настолько разнообразные что даже сказать ничего не могу одни простые как палка, другие по сложности напоминают целую операционную систему. Или Godot например пусть берёт и учит, ей нужен инструмент с @GREAT-DNG её познакомь, авось на свадьбе годошников потом погуляем

P.S. Я сделал 0 игр. =)

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)

У Вылдродня спроси, тот точно знает.

slyjoeh ★★★
()

Является ли C++ хорошим первым языком для начала изучения или это излишество и нужно начинать с чего-то более примитивного, например, C или JavaScript

Для старта в разработке игорей ? да ну нах С/С++ и прочие JS..

Максимум Lua, а то и просто галочек в конструкторах понатыкать :-) Для старта не надо упарываться в ЯП, надо изучать тематику.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Если прям с нулёвого нуля можно с визуальных конструкторов начать. Или с модификаций других игр. Банально чтобы не шарахаться от терминологии.

LINUX-ORG-RU ★★★★★
()

Не уверен, что на ЛОРе есть коммерчески успешные инди-разрабы или программисты из ААА, АА, А или хоты бы а игровых студий, а ваша знакомая хочет стать именно профессионалом и войти в индустрию, советы от любителей-нонеймов ей не помогут, даже не читайте их, они введут её в заблуждение и направят по ложному пути. Вам надо на другой сайт, целиком посвященный разработке игр типа геймдев.ру, геймдев.нет, геймдев.стакэксчэндж, еще посмотрите AMA с какого-нибудь реддит/геймдев или в ютубе интервью с разработчиками из игровых студий, интервьюеры такие же и задают вопросы, что вы задали.

mydibyje ★★★
()
Последнее исправление: mydibyje (всего исправлений: 1)

Если мы говорим, скажем, об Android или iOS, то это Java и Objective C?

Вся хипстота давно сидит на kotlin и swift соответственно. И их можно понять, т.к. ни Java ни Obj-C для мобильных систем не годились изначально.

quwy
()

Для начала нужно определиться чем именно она хочет заниматься. Разработка игр и разработка игровых движков - это очень разные сферы.

Если речь идет о движках - то, ИМХО, начинать нужно с C. Как минимум, познает азы работы компа на низком уровне. Если хватит терпения все освоить то подниматься уровнем выше: C++ и иже с ними.

iron ★★★★★
()

Учить Unity3D+C#, параллельно повторять видеоуроки от самих разрабов Unity3D чтобы собственно учить Unity3D.

fox_mulder
()

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

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Она знает английский отлично - другой вопрос, что про удалёнку у game dev студий я не слышал.

Может, как вариант, это будет способ уехать на ПМЖ туда.

tempuser003
() автор топика
Ответ на: комментарий от xwicked
  1. Это реально моя знакомая.
  2. Слово «thread» пишется именно так.
  3. Это off-topic.
tempuser003
() автор топика
Ответ на: комментарий от LINUX-ORG-RU

Ладно, прочитаю тред.

Академической разработки игр не существует.

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

Stil ★★★★★
()
Ответ на: комментарий от mydibyje

программисты из ААА, АА, А или хоты бы а игровых студий

Хотя бы, лол.

Привет!

Stil ★★★★★
()
Ответ на: комментарий от firkax

иначе за ООП потеряется понимание того как работают программы

🤡

ox55ff ★★★★★
()
Ответ на: комментарий от mydibyje

хоты бы а игровых студий

Я есть, работаю в My.Games

hippi90 ★★★★★
()

надо на каком то ЯП создать 3D модель что бы оно пешком ходило шевелило ручками ножками мотало головой прыгало падало брала в руки вещи кидала их взаимодействовало с другими обЪектами потом покрась его, трусы одень и шлёпки, потом поставь несколько 3D объектов что бы другими можно было управлять по сети.Это и будет игра. Выбири ЯП для этого.

Gennadevich
()

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

а ну и да. чем раньше начнёт участвовать в джемах тем лучше. один провальный джем даёт больше профита чем 10 пройденных уроков с курса

Thero ★★★★★
()
Последнее исправление: Thero (всего исправлений: 2)
Ответ на: комментарий от tempuser003

ощутмая часть геймдева была на удалёнке ещё до пандемии..

Thero ★★★★★
()
Ответ на: комментарий от tempuser003

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

Syncro ★★★★★
()
Ответ на: комментарий от Thero

выбор языка вообще прикладная задача главное алгоритмы понимать..

вы прослушали типичную телегу мелкософт гопника от секты работорговцев под названием «да какая разница»

Syncro ★★★★★
()

Бывший парень моей бывшей девушки разрабатывает игры под мобилки. Начинал он с разработки модулей для Neverwinter Nights. Сейчас, насколько я знаю, комьюнити NWN ещё живо, да и разработчики поддерживают игру.

А есть ещё такая платформа Roblox, там за внешней простотой скрыты мощные инструменты для разработки игр

Т.е. можно начать с таких более высокоуровневых инструментов, и если втянешься, понравится, переходить на более низкоуровневые, тот же Unreal Engine и C++

nightsinger
()

Для Python создано много binding разного API.
Использование Python упростит изучение API (это суждение не пригодно для тех кто «в теме»).

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 1)
Ответ на: комментарий от Stil

В Европе есть курсы

А потом штампуют всяких отсосинов.

GAMer ★★★★★
()

она попросила учебные материалы

Скажи ей, что погромисты в первую очередь овладевают гуглом и самостоятельно ищут ответы на вопросы. Можно еще чатгпт у него тоже получается отвечать на вопросы.

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

Книги бесполезны, нужно начинать с практики, с того же литкода раздела бейсик. Затем начать учить английский.

А вообще вот эту картинку ей покажи https://habr.com/ru/articles/87737/

foror ★★★★★
()

Что бы вы посоветовали для начала?

Найти контакты понравившихся контор и спросить, что они хотя, не? Может даже у кого есть курсы для студентов. И опять же список на порядки расширяется при знании английского.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от Syncro

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

Thero ★★★★★
()
Ответ на: комментарий от Thero

у всех говноделов есть такие типовые байки из разряда «сжатые сроки», «заказчик требует», «порог вхождения должен быть доступен с улицы», а потом во всем виноваты оказываются программисты

Syncro ★★★★★
()
Ответ на: комментарий от Syncro

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

Thero ★★★★★
()
Ответ на: комментарий от Thero

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

Syncro ★★★★★
()
Ответ на: комментарий от iron

начинать нужно с C. Как минимум, познает азы работы компа на низком уровне. Если хватит терпения все освоить то подниматься уровнем выше: C++

Сейчас такой путь (С -> C++) считается вредным курсом обучения, потому что люди берут сишные привычки в С++, орудуют указателями там, где без них можно обойтись и проч. В результате получается много багов, пользователи бесятся, все начинают ругать С++, а не свои сишные повадки и т.д.

seiken ★★★★★
()

С математики надо начинать. Той, которая требуется для реализации современной 3D графики, физики. А программирование потом уже.

seiken ★★★★★
()

С# для Unity, много вакансий, платят мало
С++ для анрыла, вакансий меньше, платят больше
GDscript для Godot, вакансии только какие сам сделаешь и платить будешь сам

Satou ★★★★
()

Для разработки игр сейчас гораздо сильнее не хватает художников, сценаристов, аниматоров и т.п. С программистами и даже дизайнерами уровней всё довольно неплохо. Если знакомая хочет именно в разработку игр, то стоит обратить внимание в первую очередь на эти области. А что касается программирования… Ну видео на youtube точно не надо предлагать — это пустая трата времени. А так пусть учится программировать. Совершенно неважно, какой язык учить первым, ведь их всё равно придётся выучить хотя бы пяток-десяток, и после второго каждый следующий идёт очень легко.

Игры или не игры, единственное, что не рекомендую, так это начинать с Java или C++, а также с JavaScript. Изучение этих языков в качестве первых приводит к необратимому повреждению мозга, мешающему освоить программирование вдальнейшем (хотя устроиться макакой конкретно на этом языке и зарабатывать деньги это никак не мешает).

С C++ начинать я тоже не рекомендую — лучше начать с C, а потом уже перейти на кресты, если вдруг так хочется. Но лучше вообще о них забыть. Если хочется идти «сверху вниз», а не «снизу вверх», то сперва питон, потом сишка.

CrX ★★★
()
Ответ на: комментарий от seiken

потому что люди берут сишные привычки в С++

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

все начинают ругать С++, а не свои сишные повадки и т.д.

Ну это классика. Плохому танцору...

iron ★★★★★
()
Ответ на: комментарий от iron

начинать нужно с C. Как минимум, познает азы работы компа на низком уровне

Какие такие азы можно познать на си, но не познать на цпп?

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Какие такие азы можно познать на си, но не познать на цпп?

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

iron ★★★★★
()
Ответ на: комментарий от ox55ff

которые не хотят изучать новое

Изучение «нового» без какого-либо бэкграунда стало причиной размножение макак и деградацию как качества кода, так и отрасли разработки в целом. Так что пердуны по своему правы: сначала самое базовое понимание как все работает на низком уровне + развитие алгоритмического мышления и лишь потом все высокоуровневое.

iron ★★★★★
()
Ответ на: комментарий от ox55ff

Сначала изучение основ, а ЯП это не более чем ЯП

anc ★★★★★
()

хочет стать разработчиком

не хочу … предлагать книги

/0

buddhist ★★★★★
()

А почему конкретно игр?

Если, как я предполагаю, её вопрос звучит как «Хочу делать игры!» без никакой конкретизации. То на этот запрос можно получить ответ пройдя небольшой тестдрайв. Задача максимум: сделать визуальную новеллу (от и до)

  • Берёшь Renpy
  • Придумываешь сценарий (Как я провела лето/ пошла на рыбалку/в баню/ китайскую закусочную ... и тут всё заверте...)
  • Делаешь 20 экранов и три разных концовки
  • Пишешь сюжет
  • Пишешь диалоги
  • Рисуешь фоны на эти 20 экранов
  • Рисуешь персонажей (качество рисовки вообще не важно, хоть палка-палка-огуречик)
  • Пишешь музыку/звуки (звуки натуральные: выходишь на улицу и пишешь что там тебе нужно на любой смартфон)
  • Если нужен закадровый голос (записываешь себя) (качество опять же не важно)
  • Если на каком-то этапе вот вообще никак, то пытаешься в коллаборацию с другими человеками и используешь результаты их трудов в своём проекте
  • Собираешь всё вместе
  • Отдаешь на бетатест папе/маме/брату
  • Отдаешь на бетатест постороннему (никак с тобой эмоционально не связанному) человеку
  • Понимаешь, что тестеры врут всегда
  • Делаешь выводы о продукте, что получилось, что нет, что лучше переделать (переделывать естественно ничего не нужно, главное запомнить выводы)
  • Делаешь выводы уже для себя. Что понравилось делать, а что нет. Где получилось, где не получилось. Оцениваешь успешность разных видов коллабораций.

    После данного тестдрайва понимаешь, чем бы тебе хотелось заниматься и знания в данной области надо углубить/усугубить. Или заняться вообще чем то другим.

    P.S. Очень важный момент — данный тест драйв должен иметь отсечку по времени. Например если заниматься им фуллтайм, то две недели будет срок. И после двух недель переходишь к полноценным выводам по всем получившимся этапам. Если желание делать игры всё равно осталось, то начинаешь НОВЫЙ проект с новым РЕАЛИСТИЧНЫМ сроком исполнения. А старый проект закрываешь. Ни в коем случае не тянешь его до бесконечности. Если есть такое желание, то вернёшься к нему через год/два и сделаешь за пару дней вместо двух первоначальных недель (опыт решает).

justAmoment ★★★★★
()
Ответ на: комментарий от tempuser003

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

peregrine ★★★★★
()

Моя знакомая хочет стать разработчиком игр/программистом

Так разработчиком игр или программистом?

MageasteR ★★★★★
()
Ответ на: комментарий от MageasteR

В чём противоречие? Программирование это инструмент, игра это прикладная задача со своей спецификой.

Конечно игры можно делать и такие что они не будут программами, например настолки или карточные игры или ещё что. Но раз код значит код, а вот какой логики или графики или эффектов, это уже вопрос. Но может и то и то, что скорее всего.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от LINUX-ORG-RU

Ну например, в UE можно сделать игру вообще без единой строчки кода. Она будет разработчиком игр, но не будет программистом в обычном понимании.

MageasteR ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)