Обновить
225.71

Разработка игр *

Разработка игр

Сначала показывать
Порог рейтинга
Уровень сложности

Pygame для начинающих программистов. Статья первая

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров44K

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

Изучение Python с помощью разработки игр не только делает процесс обучения более интересным, но и помогает освоить ключевые концепции программирования в практическом контексте. Игры — это не просто развлечение; они представляют собой сложные системы, требующие логического мышления, креативности и навыков решения проблем. Разработка игр позволяет новичкам быстро увидеть результаты своего труда, что значительно повышает мотивацию и желание продолжать обучение.

Библиотека Pygame, в свою очередь, предоставляет мощный инструментарий для создания 2D-игр на Python. Она упрощает работу с графикой, звуком и взаимодействием с пользователем, позволяя сосредоточиться на логике игры и дизайне. С Pygame мы будем реализовать свои идеи создавая игровые механики.

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

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

Читать далее

Тяжелый H[header]

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров11K

Всегда хотел написать о чем-нибудь легком и воздушном, как пишет например @antoshkkaпро userver или о том, как легко и непринужденно обернуть какую-нибудь хрень алгоритм в десяток шаблонов, полить это все std::optional и попивая кофе ждать, когда компилятор соизволит это всё пережевать. Но судьба (а не тимлид, нет, как вы могли такое подумать) постоянно подкидывает задачки, где суровые объятия отладчика не отпускают мечтательную душу программера до поздней ночи, да вечная борьба с компилятором рушит все попытки обернуть результат хрени алгоритма в другой десяток шаблонов. На этот раз судьба ясным июньским утром подкинула забавную задачу - время полной сборки бандла подбиралось к двум часам, да собирать бандлы нынче удовольствие не из быстрых, но посмотрев статистику стало понятно, что ~55% процентов времени тратится на сборку ресурсов: текстур, моделей, локализацию, и тд. Там есть что чинить, но это царство билд-инженеров. Еще 30% или сорок минут тратится на тесты, теперь все что мы насобирали и переконвертили надо проверить, загрузить, пострелять, побегать, монстров поубивать, BT-шки погонять, с этим пусть QA разбираются. А вот оставшиеся 15% или около 15 минут мы занимались настоящей работой, собирали сердце проекта - бинарь. Да норм, у нас всегда так, даже на пустом проекте UE - сказали наши мобильщики и ушли пить кофе на терассу . Но мы же не мобильщики, мы серьезные AAA ребята, у нас свой движок и кастомный пайплайн на билдферме. И потом 15 минут это очень много, даже если у тебя 27к файлов в проекте, айда смотреть куда время потратили.

Убить немного времени

Заметка про пользовательские соглашения в Web-играх

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.9K

Некоторое время назад у меня была дискуссия на тему необходимости оповещать пользователей о сборе пользовательских данных в Web-играх.

Многие крупные проекты в Google Play при первом запуске требуют прочитать и принять пользовательские соглашения: обычно это Privacy Policy и Terms of Use.

Однако в Web-проектах, например на Яндекс.Игры или VK Игры, такого не встретишь. И не понятно, нужно ли это там. Я провёл небольшое «расследование» на площадках, и, кажется, понял, как это устроено.

Читать далее

Skyrim — и только блеск кожанки в отражении заднего зеркала

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4K

Доброго времени суток, уважаемые граждане Хабрастана! Сегодня мы вводим всеобщее крепостное избирательное право. Рады вам сообщить, что самая демократичная и народная игра сегодня пожаловала к нам на операционный стол.

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

Лороведы всегда поправляют, что это не пятая часть Скайрима, правильно - Древние Свитки 5: Скайрим(Небесный Край), и следующая часть не будет, называться Скайрим, однако, потом сразу две следующие части называли Скайрим. И так, встречайте, Creation Engine - The Elder Scrolls 5: Skyrim 2.5 штуки.

Купить TES 5: Skyrim - Gachi Edition

Fallout London: гигантский мод для Fallout 4. Что за новинка и стоит ли поиграть?

Время на прочтение6 мин
Количество просмотров15K

Бонджорно, мои золотые! Это Идар Табухов, скрам-мастер в МТС Диджитал и фанат компьютерных игр. Сегодня хочу поговорить про Fallout London — на мой взгляд, это один из самых крупных фанатских проектов за всю историю существования игры. Мод переносит центр интересов игрока за океан, давая возможность исследовать разрушенный ядерным апокалипсисом и грузом последующих веков Лондон — мы вне США, Карл! Это не просто набор из нескольких новых миссий, а самостоятельная, детально проработанная история, с уникальной атмосферой, полностью британскими локациями, персонажами и квестами.

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

Читать далее

486-го хватит всем

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров70K

