Доброго времени суток! Хотел попросить помощи у сообщества GcUp.ru. Меня интересует вопрос обучения в области игровой индустрии, а именно как научиться игровой разработке с нуля и что стоит учить в течении 2-х лет?
Добавлено (12 октября 2015, 12:40) --------------------------------------------- Собственно что нужно знать новечку в области разработки компьютерных игр:
1. Английский язык, хотябы на уровне чтения технической документации.
2. Понимание основ информационных технологий. Чтобы увереннее чуствовать себя с другими специалистами игровой разработки знание, а самое главное понимание основ информационных технологий является обязательным этапом в изучении. В добавок эти знания могут стать хорошим транплином для выбора направления и дальнейшего изучения.
Материалы: 1. CompTIA A+ Complate Deluxe Study Guide, 2nd Edition - John Wiley & Sons (2012) Учебное руководство по подготовке к сдачи экзаменов 220-801 и 220-802.
CompTIA A+ состоит из двух экзаменов: - 220-801 - Экзамен нацелен на проверку знаний в области компьютерного оборудования, компьютерных сетей и переферийных устройств. - 220-802 - Экзамен нацелен на проверку знаний в области основ работы с операционной системой, безопасности, мобильных устройств и устранения неполадок. Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает... и никто не знает почему!
Сообщение отредактировал AI_Developer - Понедельник, 12 Октября 2015, 12:41
это какие то экзамены для сисадминов, а не специалистов игровой индустрии. Игроделу надо в общих чертах знать все - программирование, моделирование, основы дизайна, графики, музыкального оформления, маркетинга. Потом определиться для себя, что вам ближе, и совершенствоваться в этом направлении.
это какие то экзамены для сисадминов, а не специалистов игровой индустрии. Игроделу надо в общих чертах знать все - программирование, моделирование, основы дизайна, графики, музыкального оформления, маркетинга. Потом определиться для себя, что вам ближе, и совершенствоваться в этом направлении.
Не представляю как можно стать хорошим разработчиком компьютерных игр без понимая как работает компьютер ))) Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает... и никто не знает почему!
как можно стать хорошим разработчиком компьютерных игр без понимая как работает компьютер
Если вы хотите писать для себя - никак (правда, информатика - это лишь "затычка" вместо настоящей науки о компьютерах - кибернетики). Если же вы считаете, что все игры, при всем их разнообразии, сводятся к тщательному соблюдению пары-другой правил с последующим тщательном наполнением, не за столом будет сказано, контентом (для товарного вида), то знание того, "как оно работает" будет даже вредно.
Доходит до смешного:
ЦитатаRaven84 ()
Я честно не фанат такого рода поделок и играть не смогу, но верю, что есть люди, кто в это играть будет. Потому что порой в Плэй Маркете попадаются такие вещи, что никогда бы не стал даже пробовать, но у которых уйма закачек.
ЦитатаIvanKorobko ()
Т.е. "современный программист" якобы должен представить все тупо в уме, написать код, рассчитав(допустим он кодит платформер) всю геометрию уровней, размеры/скорости, противников, и весь интерактив встречающийся по ходу, ну и так же мысленно представляя расположение интерфейсов, их удобство и юзабилити полагаясь лишь на свой третий глаз?) Конечно же разукрасив в коде все красивыми комментариями, чтоб представлять было удобней) А давайте в игры так же играть - поставим ведьмака на паузу, откинемся на кресле, закроем глаза и мысленно пройдем игру самым интересным для нас способом - а то современные игроки тоже обленились - все им во всех красках покажи да расскажи, за ручку проведи, вконце в попу поцелуй - совершенно не осталось места для фантазии и свободы действий)))
Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
Сообщение отредактировал Gudleifr - Понедельник, 12 Октября 2015, 22:08
Меня конкретно интересует вопрос, что надо знать игровому разработчику, а именно какой набор знаний требуется для практического приминения в реальных компаниях игровой разработки. Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает... и никто не знает почему!
какой набор знаний требуется для практического приминения в реальных компаниях игровой разработки.
См. ниже "Команды" и "Вакансии".
Добавлено (13 октября 2015, 09:19) --------------------------------------------- Чем отличается местная "казацкая вольница" от "реальной компании игровой разработки"? В идеале должно было быть что-то вроде:
Предложение Харлана Миллза дает свежее и творческое решение [Mills H. Chief programmer team, principles, and procedures // IBM Federal Systems Division Report FSC 71-5108. Gaithersburg, Md., 1971.]. Миллз предложил, чтобы на каждом участке работы была команда разработчиков, организованная наподобие бригады хирургов, а не мясников. Имеется в виду, что не каждый участник группы будет врезаться в задачу, но резать будет один, а остальные оказывать ему всевозможную поддержку, повышая его производительность и плодотворность. При некотором размышлении ясно, что эта идея приведет к желаемому, если ее удастся осуществить. Лишь несколько голов занято проектированием и разработкой, и в то же время много работников находится на подхвате. Будет ли такая организация работать? Кто играет роль анестезиологов и операционных сестер в группе программистов, а как осуществляется разделение труда? Чтобы нарисовать картину работы такой команды с включением всех мыслимых видов поддержки, я позволю себе вольное обращение к метафорам.
ХИРУРГ. Миллз называет его ГЛАВНЫМ ПРОГРАММИСТОМ. Он лично определяет технические условия на функциональность и эксплуатационные характеристики программы, проектирует ее, пишет код, отлаживает его и составляет документацию. Он пишет на языке структурного программирования, таком как PL/I, и имеет прямой доступ к компьютерной системе, на которой не только производится отладка, но и сохраняются различные версии его программ с возможностью легкой модификации файлов, а также осуществляет редактирование документации. Он должен обладать большим талантом, стажем работы свыше десяти лет и существенными знаниями в системных и прикладных областях, будто прикладная математика, обработка деловых данных или что-либо иное.
ВТОРОЙ ПИЛОТ. Это второе "я" хирурга, может выполнять любую его работу, но менее опытен. Его главная задача - участвовать в проектировании, где он должен думать, обсуждать и оценивать. Хирург испытывает на нем свои идеи, но не связан его предложениями. Часто второй пилот представляет свою бригаду при обсуждении с другими группами функций и интерфейса. Он хорошо знает весь код программы. Он исследует возможности альтернативных стратегий программирования. Он, очевидно, подстраховывает на случай какой-либо беды с хирургом. Он может даже заниматься написанием кода, но не несет ответственности за какую-либо его часть.
АДМИНИСТРАТОР. Хирург - начальник, и ему принадлежит последнее слово в отношении персонала, прибавок к жалованью, помещений и т.п., но на эти дела он должен тратить как можно меньше времени. Поэтому ему необходим профессиональный администратор, заботой которого будут деньги, люди, помещения, машины, и который будет контактировать с административным механизмом организации в целом. Бейкер считает, что на полный рабочий день администратор должен привлекаться лишь в случае, когда отношения с заказчиком определяют существенные юридические, контрактные, отчетные или финансовые требования к проекту. В остальных случаях один администратор может обслуживать две команды.
РЕДАКТОР. Обязанность разработки документации лежит на хирурге. Чтобы она была максимально понятна, он должен писать ее сам. Это относится к описаниям, предназначенных как для внешнего, так и для внутреннего использования. Задача редактора - взять созданный хирургом черновик или запись под диктовку, критически переработать, снабдить ссылками и библиографией, проработать несколько версий и обеспечить публикацию.
ДВА СЕКРЕТАРЯ. Администратору и редактору нужны секретари. Секретарь администратора обрабатывает переписку, связанную с проектом, а также документы, не относящиеся к продукту.
ДЕЛОПРОИЗВОДИТЕЛЬ. Он отвечает за регистрацию всех технических данных бригады в библиотеке программного продукта. Он имеет секретарскую подготовку и несет ответственность за все файлы, предназначенные как для машины, так и для чтения. Все данные для ввода в компьютер поступают делопроизводителю, который регистрирует их или вводит при необходимости с клавиатуры. Листинги вывода также поступают к нему для регистрации и хранения. Результаты самых свежих прогонов всех моделей заносятся в журнал результатов, а предыдущие хранятся в хронологическом порядке в архиве. Жизненно важным для концепции Миллза является превращение программирования "из личного искусства в общественную деятельность" путем предоставления результатов ВСЕХ прогонов всем членам команды и определения всех программ и данных, как общей собственности команды, а не чьей-то личной. Особые обязанности, возлагаемые на делопроизводителя, освобождают активных программистов от рутинных работ, систематизируют и обеспечивают надлежащее выполнение тех рутинных операций, которыми часто пренебрегают, и приближают главное, для чего работает команда - ее программный продукт. Ясно, что предложенная концепция предполагает прогон пакетных заданий. Если используются интерактивные терминалы, в особенности без возможности печати, функции делопроизводителя не сокращаются, но претерпевают изменения. В этом случае он ведет учет всех изменений, вносимых в общий экземпляр программы из личных копий, осуществляет прогон всех пакетных заданий и со своего терминала осуществляет контроль целостности и работоспособности увеличивающегося в размерах продукта.
ИНСТРУМЕНТАЛЬЩИК. Благодаря возможности в любое время редактировать файлы и тексты и пользоваться службой интерактивной отладки команде редко требуется своя вычислительная машина и группа обслуживающего персонала. Но доступ к этим службам должен осуществляться с безусловной быстротой и надежностью. Только хирург может решать, удовлетворяет ли его работа имеющихся служб. Ему необходим инструментальщик, ответственный за обеспечение доступа к основным службам, а также за создание, поддержку и обновление специальных инструментов - в основном, интерактивных служб, которые требуются его команде. У каждой команды должен быть свой инструментальщик, независимо от качества и надежности имеющихся централизованных служб, и его дело обеспечить всем необходимым или желательным инструментом СВОЕГО хирурга, а не другие команды. Инструментальщик обычно пишет специализированные утилиты, каталогизированные процедуры, макробиблиотеки.
ОТЛАДЧИК. Хирургу потребуется набор подходящих контрольных примеров для отладки написанных им фрагментов кода, а затем и всей программы. Отладчик является, таким образом, как противником, разрабатывающим контрольные примеры для системного тестирования, исходя из функциональных спецификаций, так и помощником, готовящим данные для ежедневной отладки. Он также обычно планирует последовательность тестирования и создание среды для тестирования компонентов.
ЯЗЫКОВЕД. Вскоре после появления Algol обнаружилось, что в большинстве вычислительных центров есть один-два человека, поражающих своим владением тонкостями языка программирования. Эти эксперты оказываются очень полезными, и с ними часто советуются. Здесь требуется иной талант, чем у хирурга, который является преимущественно системным проектировщиком и мыслит представлениями. Языковед может найти эффективные способы использования языка для решения сложных, неясных и хитроумных задач. Иногда ему требуется провести небольшое исследование (два-три дня) для нахождения удачной технологии. Один языковед может работать с двумя или тремя хирургами. Вот таким образом 10 человек могут выполнять хорошо дифференцированные и специализированные роли в команде программистов, организованной по образцу операционной бригады.
Но в реале, скорее, 1. в реальной фирме больше менеджеров кулеров и операторов кондиционеров 2. самое неприятное
Цитата
По мере того, как бизнес растет, он неизменно выходит за те рамки, в которых владелец может его контролировать - видеть и чувствовать работу, которую необходимо сделать, и лично следить за его развитием.
Поэтому в любой фирме есть "кулацкий подпевала" - человек, чье мнение (в данном случае, об играх и способах их изготовления) есть закон. Но, обычно, его кругозор и компетенция нисколько не выше, чем у местных "капитанов команд". Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
Сообщение отредактировал Gudleifr - Вторник, 13 Октября 2015, 09:41
Итак. Что нужно начинающему разроботчику: - любить игры. - иметь массу энтузиазма и желания что-то сделать, живую фантазию и массу энергии. Кучу идей - желание РАБОТАТЬ. Реально работать. Ибо работать прийдется дофига. - английский язык - ОГРОМНЫЙ плюс все стоящие книжки по игроделу - на Английском языке. - желательно иметь группу поддержки. Людей которые скажут, что ты крут) Но в любом случае - потчивать на лаврах тебе не прийдется. Просто нужно что-то для поднятия боевого духа Это все с точки зрения качеств человека.
С чего же все таки браться с ХЕЛЛО ВОРЛДА. к черту знания о компьютере и соединениях выбери направление работы и РАБОТАЙ. Пусть это будет фреймворк или конструктор - изучай с нуля. КАК ТОЛЬКО СМОЖЕШЬ НАПИСАТЬ "ТЕТРИС" напиши. Ты получишь бесценный опыт. Если ты попадешь в тупик - не отчаивайся. Я прошел уже 3 тупика) запорол 3 игры. это масса работы, но все равно иду вперед.
ну и да, советую побольше общаться с людьми, интересоваться их мнением)
Добавлено (13 октября 2015, 10:41) --------------------------------------------- Если тебя интересует "конкретно набор знаний" Вперед на поиск вакансий. Там все написано
Что нужно для того что бы делать игры? Все просто) Поднять свою ленивую жопа и начать делать игру, двигаясь от простого к сложному, тот кто сразу хочет сделать убийцу вова и крайзиса.... теряют уйму времени, вдохновения ну и некоторые индивиды позорятся) Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)
AI_Developer, мне кажется, что критерии, приведенные вами подходят более для участника-работника крупной коммерческой компании (СryTek, Valve, DICE и т.д.), с многомиллионным бюджетом. Тогда да, это будет кстати. Но если для, инди - прислушайтесь к 7,8 комментарию
Всем доброго времени суток! Спасибо большое за ответы, так как этот вопрос очень сильно меня мучал. Ситуация какая, в принципе я не плохой айтишник на данный момент особенно в области системного и сетевого администрирования, не часто но были ситуации когда приходилось быть программистом на PHP и тини-скриптором в C/C++ и Java. Очень хорошо подчеркнуты сообщения 7,8,9 в том плане что действительно я хочу поднять свою задницу от датацентров и полностью перейти в разработку игр. Мечу именно как в виде основной карьеры поэтому интересует именно как попасть в крупные компании игровых разработок, поэтому не прочь ещё услышать ответы что надо изучать потому что желание делать игры меня просто переполняет а навыков увы пока недостаточно сейчас читаю Game Development Essentials: An introduction, 3rd Edition и Begginig C++ Programming и не планирую на этом останавливаться. Было бы не плохо если бы ещё посоветавали по Вашему опыту что стоит учить примерно в диапазоне от 2 до 5 лет. В заранее спасибо за ответы! ))) Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает... и никто не знает почему!
Сообщение отредактировал AI_Developer - Вторник, 13 Октября 2015, 17:25
"что стоит учить" зависит оттого какой движок вы выбрали, какой язык программирования, какие игры решили делать: PC, браузерные, мобильные, консольные, VR и т.д.
Нужно изучать: книги, туториалы, видео курсы, статьи, чужие игры и т.д. Делать свои игры, выкладывать их на свой сайт и на форум для поиска багов и советов от более опытных товарищей