URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 96183
[ Назад ]

Исходное сообщение
"Открыты исходные тексты игрового движка PlayCanvas"

Отправлено opennews , 05-Июн-14 13:23 
Объявлено (https://hacks.mozilla.org/2014/06/playcanvas-goes-open-source/) об открытии (https://github.com/playcanvas/engine) под  свободной лицензией MIT игрового движка PlayCanvas (https://playcanvas.com/), нацеленного на создание переносимых многоплатформенных 3D-игр, создаваемых с использованием web-технологий и ориентированных для запуска в браузерах с поддержкой HTML5 и WebGL (Chrome, Firefox, Safari, браузеры Android и iOS), без установки дополнительных плагинов. Основателями проекта являются Will Eastcott, бывший технический директор Activision (http://ru.wikipedia.org/wiki/Activision), и Dave Evans, ранее возглавлявший разработку PlayStation Home. Проект развивается при поддержке Mozilla, ARM и Activision.


<center><a href="https://hacks.mozilla.org/wp-content/uploads/2014/06/swoop-g... src="http://www.opennet.me/opennews/pics_base/0_1401957188.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>


Основные возможности и особенности движка:


-  Графика: система 3D-рендеринга на базе WebGL, различные виды освещения (рассеянный, точечный, направленный свет, попиксельное освещение), скелетная анимация, статические и Skinned-мэши, маппинг теней, постпроцессинг;
-  Средства бесшовного импорта моделей и материалов, подготовленных в   Maya, 3DS Max, Blender;
-  Библиотека PostFX с реализацией типовых визуальных эффектов;
-  Полная интеграция с движком симуляции физических процессов ammo.js (https://github.com/kripken/ammo.js/) (JavaScript-версия Bullet, скомпилированная при помощи Emscripten и работающая с использованием Asm.js). По производительности ammo.js отстаёт от нативной версии физического движка Bullet всего в полтора раза;
-  Движок генерации пространственного звука, использующий Web Audio API;
-  Определение игровой логики на языке JavaScript;
-  Высокоуровневая объектная модель, позволяющая создавать игровые объекты из готовых функциональных блоков, как конструктор Лего. Например, изображённая на скриншоте демонстрация проскакивающего через стенку из кубиков мяча занимает всего 100 строк кода (http://codepen.io/playcanvas/pen/ctxoD);

<center><a href="https://hacks.mozilla.org/wp-content/uploads/2014/06/playcan... src="http://www.opennet.me/opennews/pics_base/0_1401958543.jpg" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>

-  Простая система загрузки ресурсов;
-  Встроенный набор компонентов для рендеринга моделей, анимации, типовых физических процессов (столкновения, деформация и т.п.), задействования 2D и 3D источников звука, изменение громкости в зависимости от удалённости от источника звука;
-  Поддержка мыши, клавиатуры, сенсорных экранов и пультов Gamepad.

-  Ориентация системы рендеринга на достижение максимально возможной в браузере производительности. Например, команды отрисовки сортируются по материалам для сокращения числа вызовов WebGL, минимизируется число динамических операций с памятью и учитывается работа сборщика мусора;

-  Для упрощения разработки игр предлагается специальная web-ориентированная облачная среда совместной разработки, доступная через сайт playcanvas.com (https://playcanvas.com/);

<center><a href="http://blog.playcanvas.com/wp-content/uploads/2014/06/play-c... src="http://www.opennet.me/opennews/pics_base/0_1401957144.jpg" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>

URL: http://blog.playcanvas.com/playcanvas-goes-open-source/

Новость: http://www.opennet.me/opennews/art.shtml?num=39937


Содержание

Сообщения в этом обсуждении
"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 05-Июн-14 13:23 
> минимизируется число динамических операций с памятью и учитывается работа сборщика мусора;

Сначала создадим себе проблемы, а потом будем их героически решать. Дон-кихоты 2.0 :).


"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 05-Июн-14 19:22 
Проблема сильно преувеличена. Сборщик мусора может быть полностью исключён из работы, если не выделять ресурсы каждый кадр. Между прочим, это справедливо и в случае C/C++, частые вызовы malloc и new сильно "просаживают" производительность.

"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено ваноним , 06-Июн-14 16:32 
не путайте теплое с мягким. сборщик мустора и malloc/free -- слегка разные вещи. выделение и освобождение памяти, внезапно, есть и в случае сборщика мусора. ровно как и фрагментация памяти.

"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 07-Июн-14 08:41 
> если не выделять ресурсы каждый кадр.

А в случае JS как-то gc лучше програмера знает когда возбухнуть и что прибить. Знание интимных особенностей gc - превращает программирование в кластерфак, когда приходится онриентироваться на некие недокументированные и/или никем не гарантированные особенности. В сях/сях++ по крайней мере все просто и понятно - когда и что. GC делает этот процесс намного менее детерменированным, а изучение свойств gc - весьма отдельный рокетсайнс.

> Между прочим, это справедливо и в случае C/C++, частые вызовы malloc
> и new сильно "просаживают" производительность.

Между прочим, там никто их лишний раз и не дергает. И вообще там возможна уйма стратегий, вплоть до полностью статического распределения ресурсов на старте. При этом память вообще никогда не выделяется и не освобождается. Что критично для ответственных применений, например. Тебе же не понравится если у твоего авто при наезде на кирпичную стену подушки безопасности не выпадут "потому что памяти не хватило", правда? :)



"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено 0н0ним , 05-Июн-14 14:44 
и так браузер тормозит из-за жаба скриптов, дак еще и это

можно еще завернуть все в ява машину и пару виртуалочек, а то оверхеда не хватает


"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 05-Июн-14 19:28 
За последнее время джаваскрипт достиг производительности, сопоставимой с нативной. Хороших результатов добиться достаточно легко, особенно если правильно назначать типы и исключать чрезмерное выделение/освобождение ресурсов.

"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 07-Июн-14 08:44 
> За последнее время джаваскрипт достиг производительности,
> сопоставимой с нативной.

Да, "всего" в три раза сливает, если в ластах и на гамаке в костюме химзащиты поизвращаться с ним как следует.

> Хороших результатов добиться достаточно легко,

Ага, оно и видно: в сях просто пишем что хотели. В js засоряем мозг кучей хлама типа знаний о gc, asm.js, как, где и почему оно тормозит и так далее.

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

> особенно если правильно назначать типы

...чего в JS изначально вообще не было предусмотрено.

> и исключать чрезмерное выделение/освобождение ресурсов.

...для чего надо шарить в механике работы рантайма и вообще работе компьютеров сильно поболее чем это умеет большинство JS-скриптеров.


"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 05-Июн-14 16:15 
Ждем не отключающихся 3d порнобаннеров, выжигающих десктопное железо
>нацеленного на создание переносимых многоплатформенных 3D-игр

и пополнения ожоговых центров поклонниками мобильного железа в металлических корпусах.


"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Анониус_ , 05-Июн-14 16:53 
Спасибо, посмеялся.

"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 05-Июн-14 19:31 
> Ждем не отключающихся 3d порнобаннеров, выжигающих десктопное железо

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

думаете игра, написанная на джаве сильно быстрее? Там тот же самый сборщик мусора, и те же проблемы с потреблением памяти. Как вы думаете почему iPhone такой быстрый?


"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Такие дела , 06-Июн-14 09:44 
> Поверьте, их производительность будет не намного ниже флеша.

Того самого флеша, который блокируется в большинстве браузеров, или запирается под значок? С HTML5 так не поступишь. Вылечить такой банер можно только полной блокировкой js.
> думаете игра, написанная на джаве сильно быстрее? Там тот же самый сборщик
> мусора, и те же проблемы с потреблением памяти.

Игра, написанная на жабе - это штука сугубо добровольная. Ее можно включить, когда обернешь руки полотенцем или воспользуешься прихваткой. А вот баннер может появиться внезапно.
> Как вы думаете почему iPhone такой быстрый?

Я думаю, iPhone "быстрый" потому, что в нем приоритет на отрисовку графики. Этот фокус в свое время провернул гугл с хромом, когда он сначала рисовал окно, а потом начинал остальные процессы (сеть и стартовая страница), фаерфокс в то же время делал наоборот, и подавал пользователю окно приложения в последнюю очередь, когда настройки сети были прочитаны. Из-за такого трюка запуск хрома, казался более быстрым, хотя реально подача готового к использованию браузера была одинаковой по времени.


"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 06-Июн-14 11:49 
>С HTML5 так не поступишь.

Почему-же. В любом браузере WebGL отключается в настройках, если кому-то понадобится, со временем сделают более удобное дополнение.
>Игра, написанная на жабе - это штука сугубо добровольная. Ее можно включить, когда обернешь руки полотенцем или воспользуешься прихваткой. А вот баннер может появиться внезапно.

Это сейчас, несколько лет тому назад Java-апплеты запускались без предупреждения. Да и вообще, пропаганда уязвимостей в Jav-е и флеше активно ведётся именно производителями браузеров. Раньше всем было на это наплевать.
>Я думаю, iPhone "быстрый" потому, что в нем приоритет на отрисовку графики.

Возможно, но с тех пор и андроид занялся оптимизацией. Реальность такова, что количество памяти в самом современном iPhone 5s 1 гиг, в Xperia Z2 - 3 гига. Всё это из-за того, что эпл в своё время выпилил сборщик мусора под корешок. Его нет даже в их новомодном полу-динамическом Swift. В условиях, когда ширина шины ограничена, избыток память никогда не приводит к увеличению производительности, скорее наоборот.


"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 07-Июн-14 08:53 
> С HTML5 так не поступишь. Вылечить такой банер можно только полной
> блокировкой js.

Есть такой чудный аддон к Firefox - называется NoScript. То что доктор прописал.

> А вот баннер может появиться внезапно.

См. выше.

> Я думаю, iPhone "быстрый" потому, что

...потому что маркетинговый булшит у эппла хорош, в отличие от технического исполнения.


"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 05-Июн-14 16:27 
Мощный многоядерный процессор надо.
Никогда на планшетах эта технология не приобретёт большой популярности.

"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 05-Июн-14 19:32 
> Мощный многоядерный процессор надо.
> Никогда на планшетах эта технология не приобретёт большой популярности.

На горизонте >2 ГГц 14 нанометровый проц и 4 гига оперативы. А теперь сравните эти спеки с Xbox 360 или PS3.


"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено Аноним , 07-Июн-14 08:36 
>планшеты и прочие недопк в одной куче.

Архитектуры разные, как тут можно сравнивать мегагерцы?

Кстати было бы интересно увидеть тесты аля сжатие файла на этих фоторамках и каком-нибудь старом пентиуме c частотой ниже 2Mhz.


"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено dr Equivalent , 06-Июн-14 01:18 
Поиграл в демку Swoop. Миленько так.

"Открыты исходные тексты игрового движка PlayCanvas"
Отправлено XoRe , 06-Июн-14 15:38 
http://apps.playcanvas.com/will/doom3/gangnamstyle

Монстры зажигают! :)