Jump to content
Zone of Games Forum
Алексей Корсаков

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

Recommended Posts

174920-2.jpg

Blade of Darkness, серия Battlefield, Mount & Blade, Sid Meier's Civilization IV и даже The Sims 4 активно использовали код, написанный на Python.

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


Записаться на 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 сентября)!

  • Like (+1) 1
  • Haha (+1) 1

Share this post


Link to post
Только что, rainmind сказал:

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

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

Share this post


Link to post
1 час назад, IOne сказал:

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

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

tild3336-3432-4266-b330-363964643337__xo

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

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

 

Share this post


Link to post
45 минут назад, Hellson сказал:

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

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

Share this post


Link to post
15 минут назад, rainmind сказал:

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

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

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

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

Share this post


Link to post
18 часов назад, Hellson сказал:

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

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

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

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

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

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

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

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

  • Like (+1) 1

Share this post


Link to post

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

Share this post


Link to post
6 часов назад, IOne сказал:

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

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

Edited by DarkHunterRu

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Similar Content

    • By Mormon

      Общее количество существующих в наше время киберспортивных дисциплин невелико, однако существенный плюс этого вида ставок заключается в том, что на постоянной основе разрабатываются всё новые и новые игры, которые занимают важную нишу в мире соревновательных игровых дисциплин.
      Ни для кого не секрет, что в последнее время ставки на киберспорт набирают всё больше и больше популярности, как у современных почитателей этой отрасли, так и у гемблеров в целом. Однако, многие продолжают задаваться вопросом, стоит ли вкладывать свои деньги и время в подобного рода мероприятия, особенно на фоне того, что классический спорт также способен приносит неплохие барыши. Давайте же вместе попробуем в этом разобраться.
      Количество существующих дисциплин
      Общее количество существующих в наше время киберспортивных дисциплин невелико, однако существенный плюс этого вида ставок заключается в том, что на постоянной основе разрабатываются всё новые и новые игры, которые занимают важную нишу в мире соревновательных игровых дисциплин. На данный момент, например, актуальными являются следующие игровые дисциплины:
      Counter Strike: Global Offensive Overwatch Call of Duty StarCraft StarCraft II NBA FIFA Fortnite League of Legends Dota 2 Smite PlayerUnknown’s Battlegrounds Нужно учитывать, что с течением времени те дисциплины, которые были актуальны, могу утратить свою популярность и постепенно уйти на второй план, а то и вовсе перестать быть актуальными. Тем не менее, за счет того, что общий рынок игровых дисциплин растёт с каждым днем, маловероятно, что киберспорт не сумеет сформировать новых, более актуальных и соответствующих новому времени категорий.

      Капитализация и интерес растёт
      Несмотря на то, что средний доход футболиста на сегодняшний день всё ещё значительным образом превышает зарплаты киберспортсменов, присутствует весьма существенная вероятность того, что в скором времени эта тенденция исчерпает практически полностью. Тому может быть подтверждением хотя бы тот факт, что в период с 2015 по 2019 год средняя зарплата киберспортсмена выросла примерно в 3 раза (с 10 000 долларов США до 30 000 — 35 000 долларов США).
      Повышается также и общее количество денежных средств, которые спонсоры разнообразных турниров вкладывают в свои мероприятия. Это не только разогревает интерес самих профессиональных игроков, но также и обеспечивает стабильный приток фанатов, желающих понаблюдать за тем, как их протеже сражаются за крайне неплохие барыши на спортивной виртуальной арене.
      С каждым годом всё больше игроков начинает проявлять интерес к разнообразным стриминговым платформам, и не в последнюю очередь именно из-за того, что там можно понаблюдать за различными киберспортивными состязаниями. Это не только приносит непосредственный доход самим платформам, но также и способствует популяризации и укреплению позиций киберспорта, как явления, в геймерской и гемблерской средах. 

      Можно с высокой долей вероятности заявлять о том, что киберспорт постепенно будет оттяпывать всё больший и больший кусочек от общего пирога ставок любого рода. По сути, уже сейчас абсолютное большинство людей в возрасте до 20 лет, вероятнее сумеет назвать десяток популярных в виртуальной среде спортсменов, нежели 10 популярных футболистов, хоккеистов, либо каких-либо других спортсменов.
      Поэтому, учитывая всё вышесказанное, киберспорт, в конечном итоге, станет одной из главных и наиболее популярных категорий среди всех существующих на сегодняшний день спортивных мероприятий. Поэтому, если Вы являетесь любителем ставок, рекомендуем уже сейчас обратить пристальное внимание на какую-либо одну, а лучше сразу на несколько категорий соревновательных компьютерных игр. Особенно, учитывая современные тенденции развития человеческой цивилизации. 
      Удачи в ваших изысканиях, и удачных ставок!
    • By Stupid Author

      Не так давно во многих авторитетных СМИ появилась информация, что Ильяс ‘illias’ Ганеев близок к уходу из команды «Navi». Учитывая тот факт, что последние результаты СНГ-коллектива не радуют фанатов, делающих ставки на сайте https://ggbet.ru/dota2, замена молодого игрока вполне реальна.
      Правда, не стоит забывать, что сейчас, когда турниры по Dota 2 проводятся каждую неделю, осуществить достойный трансфер максимально сложно. Следовательно, руководителям «Navi» придется выходить на рынок свободных агентов, а там есть только два доступных варианта для усиления состава.

      SoNNeikO
      Трудно поверить, что Акбар вновь присоединится к бывшей команде. Бытует мнение, что дважды в одну реку не входят, но иногда все-таки стоит попробовать. Тем более, Сонейко еще не потерял форму. По крайней мере под его руководством команда «Nip» демонстрировала хорошие результаты, играя на престижных турнирах.
      Что касается «Navi», то у СНГ-коллектива давно не было глобальных успехов, поэтому руководство может смело сделать ставку на лидерские качества Сонейко, не особо опасаясь за репутацию. И пусть у Акбара довольно специфический характер, все закроют глаза на его выходки, если команда начнет показывать игру соответствующего уровня.

      Misha
      Миша может взять на себя функции капитана, невзирая на сравнительно юный возраст. Именно такой игрок сейчас нужен «Navi», ведь перспективный коллектив пока не реализовывает свой потенциал в полной мере. При этом нельзя сказать, что кто-то из исполнителей отыгрывает откровенно плохо, но многие стратегические решения, принятые по ходу поединков, действительно оставляют желать лучшего.
      Если же Миша перейдет в «Navi», что вполне вероятно, то подобная проблема исчезнет сама собой. Главное, чтобы молодой игрок быстро завоевал доверие партнеров по команде, а правильно строить драфты он уж точно умеет. К тому же, Миша отличается от многих коллег по цеху тем, что не совсем стандартно смотрит на игру. И пусть его тактические идеи со стороны выглядят не слишком убедительно, как правило, они позволяют побеждать.
      Впрочем, в такой ситуации на первый план выходит даже не результат, а стабильность и непредсказуемость конкретной команды.



Zone of Games © 2003–2020 | Реклама на сайте.

Система Orphus

×