В конце технического интервью, если кандидат ответил на вопросы и справился с задачами, у нас есть время для свободных вопросов, которые можно задать команде или кому-то из интервьюеров. Эту практику я переносил из компании в компанию, и она всегда помогала разрядить обстановку или вывести человека на разговор, если он был напряжен во время общения. Вопросы могут быть любые, кроме личных или тех, что под NDA. Обычно кандидаты задают технические вопросы по стеку, пайплайнам, иногда пытаются задать каверзные вопросы, особенно по плюсам, чтобы проверить нас. Иногда мы не можем ответить на них. Вопросы в стиле Google — например, «почему таблетки круглые?» — тоже встречаются, но недавно на одном из интервью прозвучал вопрос, на который вроде все и знали ответ, но никто сразу не смог его дать. Вопрос звучал так: «Какие общие технологии и решения появились в процессорах с времён 486, которыми мы часто пользуемся?»

Вопрос действительно интересный — что нового появилось, чем мы пользуемся каждый день? Что умеют современные процессоры, чего не могли процессоры год или два назад, пять или десять лет назад, сорок лет назад? Мы просто используем миллиарды транзисторов, даже не зная, как они работают. Покопавшись в Википедии, на сайте Агнера Фога и в документации Intel, я составил список того, что появилось и используется в современных процессорах. Всё, что указано ниже, относится в основном к x86 и консолям, если не указано иное. Поскольку консоли после третьего поколения PlayStation — фактически ПК с минимальными отличиями, речь дальше пойдёт в основном о ПК. История имеет склонность повторяться, и многое из того, что мы сейчас имеем, вводилось не один раз, просто под разными названиями.

Читать далее

Экономика и Монетизация игр: Краткое руководство

Уровень сложностиПростой
Время на прочтение67 мин
Количество просмотров15K

Здравствуйте, дорогие читатели!

Меня зовут Алексей Карпенко. Проработав в разработке игр больше 5 лет, разрабатывая экономику и баланс для проектов, принесших более 150M$+ выручки, я решил подытожить все свои знания в экономике, балансировке и монетизации игр в одну работу, и поделиться с другими разработчиками.

Материалов в данной сфере совсем немного, на момент написания статьи осень 2024 года, всего +-20 научных статей и пару книг, одна из которых 800 страничный фолиант от Brenda Romero and Ian Schreiber. Я собрал всю эту информацию в одной статье, а также добавил свои знания и опыт, поэтому я считаю что мои знания будут полезны для вас.

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

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

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

Приятного чтения! 😊

Читать далее

Деконструкция локаций

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.3K

Что такое деконструкция локаций, зачем она нужна дизайнеру уровней, как лучше ее начать делать и какие инструменты использовать?

Читать далее

Недельный геймдев: #198 — 3 ноября, 2024

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.6K

Из новостей: Sony закрывает Firewalk Studios — создателей Concord, в российских колледжах начнут готовить разработчиков видеоигр, Call of Duty: Black Ops 6 бьёт рекорды, Unity требует от авторов Rust минимум 500 тысяч долларов в год.

Из интересностей: реализация крошечного растеризатора на CPU, как устроены тени в старых 3D-играх, как Unity отказались от своих строк.

Читать далее

Как я одержал победу над создателем чита для MMO-игры

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров18K

В конце 2000-х я работал в нишевой компании, разрабатывавшей MMO-игру. У нас была небольшая команда и скромная прибыль, зато верная аудитория. Игра опиралась именно на навыки, не предлагая привычных усилений, и игрокам такая система нравилась.

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

Давайте-ка наваяем PumpKeen Game. Как Commander Keen, только про Pumpkin (тыкву). Хэллоуин же

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров1.2K

Лучший способ отпугнуть монстров на Хэллоуин — это не только свечку в тыкве зажечь, но и страшную игру написать.

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

– Python

– Модуль p5py (p5.js, но только для Пайтона)

Online-IDE в браузере

Читать далее

Автостопом по мультиплееру. Часть 4: Авторитарность и Топологии

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров2.9K

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

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

Читать далее

Денди 2

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.3K

Скажите, а Вы помните как это было в первый раз? Ну да тогда именно тогда, когда Вы впервые принесли домой ту самую заветную тайваньскую коробочку с Ден.....ну то есть с Лифа или с БТ или ещё с каким-нибудь клоном японского Фамикома. Помните те чувства, когда Вы впервые запустили этот чёрный картридж 9999 в 1 и ту самую мелодию: Там та да да да там. Марио, Танчики, Утки, Галага, Пекмен и много много других аркадных хитов 70-х хоть и не стали нашими любимыми играми, но сейчас о них думаю остались лишь только тёплые и душевные воспоминания у всех. А потом наш мир, состоящий лишь из настольных игр и книг, да редких походов в зал игровых автоматов за 15 копеек разделился на ДО и ПОСЛЕ. И именно Денди принесла нам те самые ощущения радости и веселья, которые мы не забудем уже никогда.

Читать далее

Ближайшие события

Абсурдная незащищенность проекта @gamee

Время на прочтение8 мин
Количество просмотров3.7K

Возможно вы подумаете, что этот многопользовательский видеоигровой проект, основанный практически десять лет назад должен сейчас содержать хотя бы что‑то на подобии античита: лично я сразу начинаю представлять в своей голове фоновые капчи, слежку за всеми касаниями экрана, биг дату, самостоятельную криптографию, сервер‑сайд стейт, и прочее. Как показывает час моего свободного времени — ничего подобного там нет. Сейчас я вам подробнее покажу, почему этот «веб 3.0 проект», как и многие другие, является полным бредом разработанным на коленках.

