Ценность развития хобби

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

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

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

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

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

Ответы

Ответ 1

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

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

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

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

Ответ 2

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

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

Я говорю код до вашего сердца!

Ответ 3

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

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

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

Ответ 4

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

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

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

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

Ответ 5

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

Ответ 6

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

Руки вниз.

Ответ 7

Да

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

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

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

Затем я перешел на консультацию по хранилищу данных.

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

Ответ 8

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

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

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

Ответ 9

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

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