Война между веб-разработкой и разработкой

Война между веб-разработкой и разработкой

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

Если вы думаете, что веб-разработка — чрезвычайно прибыльная область, вы не ошибаетесь. В 2020 году разработчики, работающие над проектами, от простых сайтов для ведения блогов до сложных платформ социальных сетей в США, заработали 40 миллиардов долларов . Индустрия видеоигр также изобилует наличными деньгами, рыночная стоимость которых в настоящее время только в США составляет 60 миллиардов долларов.

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

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

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

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

РАЗРАБОТЧИКИ ИГР И БАЛАНС МЕЖДУ РАБОТОЙ И ЖИЗНЬЮ

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

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

Эта неопределенность имеет двоякий результат. С одной стороны, многие разработчики игр чувствуют Дамоклов меч над головами, работая каждый день с вероятностью, что он станет для них последним. Хуже того, их уволили бы не из-за каких-либо нарушений, а потому, что их издатель передумал. Итак, разработчики игр живут в огромной неопределенности в своей повседневной жизни.

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

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

КОГДА ГЕЙМЕРЫ ВОЗВРАЩАЮТСЯ В ИНТЕРНЕТ

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

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

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

Как ни странно, весь этот стресс не компенсируется большой зарплатой. Большинство зарплат разработчиков игр начинаются примерно с 60 000 долларов в год для разработчиков начального уровня и превышают около 125 000 долларов для старших разработчиков. Для сравнения, веб-разработчики обычно зарабатывают от 54 000 до 103 000 долларов. Фактор безопасности работы в Интернете, и вполне понятно, что многие люди выберут менее напряженный путь.

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

ПРОГРАММЫ ПРОГРАММИРОВАНИЯ МЕНЯЮТСЯ

Почему нам нужно думать о парадигмах программирования? В конце концов, существует множество инструментов без кода или с низким кодом как для веб-разработки, так и для разработки игр. Однако в какой-то момент разработчики не могут обойтись без кода. Для веб-разработчиков это может произойти, когда им нужно управлять базами данных, подключенными к веб-странице, или построить базовую логику сайта. Разработчику игры может потребоваться код, чтобы прояснить логику игры или создать компоненты ИИ. Тем более, что эта практика набирает обороты в кругах геймеров, разработчикам игр будет невозможно избежать программирования.

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

Для видеоигр старое объектно-ориентированное программирование остается нормой. Это имеет смысл, исходя из того, как работают видеоигры. Например, игрок определенной игры может быть экземпляром класса «Player». Любой зомби, вампир или акула может быть представителем класса «Монстр». Этот тип программирования интуитивно понятен и, по крайней мере, для большинства игр, достаточно гибкий и расширяемый, чтобы в дальнейшем добавлять обновления и новые функции.

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

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

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

ТРУДНЫЙ ПЕРЕХОД ОТ ИНТЕРНЕТА К ИГРАМ

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

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

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

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

ЛУЧШИЕ ПРАКТИКИ ДЛЯ КОГО?

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

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

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

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

ИГРЫ: THE FORT KNOX OF DEVELOPMENT

С точки зрения размеров веб-индустрия и игровая индустрия очень похожи. Игровая индустрия выигрывает с точки зрения сложности и требуемых навыков. Однако у этого есть обратная сторона: программистам игр часто требуется много часов на отладку игры из-за ее сложности.

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

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

Хотя некоторым это удается, кажется, что игры — это форт-Нокс в разработке программного обеспечения. Чтобы попасть внутрь, вам понадобится обширный набор навыков и понимание потребностей ваших клиентов. Это можно сделать, если вы действительно этого хотите, но можете не сомневаться, что на этом пути возникнут некоторые трудности.

Оцените статью
Добавить комментарий