18
Життєвий шлях ігрового двигуна nwEngine Богдан Горпинчук nwg studios, co-founder & core developer @iOhmed [email protected] skype: le.sung

Богдан Горпинчук “WebGL та шлях ігрового двигуна nwEngine.”

Embed Size (px)

Citation preview

Життєвий шлях ігрового двигуна nwEngine

Богдан Горпинчук

nwg studios, co-founder & core developer

@[email protected]: le.sung

З чого все почалось?

Wardensity RTS

by mr.doobthree.js

Перші зміни

● Маніпуляції з геометріями об’єктів● Робота з об’єднанням об’єктів● Різні невеликі оптимізації● Зміни в роботі EffectComposer

Мінуси three.js

1. Продуктивність для складних сцен

2. Відсутність багатьох речей потрібних для

гри, особливо rts

- next web engine

NWE vs. THREE

емм... Demo-time

Основні кроки

● Повністю зрозуміти того, кого оперуєш

● Викинути зайве

● Структурувати та оптимізувати

● Додати та оновити основне

● Потрохи відроджувати функціонал

Що це дало Wardensity?

● Зменшення використання RAM на порядок.● У 2-3 рази менше пам’яті GPU● Менше зайвих запитів до GPU● 2-4 кратне зростання FPS● Зменшення використання CPU● Відсутнє смикання картинки

Результати

Що ж по-факту нового?

nwEngine vs three.js

● Pack & PackLoader — система асетів● Перероблено систему Image/Texture loading● Додано різні штуки як LayoutBufferGeometry● Просунутий Logger● Нова зручна система менеджменту шейдерів● Оновлено систему примітивів● GPUSelector - вибиралка об’єктів● Покращилась продуктивність WebGLRenderer

Є ще!

● Графічна частина двигуна відокремлена у NWE.gfx● Додано NWE.fw (framework)

Terrain object [static/dynamic/mixed]Group object [static/dynamic/flexible]

Effect object [WindMachine, SnowMachine]● Utils & tools

Convertor — .json to .binBuilder — lib builder [using ImEx.js], проект має > 120 файлівAtlasTextureBuilder

Ну добре, а далі?

Плани на ф’ючер

● Audio система для рушія● Більше можливостей фреймворка● Освітлення та тіні● Редактор та скріпти ?● Документація та білше прикладів (зараз 24)

QA?

Богдан Горпинчук

nwg studios, co-founder & core developer

@[email protected]: le.sung