Pull to refresh
62
16.2
Зенкович Андрей @anz

C++ developer

Send message

Как работает физика в играх

Level of difficultyMedium
Reading time17 min
Views17K

В мире видеоигр игровая физика играет важную роль, определяя реалистичность и взаимодействие игрового мира с игроком. Что же происходит под капотом? Какие алгоритмы и подходы используются в современных движках? И что же значит «застрять в текстурах»? (спойлер: чушь полнейшая)

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

Читать далее
Total votes 74: ↑74 and ↓0+74
Comments36

Как я встраивал JS в свой игровой движок

Reading time14 min
Views7.6K

Писать на С++ игры долго и дорого, но при этом по перфомансу получается хорошо. Но далеко не всё в играх, требовательно к производительности, особенно 2D. Например всякие окошечки не производят тяжелых расчетов внутри. А на больших проектах они могут занимать до 80% всего объема кода. И на С++ есть проблемы на продакшене - если где-то крешится или бажит, приходится перезаливать приложение.

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

Совсем недавно прикрутил JS к своему движку. Кому интересны подробности - добро пожаловать под кат.

Читать далее
Total votes 14: ↑12 and ↓2+10
Comments21

Движок VSO: Под капотом нашего редактора

Reading time9 min
Views9.9K

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

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments0

Мета-программирование атрибутов для сериализации

Reading time8 min
Views3.5K

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments6

Базовые UI/UX паттерны

Reading time7 min
Views28K
В мире существует множество статей как правильно делать интерфейс. Все они наполнены полезными советами на различные ситуации: здесь нужна красная кнопка, здесь должна быть вот такая анимация и так далее. Всех ситуаций не описать, их просто бесконечное множество. Однако, если понять базовые принципы проектирования интерфейсов, необходимость в этих советах отпадает. Главное понять почему эти советы работают и как устроен конечный пользователь. А пользователь — это человек, со всеми его особенностями.

В этой статье я постараюсь описать то, как работает человеческий мозг и как это использовать в проектировании интерфейсов.


Паттерн — это повторяющийся шаблон, который может возникать в различных сферах жизнедеятельности.
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments12

Анимационный граф состояний

Reading time5 min
Views11K
Привет! Мы тут в Playrix решили сделать свой Unity3D. А там есть Animator. В этой статье я  расскажу, как мы сделали его у себя и как он работает.

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments12

Зачем в 2017 году писать свой движок для мобильных игр?

Reading time16 min
Views15K
В наши дни существует много игровых движков. Двумерные, трехмерные, нативные и на скриптах. На первый взгляд уже сделано все что нужно и можно просто делать игру. Однако по статистике около половины из топ 100 мобильных игр сделаны на своих движках. Почему многие крупные студии делают проекты исключительно на своих технологиях? Что их не устраивает в тех движках, что сейчас есть? Чтобы ответить на этот вопрос нужно понять зачем нужен движок, какие они вообще бывают и чем отличаются.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments24

Garbage Collector & C++

Reading time11 min
Views32K
Ручное управление памятью с С++ — одновременно один из самых больших плюсов и минусов в языке. Действительно, эта парадигма позволяет создавать очень производительные программы, однако она же рождает и кучу проблем. Существует несколько способов избавится от них. Я попробовал несколько и в итоге пришел к сборщику мусора. В этой статье я хочу изложить не столько реализацию сборщика мусора на С++, сколько историю идеи и его использования, каково им пользоваться и почему в итоге от него отказался.

Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments23

Рефлексия и кодогенерация в C++

Reading time7 min
Views25K
Язык С++ по сей день является одним из самых востребованных и гибких языков программирования. Но иногда возможностей языка не хватает, несмотря на то что стандарт развивается и расширяется. С такой проблемой столкнулся и я в процессе разработки 2D движка для игр. Я стоял перед необходимостью решения несколько нетривиальных задач, таких как сериализация, анимирование и связка с редактором. Для этого отлично подходит рефлексия. Готовые решения из сети, к сожалению, мне не подошли, поэтому пришлось конструировать свой велосипед.

Далее описаны детали реализации и демо проект. Кому интересно — добро пожаловать под кат.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments19

Information

Rating
350-th
Location
Омск, Омская обл., Россия
Date of birth
Registered
Activity