Ценность разработки хобби-игр - PullRequest
14 голосов
/ 02 октября 2008

Попытка разработать какую-то игру, даже если это увлечение в свободное время, приносит полезный (профессиональный) опыт или это пустая трата времени?

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

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

В области, где многие технологии и темы могут быть довольно сухими / скучными, я думаю, что разработка хобби-игр важна для мотивации новых (и не очень) разработчиков, чтобы освежить необходимые навыки, в то же время получая удовольствие

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

Ответы [ 9 ]

22 голосов
/ 02 октября 2008

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

Вот лишь небольшой набор вещей, которым научила меня разработка игр:

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

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

3 голосов
/ 02 октября 2008

Игры имеют некоторые из самых сложных процессов обработки, которые «приятны» для неспециалистов, программистов-любителей. В старшей школе я писал только игры. Хотите изучить физику? Написать игру. 3D графика? Написать игру. Высокопроизводительные вычисления? Написать игру. AI? Экономика? Военная стратегия? Обработка естественного языка? Доказательство теоремы? Написать игру.

Вам не нужно публиковать его, вам не нужно документировать его, вам даже не нужно его ИГРАТЬ, вам просто нужно поиграть с ним, и вы изучите любой алгоритм, который вы считаете интересным, как Вы пытаетесь применить это - в игре.

Игры интересны широким доменом, который они могут охватить. Все остальное - просто обработка данных, и вы можете сделать это на работе!

3 голосов
/ 02 октября 2008

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

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

Я говорю код в душе!

2 голосов
/ 03 октября 2008

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

2 голосов
/ 02 октября 2008

Разработка игр (или любой другой вид личного программирования) - это хороший способ:

  • изучать новые языки
  • изучать новые концепции (TDD, OO и т. Д.)
  • Использование и оценка различных инструментов / технологий (CI, автоматизированные тесты и т. Д.)

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

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

1 голос
/ 02 октября 2008

Я не понимаю, как что-то, что позволяет вам учиться, практиковать и экспериментировать, можно считать «детским».

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

1 голос
/ 02 октября 2008

Я думаю, что более важно, развивает ли хобби разработка игр рад ?

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

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

1 голос
/ 02 октября 2008

ДА

Я изучал C (и собственные расширения Psion для OO), используя SDK TopSpeed ​​C Psion Series 3, и написал несколько игр, которые я выпустил под лицензией GNU. (Раньше у меня было немало опыта в Turbo Pascal и Pascal на Amiga и Borland C ++ 3.1 на Window 3.1 в стажировке по финансовому анализу по обработке сигналов, но когда я получил Psion, мне пришлось вернуться к C и я использовал K & R, чтобы получить хорошую основу для этого кода.)

Затем я поделился опытом, который узнал о платформе Psion, с трехлетним концертом, посвященным разработке мобильных приложений с использованием их промышленных КПК, где я также приобрел опыт работы с базами данных. Это был огромный поворот для них, продукт был в замешательстве, и у меня было гораздо больше опыта работы с платформой, чем у кого-либо еще - только с того года, когда я писал игры.

Я включил это в работу по разработке Windows, где в конце концов стал ИТ-директором и получил огромный опыт работы с SQL Server, Windows, ASP, центрами обработки данных, DR, как вы это называете.

Затем я перешел в консалтинговое хранилище данных.

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

1 голос
/ 02 октября 2008

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

Руки вниз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...