Недавно я слышал от преподавателя, что разработка игр - лучший способ научиться программированию. Помимо того факта, что все должно быть создано в коде, он сказал, что вы действительно можете полностью использовать опыт и внедрить ООП в свои программы. Другими словами, все, что вы делаете в игре, является буквальным объектом как в техническом, так и в концептуальном плане. Безопасно ли делать это предположение? Или всегда есть исключения при обучении программированию?
обратите внимание, что он был направлен на развитие .net / xna / c #.
learning
object-oriented
Эдвард
источник
источник
Ответы:
Разработка игр - одна из самых сложных разработок, на мой взгляд. Давайте рассмотрим все концепции, которые нужно знать одному человеку, создающему шутер от первого лица:
Видите ли, одна игра может одновременно охватывать множество областей. Это делает его отличным инструментом обучения, если вы готовы тратить время и делать это хорошо.
Что касается ООП, это один шаблон, который работает хорошо. Вы можете использовать игру в качестве учебного пособия, чтобы практиковать хорошие методы дизайна.
Чтобы ответить на ваш вопрос, однако, это не единственный способ научиться программированию. Как только вы станете промежуточным разработчиком, создание игры позволит вам коснуться многих концепций и уровней программирования. Кроме того, это весело!
источник
Не быть тавтологическим, но программирование - лучший способ изучить программирование. Если вы интересуетесь компьютерными играми, то программирование игр может стать отличным способом изучения программирования.
Я не забочусь об играх, но я люблю математику, поэтому многие из моих учебных проектов носили математический характер.
Суть в том, что вам нужно найти способы решения проблем с кодом, и игры работают для многих людей.
источник
Это способ научиться программировать, наряду с другими способами. Когда вы пишете код, вы узнаете вещи. Теперь это лучший способ? Не уверен
По крайней мере, две причины, указанные вашим учителем, не действительны .
«все должно быть создано в коде» : когда вы пишете бизнес-приложение, вы фактически пишете код. Это не будет написано магией. Да, есть помощники, которые позволяют вам использовать автоматически сгенерированный код. Нет, их не обязательно использовать. Кстати, автоматически сгенерированные части, как правило, наиболее раздражают в программировании (не добавляя элементы управления в элемент управления Windows Forms, вы узнаете что-то интересное и полезное).
«Вы действительно получаете полный опыт и внедряете ООП в свои программы» : кто-то должен объяснить мне, почему это действительно только для игр, но недействительно для всего остального. Если вы понимаете ООП и хотите использовать его, вы можете использовать его и в бизнес-приложениях. Если вы этого не понимаете или не хотите использовать (и предпочитаете, например, функциональное программирование), разработка игр не заставит вас меняться.
Но:
Развивающие игры могут быть веселыми . Большинству молодых людей нравятся игры, поэтому они с удовольствием разрабатывают игру, а не пишут бизнес-приложения, что будет чрезвычайно скучно для большинства из них. Видя это, учителя могут начать считать, что на самом деле игры - это лучший способ научиться программированию, и тогда они попытаются найти логическое объяснение этому.
Тем не менее, эти учителя заканчивают тем, что делают разработку игр такой же скучной для молодежи, как и разработку бизнес-приложений. Если они считают, что игры должны проводиться для того, чтобы изучать ООП и т. Д., Они попросят своих учеников сделать такие проекты, которые вообще не приносят удовольствия. Это была одна из самых больших ошибок моих учителей, когда я учился в колледже. Они очень часто давали нам игровые проекты для написания на Ada в режиме консоли. Нет графики. Не весело. Нет опыта пользователя. За всю свою жизнь и карьеру я никогда не видел таких скучных проектов.
источник
BadGuy
,Weapon
,PowerUp
, и другие предметы в игре могут легко быть объектом. Вы можете программировать взаимодействия между объектами и видеть их на экране. Я думаю, что именно визуальная часть делает его таким привлекательным. Бизнес-приложения, которые имеют иерархии типовServerTaskScheduler
,AbstractDataProcessor
иUserQueryAgent
т. Д., Не такие захватывающие , хотя они могут обучать тем же концепциям ООП, что и в играх.Customer
илиProduct
илиTransaction
могут быть объектами. Но я понимаю, что гораздо приятнее иметь дело сBadGuy
s, чем с скучнымиTransaction
s.Transaction
влечет за собой.Программирование игр - лучший способ научиться программированию игр. Если вы хотите изучать веб-разработку, делайте это, если вы хотите изучать системное программирование, делайте это и так далее.
Программирование игр - сложная задача, и, скорее всего, она научит вас многим вещам (в своем ответе Майкл отметил многие из них, и многие из них очень сложны, и их можно использовать и вне игр). Создание RPG или магната (или подобной игры) многому научит вас в дизайне ООП, потому что они очень хорошо подходят для этой парадигмы. Вы также сможете многое узнать о соображениях производительности, некоторой хардкорной математике для игр и т. Д., В зависимости от сложности вашей графики и физики.
Это хороший способ и лучший способ научиться некоторым вещам, но это не лучший способ научиться программированию. Независимо от того, сколько игр вы запрограммировали, вполне вероятно, что вы не будете иметь представления о том, как создать операционную систему. Я думаю, что большинство разработчиков могут все еще что-то заработать, разрабатывая игру, даже если они не делают это в качестве основной дисциплины программирования, если у них есть время.
источник
Вопрос: Какой метод обучения лучше всего изучать?
Ответ: метод, который вы на самом деле делаете
То есть, когда вы изучаете или делаете что-то, не так важно, какой метод вы выбираете, так долго, это метод, который вы на самом деле используете.
Если игры кажутся вам действительно интересными, сделайте это. Если вы находите решение математических задач более удовлетворительным, начните с этого. Существует много разных видов программирования, и для каждого требуются разные навыки, поэтому стоит начать с того, который вам наиболее интересен, и, вероятно, именно с ним вы будете работать.
... Но да, игры - хороший способ изучить довольно широкий спектр программирования, поскольку он включает в себя математику, параллелизм, алгоритмы, уп, графику и т. Д. И т. Д.
источник
Если вам нравится играть в игры, то написание игр было бы хорошим способом начать разработку, но я бы не сказал, что это лучший способ. Я думаю, что лучший способ - это курс на получение степени бакалавра, за которым следует работа в отделе программного обеспечения, который будет инвестировать в обучение и наставничество для младшего персонала.
Кроме этого, по общему признанию, довольно напыщенного ответа, да, разработка игр, я думаю, научит вас многим хорошим навыкам, и если вам нравятся компьютерные игры, это будет держать вас в процессе разработки. Это должно быть интереснее, чем множество других простых приложений, которые вы видите в книгах.
источник
Я бы сказал, что лучший способ научиться программировать - это сделать его забавным для вас. Это должна быть не настоящая игра, а какая-то игра для вас. Для меня это игра для решения некоторых математических задач, разработка алгоритмов таким образом, чтобы я мог решить сложную задачу максимально быстрым способом. Бросьте вызов самому себе, я становлюсь лучшим программистом при каждой попытке решить проблему. Чем сложнее проблема, тем лучше.
Что касается обучения кодам (лучшие практики), я бы сказал, что вам придется столкнуться с большими проблемами. Вызовы требуют гораздо больше одного входа / выхода
источник
Я никогда не слышал о том, что игра Halflife или Call of Duty учит вас навыкам программирования.
Программирование их может, но программирование чего-то подобного не является чем-то, что новичок должен даже попытаться немного. И особенно у начинающих часто создается впечатление, что они могут создать следующий блокбастер со своими несуществующими знаниями в области программирования. Скажите им, чтобы они попробовали сделать клон PacMan или Tetris, и они кричат, что это не то, что они хотят делать, и что вы должны «дать мне zuh koduz».
источник
Не на самом деле нет. Существует не лучший тип проекта научиться программированию на. Лучший тип проекта - это тот, который соответствует вашим интересам.
Например, я пытался научиться программировать несколькими способами, включая обучение программированию игр. Просто никогда не казалось, что он придерживается.
Тогда, когда мне нужно было научиться программировать то, что я делал в своем исследовании? Сейчас я достаточно уверенно говорю, что знаю 2 языка и работаю над третьим. Зачем? Потому что это соответствовало моим интересам. У меня была причина придерживаться этого, причина учиться и больше проблем, чтобы попробовать, чем просто «Упражнение 8» в книге.
Между прочим, это не означает, что программирование эпидемических моделей - лучший способ изучения программирования. Но это был лучший способ для меня. Найди свой. Это могут быть игры, но вполне возможно, что нет.
источник
Исходя из моего собственного опыта, при написании игры (при условии, что вы делаете это в собственной / небольшой команде разработчиков), вы вынуждены думать не только об алгоритмической / аналитической части программирования, но также о пользовательском опыте и дизайне.
В дополнение к этому, если это достаточно сложная игра, вы будете работать над ней в течение нескольких месяцев, и вы поймете важность документирования всего, что вы делаете, что впоследствии сделает вас лучшим членом команды.
источник
Я думаю, что это отличная статья, дающая представление о разработке игр.
В нем говорится о некоторых основных областях, чтобы сосредоточиться на
источник
Я бы согласился, кроме ...
Скорее всего, это был первый опыт программирования, который многие когда-либо имели, создавал и программировал робота Lego (Mindstorms).
Хотя общий термин «игра» может определять такую огромную категорию, чтобы охватить почти все программирование, при использовании в контексте оригинального плаката он всегда означает «написание игр в стиле Doom».
Как уже говорилось ранее, лучший способ научиться программировать - это иметь то, что вам действительно нужно, для чего нужна программа. То есть - учиться программированию, написав нужную программу.
Одной из моих первых программ для Windows была программа для контроллера MIDI, потому что я действительно хотел программу для контроллера MIDI, и Windows выглядела идеально подходящей (ползунки, кнопки, поддержка SDK для MIDI и т. Д.). Из этой программы я многое узнал о программировании для Windows (это было еще в Win 3.1 дней).
Я никогда не был неравнодушен к программированию игр и по причинам, упомянутым здесь - я не очень хорошо рисую, поэтому любая игра, которую я создаю, будет иметь более плохую графику, чем у художника. Я хочу научиться программировать, а не управлять «командой по созданию игры» (похвальное, но совершенно другое упражнение).
В конце я совершенно не согласен с утверждением учителя. Лучший способ научиться программированию - написать программу, которую вы действительно хотите.
-Р
источник