Там, где живет Python: разработка игр на одном из популярнейших языков программирования

Записаться на Python и другие курсы можно на сервисе Skillfactory, а по промокоду ZONA вы получите скидку 50% (действует до 30 сентября)!

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

Ну а фулстек-разработчику обязательно свести близкое знакомство с «питоном», он же Python. Нет, искать во влажных джунглях змею огромных размеров не придется. Ведь речь идет о проверенном и популярном языке программирования.

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

173741-3_8vzj.jpg

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

Одно из самых очевидных достижений Python — универсальность. Его используют и в производстве видеоигр, особенно небольших. Чтобы не показаться голословными, приведем примеры — они скажут вам больше, чем любые громкие эпитеты. Да, Python сгодится для создания чего-нибудь незамысловатого, вроде «Змейки». Но команда спецов с хорошим бюджетом способна создать настоящий блокбастер, и вот вам доказательства.

Абсолютная кассика жанра слэшер, игра испанских разработчиков Severance: Blade of Darkness (2001, студия Rebel Act Studios) использовала язык Python в максимальном объеме: практически все, из чего состоит Severance, исполнено на Python. А игра стала культовой благодаря сложной, реалистичной и брутальной системе боя с холодным оружием. Отрубленные руки орков и обезглавленные гоблины запомнились надолго.

173745-scale_1200.jpg

В 2002 вышла в свет неординарная и яркая ролевая аркада Freedom Force. Создателем стала, на минуточку, студия Irrational Games (System Shock, BioShock, SWAT 4). С задорным юмором, с прицелом на стеб и пародию нам рассказали историю команды супергероев, спасавших в очередной раз Америку. Кроме удачной клоунады игра запомнилась тактической глубиной и интерактивностью окружения — злодеев можно было гонять выдернутым из асфальта столбом или светофором.

Что бы не говорили о контенте для одиночной игры и о королевском троне Call of Duty, но по накалу онлайн-баталий никто не переплюнул бренд Battlefield. Python применялся в разработке нескольких игр франшизы, таких как Battlefield 2, Battlefield 2142 и Battlefield Heroes. Перечисленные проекты заслужили признание как критиков, так и игроков. Именно такие тайтлы доказывают, что игра с живым соперником всегда будет совершенно иным, более насыщенным опытом по сравнению с противостоянием искусственному интеллекту. Про ценность нарратива одиночных игр поговорим как-нибудь в следующий раз.

173743-558476-screen074.jpg

На языке Python был написан популярнейший онлайновый космический симулятор EVE Online. Этот проект, пожалуй, крупнейший пример использования Python. EVE — игра во многом уникальная. Она обладает довольно высоким порогом вхождения и быстро отсеивает случайный людей, казуалам здесь не место. К тому же здесь вы не найдете никакой условно-бесплатной системы; путь к звездам откроется только за звонкую монету. Так испаряется еще одна группа случайных пользователей. И при всем этом EVE популярна невероятно, в одной из самых масштабных космических баталий мира EVE Online было взорвано кораблей на 300 тысяч вполне себе реальных долларов США!

173745-v8iFd7A8JY287ZSiTWI9dA.jpeg

Python применили и турецкие разработчики из команды TaleWorlds для своего «спящего хита» Mount and Blade (2008). Не располагая большим бюджетом, ребята из Турции выдали игру, ставшую для многих проектом мечты. Высочайшая степень свободы и открытые просторы средневекового мира привлекли целую армию геймеров, а Mount and Blade на сегодняшний день стала успешной серией, новая игра с подзаголовком Bannerlord собрала вокруг себя многочисленное сообщество, находясь на стадии раннего доступа в сервисе Steam. Своеобразная система сражений на мечах и копьях, боевые лошади, многочисленные армии под вашим началом — всего этого могло и не быть, если бы не умелое использование языка Python.

Монументальная серия глобальных стратегий от маэстро Сида Мейера перешла в три измерения только в 2005 году с выходом четвертой номерной части. Sid Meier's Civilization IV на тот момент выглядела и звучала просто потрясающе. Да и по исполнению игровых механик претензий к игре не было; исправно работало то самое волшебство из пошаговых стратегий — еще один ход, и спать. Для разработки своего безоговорочного хита Сид Мейер, как вы уже поняли, применял язык Python.

173744-ps4-sid-meiers-civilization-vi_5.

И эта игра, продавшаяся тиражом более одного миллиона копий также написана на языке Python. Речь о The Sims 4. Игра с симуляцией жизни покорила своим уровнем проработки и глубиной даже людей, максимально далеких от мира видеоигр. Два года этот проект не покидал вершины чартов продаж по обе стороны Атлантики. Python в данном хите применяли для обеспечения поддержки любительских модификаций. И поклонники свободного творчества обеспечили игре вторую жизнь — сработали десятки и сотни самых различных модов на основе The Sims 4. Это ли не показатель популярности и успеха?

