Upload
lviv-startup-club
View
138
Download
0
Embed Size (px)
Citation preview
Життєвий шлях ігрового двигуна nwEngine
Богдан Горпинчук
nwg studios, co-founder & core developer
@[email protected]: le.sung
Перші зміни
● Маніпуляції з геометріями об’єктів● Робота з об’єднанням об’єктів● Різні невеликі оптимізації● Зміни в роботі EffectComposer
Мінуси three.js
1. Продуктивність для складних сцен
2. Відсутність багатьох речей потрібних для
гри, особливо rts
Основні кроки
● Повністю зрозуміти того, кого оперуєш
● Викинути зайве
● Структурувати та оптимізувати
● Додати та оновити основне
● Потрохи відроджувати функціонал
● Зменшення використання 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)