На что обратить внимание при разработке игровой демонстрации для интервью?

9

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

Я хотел бы знать, на что обычно обращают внимание интервьюеры при просмотре демонстрации вашей игры .

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

  • Насколько важна модульность кода?
  • Насколько важно продемонстрировать типичную реализацию алгоритма?
  • Насколько важно включить новые функции?
  • Насколько важна играбельность?
  • Должен ли я дать привилегию читабельности кода или оптимизации кода?
  • Насколько важна кодовая документация?
  • так далее...

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

Заранее спасибо за ваше время и опыт.

макинтош
источник

Ответы:

13

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

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

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

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

Тем не менее, если у вас нет какой-либо работы, которую вы можете отправить - либо потому, что вы ее еще не написали, либо потому, что ваша предыдущая работа не позволяет вам отправить какой-либо код (в соответствии с NDA), - у вас нет Вариантов много, но написать что-то новое. В этом сценарии я бы посоветовал вам сосредоточиться на написании этой вещи ради себя и забыть о том, что «хотят» работодатели. Напишите игру, потому что вы хотите написать игру. Напишите классную демонстрацию технологий, потому что вы хотите изучить эту технологию, потому что это то, что вас интересует.

  • Насколько важна модульность кода?
  • Насколько важно продемонстрировать типичную реализацию алгоритма?
  • Насколько важно включить новые функции?
  • Насколько важна играбельность?
  • Должен ли я дать привилегию читабельности кода или оптимизации кода?
  • Насколько важна кодовая документация?

Ответы на все эти мелкие вопросы, к сожалению, «это зависит» (за исключением читабельности - я думаю, что вы должны предпочесть удобочитаемость в целом, особенно для «демонстрационного кода»). Некоторые работодатели могут захотеть увидеть, как вы реализуете быструю сортировку. Другие могут не заботиться. Другие просто попросят вас переопределить быструю сортировку на доске во время интервью.

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


источник
3
Спасибо за этот ответ (+1). Определенно неожиданный по своему содержанию (но, может быть, именно по этой причине: очень полезный). Я особенно счастлив, поскольку у меня уже есть проект игры для домашних животных, который я хотел бы написать по той причине, по которой я хотел бы сыграть в него! :)
Mac