173742-4d5afab63500f4d86f8439a0769f05c4.

Из холодной Финляндии в 2006 году пришла музыкальная игра Frets on Fire. Да, во многом этот проект похож на Guitar Hero. Но есть одна особенность, которая выделяет финскую игру из общей массы. У Frets on Fire открыт исходный код. И на базе этой игры можно изучать программирование как таковое и беспрепятственно практиковаться. Помимо открытости код игры еще и очень проста в освоение, вам не понадобится высшее специализированное образование. Игра полностью написана на Python.


Если вы дочитали этот текст до конца, то вы, вероятно, хотите стать успешным разработчиком игр. Хотите подарить маме розовый кадиллак и раздавать автографы на американской выставке Е3. Быть может, пора сделать первый шаг к мечте? Курсы изучения Python доступны и эффективны.

Записаться на Python и другие курсы можно на сервисе Skillfactory, а по промокоду ZONA вы получите скидку 50% (действует до 30 сентября)!

Алексей Корсаков в 11:01 28 авг 2020

Новости и статьи по тегам:

Комментарии:

  • Оставить комментарий
  • jaha40 28 авг 2020 11:14:35

    Ээээ, я все конечно понимаю, но в Unity пишут на C#, в Unreal Engine на C++. Питон как основной язык разработки в геймдеве это как не пришей #@!%^ рукав

  • SerGEAnt 28 авг 2020 11:34:58
    jaha40 в 11:14 28 авг 2020 сказал:

    Питон как основной язык разработки

    Текст вообще не про это.

  • Hellson 28 авг 2020 11:44:00

    Какой рекламный статья. Вах!

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

  • rainmind 28 авг 2020 12:08:33
    Алексей Корсаков в 11:01 28 авг 2020 сказал:

    Курсы изучения Python доступны и эффективны. И пускай вам поможет сама судьба, скидка 50% и вот эта ссылка.

    Так вот к чему была эта пустая статья)))

    SerGEAnt в 11:34 28 авг 2020 сказал:

    Текст вообще не про это.

    А про то, что на геймресурсе надо дать рекламу с использованием игр как наглядных примеров?

    А теперь о главном, как часто по ссылке в статье на самом сайте упоминаются компьютерные игры:

    badum-tss-ba-dum-tss-vk-50453300.png

    Ну, угадайте)))

  • DarkHunterRu 28 авг 2020 17:46:53

    @rainmind ссылочку то уже того )) гонорары не поделили ))

  • Hellson 28 авг 2020 20:07:59
    Upir Оfeigr в 18:28 28 авг 2020 сказал:

    Можно подумать они ими хоть когда-то не считались.

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

  • IOne 28 авг 2020 22:13:58
    Hellson в 11:44 28 авг 2020 сказал:

    Какой рекламный статья. Вах!

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

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

  • Hellson 28 авг 2020 23:15:18
    IOne в 22:13 28 авг 2020 сказал:

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

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

    С питонистами так же, как с вебом - лёгкий язык, в тренде, почему бы и да? И чем больше вот таких неясных реклам на 2-3 курса в интернете — тем больше таких недопрограммистов выпускается. А насчёт зп не скажу, что они сильно отличаются так-то, но найти работу веб-макакой или питонистом несравненно проще, соглашусь. Никого не хотел обидеть макаками, просто нравится это выражение, сам помимо плюсов на Java веб-сервисы с фронтом пишу.

    По хорошему, хочешь много получать — изучай 2-3 языка, работу с БД, становись фул-стак, и всё. С одним языком далеко не уедешь, особенно, когда этот язык до невозможности простой и его не изучал разве что совсем ленивый.

    Красивые картинки тут (Work —> Salary): https://insights.stackoverflow.com/survey/2020#work-salary-by-developer-type-global

    Вот срез за 18 год:

    24bfd719a7c4d43b892ea42c734e5b78.png

  • Boogeemaan 29 авг 2020 12:13:21

    ...Я сперва подумал, что по ошибке оказалсо на йяндехбздене.

  • rainmind 07 сен 2020 15:10:51
    Hellson в 23:15 28 авг 2020 сказал:

    По хорошему, хочешь много получать — изучай 2-3 языка,

    А много это сколько?

  • SerGEAnt 07 сен 2020 16:17:17
    rainmind в 15:10 07 сен 2020 сказал:

    А много это сколько?

    Это когда ты можешь себе позволить комфортную жизнь :)

  • IOne 07 сен 2020 16:23:52
    Hellson в 23:15 28 авг 2020 сказал:

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

    С питонистами так же, как с вебом - лёгкий язык, в тренде, почему бы и да? И чем больше вот таких неясных реклам на 2-3 курса в интернете — тем больше таких недопрограммистов выпускается. А насчёт зп не скажу, что они сильно отличаются так-то, но найти работу веб-макакой или питонистом несравненно проще, соглашусь. Никого не хотел обидеть макаками, просто нравится это выражение, сам помимо плюсов на Java веб-сервисы с фронтом пишу.

    По хорошему, хочешь много получать — изучай 2-3 языка, работу с БД, становись фул-стак, и всё. С одним языком далеко не уедешь, особенно, когда этот язык до невозможности простой и его не изучал разве что совсем ленивый.

    Красивые картинки тут (Work —> Salary): https://insights.stackoverflow.com/survey/2020#work-salary-by-developer-type-global

    Вот срез за 18 год:

    24bfd719a7c4d43b892ea42c734e5b78.png

    Данные за первое полугодие 2020г https://habr.com/ru/article/511700/

    Зарплаты у программистов Python в среднем по России выше C++.

    tild3336-3432-4266-b330-363964643337__xo

  • rainmind 07 сен 2020 16:50:26
    SerGEAnt в 16:17 07 сен 2020 сказал:

    Это когда ты можешь себе позволить комфортную жизнь :)

    А комфортная жизнь — это какая? А то может ты там депутитишь потихонечку и у тебя она особенная.

  • SerGEAnt 07 сен 2020 16:52:41
    rainmind в 16:50 07 сен 2020 сказал:

    А комфортная жизнь — это какая?

    Ну как это какая? Тебе хватает на еду, ты можешь себе купить автомобиль “здесь и сейчас” без необходимости копить на него, съем жилья отнимает 10-20% заработка и т.д.

  • Hellson 07 сен 2020 17:26:22
    IOne в 16:23 07 сен 2020 сказал:

    Данные за первое полугодие 2020г https://habr.com/ru/article/511700/

    Зарплаты у программистов Python в среднем по России выше C++.

    tild3336-3432-4266-b330-363964643337__xo

    Это норма для хайповых и трендовых языков. Время скорректирует всех все равно.

    @rainmind у каждого свои планки. Кому-то и 30к норм, а кому-то и 100к мало. Я исхожу из средней зп погромистов по больнице с учетом хотелок нынешней молодежи. Вот и считайте - 150-180к net где-то. Кому-то и того мало. Все люди разные.

  • rainmind 07 сен 2020 18:16:16
    Hellson в 17:26 07 сен 2020 сказал:

    Вот и считайте - 150-180к net где-то. Кому-то и того мало. Все люди разные.

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

  • Hellson 07 сен 2020 18:35:58
    rainmind в 18:16 07 сен 2020 сказал:

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

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

    Если это магазин, то достаточно пары рукастых прогеров и одного 1Сника.

    А вот если это хипстерский стартап с майнингом и прочей модной шляпой - да, один не вытянет. Надо команду, лидов, агиль-скрум-пум-зум, тонны переговоров, 80-20 и прочие умные весчи. Иначе никак, стартап жешь.

  • IOne 08 сен 2020 12:10:53
    Hellson в 17:26 07 сен 2020 сказал:

    Это норма для хайповых и трендовых языков. Время скорректирует всех все равно.

    По мне, ниша C++ постепенно сокращается.

    C++ позволяет выжать бОльшую производительность, чем, например, Java или C# ценой сложности разработки и высоким требованиям к программистам.

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

    Так же используется для работы с железом(драйвера, прошивки и т.д.), т.к. там нужен unmanaged код, работа с указателями, а синтаксический сахар и всякие фреймворки не нужны. Хотя в этой области чаще используется чистый C.

    Так что хорошо заработать на C++ можно, только если ты очень хороший программист и придёшь, допустим, в компанию, у которой есть высоконагруженные проекты и перепишешь часть кода, написанную на Java быдлокодерами, на C++ и ускоришь тем самым производительность.

    А если ты средненький C++ программист, то придётся работать либо в древних проектах, написанных 15 лет назад на C++ Builder или MFC, либо в оборонке, либо во ФГУП, НИИ или заводе инженером-программистом, программирующем железки. Все эти места низкооплачиваемые.

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

  • DarkHunterRu 08 сен 2020 17:42:21

    Нафига этот пост по новой закреплять, тут даже рекламная ссылка потерта…

  • DarkHunterRu 08 сен 2020 18:05:13
    IOne в 12:10 08 сен 2020 сказал:

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

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

  • Оставить комментарий