[Перевод] Создание игр на Python 3 и Pygame: Часть 3

image
(Остальные части туториала: первая, вторая, четвёртая, пятая.)

Это третья из пяти частей туториала о создании игр с помощью Python 3 и Pygame. Во второй части мы рассмотрели класс TextObject, используемый для рендеринга текста на экран, создали основное окно и узнали, как отрисовывать объекты: кирпичи, мяч и ракетку.

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

Обработка событий


В Breakout есть три типа событий: события нажатий клавиш, события мыши и события таймера. Основной цикл в классе Game обрабатывает нажатия клавиш и события мыши и передаёт их подписчикам (вызывая функцию-обработчик).

Хотя класс Game очень общий и не обладает знаниями о реализации Breakout, сама подписка и способы обработки событий очень специфичны.
Читать дальше →

[Перевод] Learnopengl. Урок 4.5 — Кадровый буфер

OGL3

Кадровый буфер

На текущий момент мы уже успели воспользоваться несколькими типами экранных буферов: буфером цвета, в котором хранятся значения цвета фрагментов; буфером глубины, хранящим информацию о глубине фрагментов; буфером трафарета, позволяющим отбросить часть фрагментов согласно определенному условию. Комбинация этих трех буферов зовется кадровым буфером (фреймбуфером) и хранится в определенной области памяти. OpenGL достаточно гибка, чтобы позволить нам самим создавать собственные кадровые буферы, посредством задания собственных буферов цвета и, опционально, буферов глубины и трафарета.
В передыдущих сериях
Часть 1. Начало
  1. OpenGL
  2. Создание окна
  3. Hello Window
  4. Hello Triangle
  5. Shaders
  6. Текстуры
  7. Трансформации
  8. Системы координат
  9. Камера
Часть 2. Базовое освещение
  1. ...Далее...

[Из песочницы] Как создать внутриигровое меню в Unity

Как создать внутриигровое меню в Unity


Unity позволяет не делать меню настроек, так как есть встроенный диалог настроек качества и разрешения перед запуском игры. Однако если вы хотите сделать вашу игру неповторимой и показать, на что способны, как дизайнер, то эта статья именно для вас. После прохождения этого туториала вы сможете создавать свое собственное меню с таким функционалом – настройки громкости, разрешения, качества изображения, переключения полноэкранного и оконного режима. Интересно? Тогда запускай Unity и поехали!
Читать дальше →

[Из песочницы] Russian AI Cup 2017 — история второго места

Привет! В этой статье я хотела бы рассказать вам о своем участии в соревновании по написанию игровых ботов Russian AI Cup CodeWars, на котором мне удалось занять 2 место, и что и как для этого было сделано.
Читать дальше →

[Перевод] Сравнение отклика клавиатур

Если вы посмотрите на «игровые» клавиатуры, то многие из них продаются по цене $100 или выше на заявлениях об их быстроте. В рекламных объявлениях вы можете встретить такие заявления:
  • Специально разработанные клавиши, которые сокращают время регистрации нажатия
  • В 8 РАЗ БЫСТРЕЕ — скорость опроса 1000 Гц: время отклика 0,1 миллисекунды
  • Получи абсолютное преимущество над своими противниками со сверхбыстрой работой клавишных переключателей 45g и срабатыванием на 40% быстрее, чем у стандартных переключателей Cherry MX Red
  • Самая высокая в мире частота опроса 1000 Гц
  • Самая быстрая в мире игровая клавиатура, частота опроса 1000 Гц, время отклика 0,001 секунды
Несмотря на все эти заявления, я нашёл только одного человека, который публично протестировал время отклика клавиатуры — и он проверил только две клавиатуры. Вообще, по моему глубокому убеждению, если кто-то делает заявления о производительности без бенчмарков, то вероятно эти заявления не являются правдой, как непротестированный (или иным образом проверенный) программный код следует по умолчанию считать нерабочим. Ситуация с игровыми клавиатурами во многом напоминает разговор с продавцом машин: Продавец: Эта машина супербезопасна! В ней 12 подушек безопасности! Я: Это хорошо, но как выглядит в краш-тестах? Продавец: 12 подушек безопасности!...Далее...

Ошибки новичка Unity, испытанные на собственной шкуре

