• Создание игр на Python 3 и Pygame: Часть 4

    • Перевод
    • Tutorial
    image

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

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

    В этой части мы узнаем, как распознавать коллизии и что случается, когда мяч ударяется об разные объекты: ракетку, кирпичи, стены, потолок и пол. Наконец, мы рассмотрим важную тему пользовательского интерфейса и в частности то, как создать меню из собственных кнопок.
    Читать дальше →
    • +18
    • 6,7k
    • 2
  • Что в имени? Анализ данных названий 5820 игр в Steam

    • Перевод

    «Что в имени»? Больше, чем можно подумать. Если вы уже давно работаете над своей игрой или находитесь на этапах планирования, то в какой-то момент вам всё равно придётся выбирать ей название. Названия видеоигр могут стимулировать воображение и вызывать ностальгические воспоминания.

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

    Почему названия важны?


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

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

    Кроме того, следует рассмотреть множество других аспектов. Маркетинг «сарафанного радио», места в поисковых движках, возможность перепутать игру с другими и многое другое — вот причины, по которым стоит вложить дополнительные усилия, чтобы обеспечить названию игры «защиту от дурака».

    Ну а теперь перейдём к данным.
    Читать дальше →
  • UI, который сам обучает игрока управлению

    • Перевод

    [Прим. пер.: в играх с нестандартными элементами управления разработчикам нужно научить игроков пользоваться всеми возможностями. Одним из вариантов решения этой проблемы стал реализованный студией Juicy Beast играбельный UI игрового меню.]

    В мае 2013 года мы участвовали в геймджеме ToJam и за три дня создали игру. Так родилась оригинальная версия Toto Temple.

    Примерно год спустя и после множества изменений, мероприятий и даже заключения партнёрского соглашения с Ouya игра Toto Temple эволюционировала в более качественную и отточенную Toto Temple Deluxe!
    Читать дальше →
    • +26
    • 7,5k
    • 8
  • Стоимость игр

    • Перевод


    Недавно я выступал в Анахайме (Калифорния) с докладом «Industry Lifecycles». Планировалось, что это будет коротким изложением моей публикации в блоге с небольшой порцией материала из другой моей недавней публикации об игровой экономике. Она наделала довольно много шума. На форумах развернулись дискуссии, в которых часто выражался скепсис в отношении представленных мной данных и сделанных выводов. Изначально статья была ответом на комментарии на разных сайтах, которые я собрал в виде вопросов-ответов. То есть я не опирался на единое исследование.

    Читать дальше →
  • Создание игр на Python 3 и Pygame: Часть 3

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

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

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

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


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

    Хотя класс Game очень общий и не обладает знаниями о реализации Breakout, сама подписка и способы обработки событий очень специфичны.
    Читать дальше →
  • Видеозаписи выступлений с лекционного дня по игровой индустрии в ВШБИ

      В декабре прошлого года в Высшей школе бизнес-информатики НИУ ВШЭ проходил лекционный день по игровой индустрии. На мероприятии своим опытом с собравшимися гостями делились американский геймдизайнер компьютерных игр Richard «Levelord» Gray, директор продуктового департамента Rocket Jump Игорь Соловьев, игровой продюсер Сергей Гимельрейх, игровой маркетолог Сергей Зыков, основатели клуба игрофикаторов «Why42» Иван Нефедьев и Мирослава Бронникова. Под катом я собрал для вас видеозаписи и краткое описание всех докладов .


      Читать дальше →
      • +18
      • 2,2k
      • 1
    • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

      Подробнее
      Реклама
    • Рендерим облака на мобильных девайсах

      • Tutorial
      3 года назад художник спросил меня:
      — Слушай, а можно в нашу мобильную игру добавить красивые облачка?
      — Нет, это абсолютно невозможно, у нас постоянно вращается камера, так что билборды будут смотреться очень фальшиво даже если на них добавить карты нормалей, а другие способы…
      *художник погружается в летаргический сон*

      Для меня нет большего удовольствия, чем выяснять, что я был неправ.



      Про фотореалистичный рендеринг облаков написано много статей, но если хочется рисовать облака на смартфоне, приходится придумывать кучу всяких хаков, упрощений и допущений.
      Под катом подробное описание рендеринга облаков на мобильных и много html5 гифок.
      Поехали!
    • Создание игр на Python 3 и Pygame: Часть 2

      • Перевод
      • Tutorial
      image

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

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

      Класс TextObject


      Класс TextObject предназначен для отображения текста на экране. Можно сделать вывод, что с точки зрения дизайна он должен быть подклассом класса GameObject, потому что тоже является визуальным объектом и его тоже иногда нужно двигать. Но я не хотел вводить глубокую иерархию классов, при которой весь отображаемый Breakout текст оставался на экране неизменным.

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

      Это позволяет нам обновлять отображение жизней и очков в Breakout, просто создав функцию, возвращающую текущие жизни и очки, а не отслеживать то, какие текстовые объекты отображают очки и жизни и обновлять их текст при каждом их изменении. Это удобный трюк из функционального программирования, и в крупных играх он позволяет поддерживать удобство и аккуратность программы.
      Читать дальше →
      • +16
      • 7,9k
      • 5
    • Learn OpenGL. Урок 4.5 — Кадровый буфер

      • Перевод
      • Tutorial
      OGL3

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


      На текущий момент мы уже успели воспользоваться несколькими типами экранных буферов: буфером цвета, в котором хранятся значения цвета фрагментов; буфером глубины, хранящим информацию о глубине фрагментов; буфером трафарета, позволяющим отбросить часть фрагментов согласно определенному условию. Комбинация этих трех буферов зовется кадровым буфером (фреймбуфером) и хранится в определенной области памяти. OpenGL достаточно гибка, чтобы позволить нам самим создавать собственные кадровые буферы, посредством задания собственных буферов цвета и, опционально, буферов глубины и трафарета.
      Читать дальше →
      • +13
      • 2,3k
      • 4
    • Имитируем иридисценцию: шейдер CD-ROM

      • Перевод
      Этот туториал посвящён иридисценции. В этом туториале мы исследуем саму природу света, чтобы понять и воссоздать поведение материала, создающего цветные отражения. Туториал предназначен для разработчиков игр на Unity, однако описанные в нём техники можно запросто реализовать на других языках, в том числе в Unreal и на WebGL.


      Туториал будет состоять из следующих частей:

      • Часть 1. Природа света
      • Часть 2. Усовершенствуем радугу — 1
      • Часть 3. Усовершенствуем радугу — 2
      • Часть 4. Разбираемся с дифракционной решёткой
      • Часть 5. Математика дифракционной решётки
      • Часть 6. Шейдер CD-ROM: дифракционная решётка — 1
      • Часть 7. Шейдер CD-ROM: дифракционная решётка — 2
      Читать дальше →
      • +17
      • 3,9k
      • 9
    Самое читаемое