Приятель с работы и я хотят попасть на инди-сцену для разработки игр. Я сделал несколько технических демонстраций, демонстрирующих разные идеи и подходы к различным проблемам. Теперь я чувствую, что пришло время взять на себя обязательство по проекту, чтобы разработать портфель на будущее.
Я много боролся с тем, как начать реальный проект, более конкретно, чтобы создать движок или использовать пакет OTS, или использовать один, затем создать один, или создать один, затем использовать один ... и т. Д.
Что выглядит лучше для потенциальных работодателей? Меньшее портфолио игр, которое включает в себя ваш движок или (возможно) больший, который был построен с использованием чего-то OTS?
Я программист. Я не художник. Я буду выполнять большую часть программирования для этого проекта. Мой приятель также является разработчиком, но он также хорошо владеет графическими инструментами (таким образом, он становится искусствоведом).
На работе мы оба разработчики .NET (C #). Я знаю, я знаю, «Ну, тогда используйте XNA», некоторые будут кричать на меня. Демонстрации, которые я закончил, были в XNA. Но у меня есть некоторые проблемы с созданием портфолио XNA. Хотя было бы неплохо абстрагировать DirectX, я опасаюсь, что мне не удастся создать необходимую базу знаний, чтобы легко выйти за пределы XNA. В противоположность этому аргументу, вероятно, «вы можете легче перейти на DirectX после XNA», но, поскольку я перенесу карьеру с развития бизнеса на разработку игр, стоит ли вообще сейчас сосредоточиться на XNA? Или потенциальные работодатели хихикают, когда я говорю XNA?
Должен ли я использовать опыт XNA, зная, что концепции и извлеченные уроки будут в основном передаваться? Или потратить мой самый ценный ресурс (время) еще где?
Нужны советы от ветеринаров любой отрасли.
Ответы:
Я работаю программистом в индустрии консольных игр почти четырнадцать лет и часто принимаю решения о найме.
Итак, говоря как один из тех потенциальных работодателей, при оценке возможного сотрудника я ищу три вещи в новом найме, и я ищу их в следующем порядке.
Теперь, отвечая на ваш вопрос. Вся эта проблема «какой тип проекта мне следует делать» затрагивает наименее важный из критериев, которые меня интересуют. Меня больше волнует вопрос о том, вписываются ли вы в мою команду в социальном плане, и насколько хорошо вы сможете быстро осваивать новые вещи, чем меня волнует, использовали ли вы XNA или собственный игровой движок в каком-то предыдущем проекте. В общем и целом, я предполагаю, что мне придется обучить вас нашему собственному игровому движку, и поэтому ваши предыдущие проекты не имеют для меня никакого значения. Это, конечно, если у вас нет волшебного опыта работы с конкретным инструментом или технологией, о которых мне нужно, чтобы кто-то знал. Но это необычно; обычно я предполагаю, что мне придется научить вас использовать наш API.
Все это не означает, что я не хочу, чтобы вы занимались домашними проектами. Я абсолютно уверен. Но меня не волнует, что это за проекты или какие технологии они использовали, потому что они, вероятно, не будут иметь отношения к тому, что вы от меня хотите, потому что мы будем использовать разные библиотеки или API.
Но я хочу, чтобы вы рассказали мне о своих проектах. Я хочу увидеть, насколько вы полны энтузиазма, когда говорите о них, потому что это говорит мне о том, какой вы человек (см. Пункт 1 выше). Я хочу услышать о проблемах, с которыми вы столкнулись, и о том, как вы преодолели их при разработке своего проекта (см. Пункт 2 выше). Я абсолютно хочу, чтобы вы завершили хотя бы один проект - способность преодолеть боль и фактически завершить что-то многое говорит о том, какой вы человек, и говорит мне, что вы тот, на кого я смогу положиться если ("когда") все становится жестким.
Так что, честно говоря, ни один из вариантов не является «лучшим»; важно завершить что-нибудь, что угодно. Любая технология, которую вы изучаете на этом пути, обледенела, но почти наверняка это не то, что заставило бы меня нанять вас.
(Но с учетом всего сказанного ... Я буду ожидать, что вы будете опытными в C ++. Так или иначе, вам действительно нужно изучать C ++, чтобы получить работу в индустрии массовых игр. Ваши домашние проекты не обязательно должны быть в C ++, но я ожидаю, что вы сможете продемонстрировать беглость в этом.)
источник
Одна вещь, которую другие еще не упомянули, - это то, что важно завершить ваши проекты.
Наличие портфеля с кучей незаконченных вещей не так впечатляет, как портфель с одной готовой, хорошо отполированной вещью.
Кроме того, если вы основываете свою работу на чьей-либо другой работе (например, на движке с открытым исходным кодом или свободно доступных художественных ресурсах), обязательно укажите в своем портфолио, какая часть принадлежит вам.
источник
Мне кажется, что ответ зависит от того, какое программирование игры вы хотите сделать.
Если ваша цель - быть кодировщиком движка или графическим кодировщиком , вам будет полезно заглянуть под капот и узнать, как работают движки. Это не означает, что вы не можете использовать XNA или другой готовый движок, фреймворк и т. Д. Знакомство с внутренностями высококачественного движка - отличный способ научиться создавать высококачественный движок! Если вы идете по этому пути, вам не обязательно даже писать реальные игры. Портфолио автономных графических демонстраций и / или нетривиальных расширений для существующего движка (например, реализация нового шейдера в движке и т. П.) Поможет вам. Вы можете взглянуть на мое портфолио графических демонстраций здесь; это уже несколько лет, но в основном это и дало мне работу по программированию графики в игровой студии.
С другой стороны, если вы предпочитаете быть программистом геймплея , одним из тех, кто работает над игровой механикой, средствами управления, искусственным интеллектом противника и т. Д., То ваше время не будет потрачено впустую на изучение Direct3D. Конечно, полезно иметь общее общее представление о том, как работает графика, но в профессиональном контексте вы, вероятно, не будете часто вступать в непосредственный контакт с низкоуровневой графикой. В этом случае я бы настоятельно рекомендовал использовать готовый движок, чтобы вы могли тратить время на создание реальных игр.
Итак, подведем итог: если вы хотите заняться геймплеем, просто используйте существующий движок; если вы хотите сделать движок / графику, то создайте свой собственный материал и / или расширьте существующий движок.
источник
когда я только заканчивал универ, мое портфолио было представлено в этой статье. это кажется хорошей идеей о том, что делать, а что не делать, когда собираешь свой портфель
http://leewinder.co.uk/blog/?p=23
источник
Не делайте свое портфолио, основываясь на том, как вы воспринимаете «стандарт». Вы должны работать над проектами, которые вас интересуют . Если вам нравится игровая механика, сделайте кучу игр. Если вам нравится создавать интересный ИИ, возможно, сделайте демонстрацию для RTS-подобной установки. В качестве примера я проявляю растущий интерес к графическому программированию и уделяю больше времени изучению концепций рендеринга и их применению в своем движке. (Соответственно, мой игровой проект был временно положен на полку.)
Когда вы работаете в основном над тем, что вам нравится, это действительно выявляет «вас» в портфолио. С другой стороны, наличие хотя бы одной завершенной игры показывает, что вы можете пройти через «неинтересные» части создания игры. Хорошо иметь некоторую степень гибкости, чтобы проникнуть на менее знакомую территорию, но не навязывайте себя экстенсивно. Вы можете отличить хорошие портфели от уровня энтузиазма и интереса к работе, и проекты, основанные на ваших сферах интересов, естественно, получат самую лучшую. Таким образом, независимо от того, в чем находится ваша область интересов, вам в конечном итоге придется сосредоточиться на этой области программирования для работы.
источник