Привет, Хабр. Это снова я, Илья Кудинов, QA-инженер из компании Badoo. Но сегодня я расскажу не о тестировании (этим я уже занимался в понедельник), а о геймдеве. Нет, этим мы в Badoo не занимаемся, разрабатывать компьютерные игры — моё хобби. Профессионалы индустрии, не судите строго. Все советы в этой статье адресованы начинающим разработчикам, решившим попробовать свои силы в Unity. Многие советы можно отнести к разработке в целом, но я постараюсь добавить в них Unity-специфику. Если вы можете посоветовать что-то лучше, чем предлагаю я — пишите в комментариях, буду обновлять статью. Я мечтал разрабатывать игрушки с детства. Наверное, уже в далёком 1994 году, когда мне подарили мою первую Dendy, я думал: “Как была бы здолава, если бы вот в этай иглушке было бы ещё всякое классное...” В средней школе я начал учиться программировать и вместе с товарищем делал свои первые играбельные поделки (ох, как мы их любили!). В институте мы с друзьями строили наполеоновские планы о кардинальном изменении индустрии с помощью нашей совершенно новой темы… А в 2014 году я начал изучать Unity и наконец-то НА САМОМ ДЕЛЕ начал делать игры. Однако вот беда: я никогда не работал программистом. У меня не было опыта настоящей корпоративной разработки (до этого я всё делал “на коленке”, и, кроме меня, в моём коде никто бы не разобрался). Я умел программировать, но я не умел делать это хорошо. Все мои знания Unity и C# ограничивались скудными ещё на тот момент официальными туториалами. А мой любимый способ познавать мир — делать ошибки и учиться на них. И я наделал их предостаточно. Сегодня я расскажу о некоторых из них и покажу, как их избежать (ах, если бы я знал всё это три года назад!) Для того чтобы понять все используемые в материале термины, достаточно предварительно пройти один-два официальных туториала Unity. Ну, и иметь хоть какое-то представление о программировании....Далее...

[Из песочницы] Russian AI Cup 2017 — История 11 места

Я хотел бы рассказать о своих подходах к написанию бота для Russian AI Cup 2017. Решил описать и саму историю и техническую часть, но тем, кого интересует именно реализация, можно смело прокручивать до соответствующего подзаголовка.


Итак..

Читать дальше →

[Перевод] Каково это — создавать игру для Game Boy в 2017 году

image

У всех была детская мечта. Лично я мечтал создать игру для моей первой консоли: Nintendo Game Boy. Сегодня моя мечта реализовалась — я выпустил первую игру для Game Boy на настоящем картридже: Sheep It Up!

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

  • Часть 1: использованные инструменты/технические сложности/сложности с графикой
  • Часть 2: ограничения звука/создание картриджей/отзывы игроков (эта часть пока пишется)
Читать дальше →

Дайджест интересных материалов для мобильного разработчика #232 (27 ноября-3 декабря)

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

Читать дальше →

[Перевод] Рисователь биомов: наполняем содержанием огромный мир

Как преобразовать карту высот с верхней картинки в лес с нижней? Игры с открытым миром стабильно набирают популярность и находятся на первых местах в списках бестселлеров. Каждая новая игра поднимает планку размеров и сложности мира. Просто глядя на трейлеры последних игр с открытым миром, можно понять, что их цель — создание ощущения огромного масштаба. Постройка таких миров ставит перед разработчиками большой вопрос — как эффективно заполнить подобные просторные миры? Никто не хочет расставлять каждое дерево вручную, особенно если команда разработки мала. В конце концов, разработка игр всегда связана с умными компромиссами. Если посмотреть на типичную игру с открытым миром, то можно увидеть в действии принцип Парето — 20% контента составляют основной путь игрока, а 80% — это фон. Основной путь игрока должен отличаться высоким качеством и художественным содержанием, потому что игроки проведут на нём бо́льшую часть времени. Фоны, в том числе обширные леса или пустыни вокруг главных городов, не требуют такого внимания к деталям. Эти 80% представляют собой отличную цель для умных инструментов размещения содержимого, которые слегка жертвуют качеством и художественным оформлением в пользу скорости и простоты создания контента. Читать дальше →...Далее...


Последние посты