Читать далее

Игровое поле экспериментов: какие ошибки могут подстерегать программиста при создании эмулятора

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров2.8K

Создание эмулятора для игр Xbox 360 на ПК — задача не из простых, и на каждом шагу можно столкнуться с коварными багами. Сегодня рассмотрим типичные проблемы, которые можно обнаружить при разработке, на примере проекта Xenia.

Читать далее

Как устроены тени в старых 3D-играх

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров13K

Ближе к концу превосходной ленты Вима Вендерса «Идеальные дни» главный герой Хираяма пьёт пиво под мостом после того, как увидел, как Бизнесмен ухаживает за девушкой, в которую влюблён Хираяма. Внезапно к нему подходит Бизнесмен. Всё оказалось не так просто, но их беседа приводит их к фундаментальным вопросам:

Бизнесмен: Тени. Становятся ли они темнее, когда накладываются друг на друга?
Хираяма: Не знаю.
Бизнесмен: Я не знаю ещё очень многого... Именно так заканчивается жизнь... Наверно.
Хираяма: Давайте узнаем прямо сейчас.
Бизнесмен: Что?

И они выходят на свет уличного фонаря, чтобы изучить свои тени (сцена целиком).

Хотя Бизнесмен и не видит разницы, Хираяма уверен, что пересекающиеся тени действительно становятся темнее. «Они должны становиться темнее, это логично». Очень сильная сцена.

К сожалению, Хираяма ошибается. Тени не становились темнее. Источник света всего один, и он довольно далеко, поэтому тень — это просто отсутствие света. Не важно, сколько раз перекрыт источник света.

В 3D-видеоиграх же тени — это нечто совсем иное. Очень легко нарисовать тёмное пятно под ногами персонажа и предполагать, что всё остальное освещено. Возможно, Хираяма вспоминал тень-пятно из Metal Gear Solid, которая становится темнее, когда накладывается на другие?

Читать далее

Программирование для детей 5–6-х классов: ТОП направлений

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.5K

Учащиеся 5–6-х классов (дети 11–12, реже – 10–11 лет) относятся к группе ребят младшего школьного возраста. В это время они активно познают окружающий мир, впитывают знания и обретают важные навыки. И это подходящий период для освоения программирования – второй грамотности, необходимой любому человеку XXI века. Почему это действительно важно и как начать изучение кодинга? Давайте разбираться.

Так, младший школьный возраст — удачное время для старта в программировании. Но спешим подчеркнуть, что иногда сразу погружать ребенка в написание сложного кода на текстовых языках не стоит: если нет базовых знаний, понимания алгоритмов и других важных принципов, начать лучше с использования Scratch и Code Builder. Уже после этого стоит присмотреться к Python и C#.

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

Читать далее

No Man's Sky: от полного разочарования до шедевра

Время на прочтение7 мин
Количество просмотров33K

Бонджорно, мои золотые! Это Идар Табухов, скрам-мастер в МТС Диджитал и фанат компьютерных игр. В прошлый раз я рассказывал, во что поиграть на macOS, а сегодня поговорим о взлетах и падениях No Man's Sky.

No Man's Sky от студии Hello Games — одна из самых противоречивых в игровой индустрии. До нее историй от практически полного провала и побивания камнями всех причастных до успеха и восхищенных отзывов игроков и критиков почти не было. Особенно если учесть многолетний путь этого проекта (11 лет, Карл!) и его маленькую команду с ограниченными ресурсами на старте.

Эту ситуацию наилучшим образом описывает древний афоризм: Per aspera ad astra — «через тернии к звездам». И ведь действительно: запуск игры был неудачным. Наверное, если бы разгневанным геймерам позволили, то авторов проекта кинули бы в те самые тернии. Но они (разработчики, не колючие кусты) не сдались и продолжали улучшать игру до тех пор, пока она не стала тем, чем является сегодня. Подробности — под катом.

Читать далее

MDA: Формальный подход к разработке и исследованию игр

Время на прочтение11 мин
Количество просмотров2.7K

"MDA: A Formal Approach to Game Design and Game Research"
Авторы: Робин Ханике (геймдизайнер Journey, принимала участие в создании ); Марк Леблан; Роберт Зубек (автор книги "Элементы гейм-дизайна. Как создавать игры, от которых невозможно оторваться")

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

Читать далее

Хотите, покажу вам магию живого кода на p5py?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.9K

Хотите, покажу вам магию живого кода на p5py?

Вдохновившись статьёй, посвящённой написанию клеточного автомата на Godot и экспорту проекта в HTML, хочу показать вам, как использовать для этих целей модерновый онлайн-движок p5py. Код живой не только потому, что мы про игру «Жизнь», но и благодаря способу его разработки и запуска. Всё очень живо!

Чёрный плащ

TL;DR: финальный проект вот здесь. Только кликните, и он появится.

Читать далее

Вклад авторов