forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   JavaScript / HTML (http://forum.boolean.name/forumdisplay.php?f=136)
-   -   PlayCanvas (http://forum.boolean.name/showthread.php?t=19214)

RegIon 21.06.2015 22:30

Ответ: PlayCanvas
 
Да я хотел так сделать, но смутило что нужно пробегать весь массив объектов и сравнивать положения + размер с положением + размером игрока. + z уровень, если проверять сверху.

Igor 22.06.2015 01:15

Ответ: PlayCanvas
 
Массив можно отсортировать, например, по направлению вдоль взгляда - и с помощью бинарного поиска выбрать только те препятствия, которые пересекаются вдоль неё с игроком - им понадобится проверка по остальным осям. (O(logN) vs O(N)). Ещё можно размер игрока (aabb), прибавить ко всем препятствиям и считать игрока точкой.
P.S. А можно ещё проще - запоминать количество пройденных элементов - и проверять прохождение мимо следующего.

pax 22.06.2015 07:57

Ответ: PlayCanvas
 
А виртуальный таймлайн с тремя треками как во флеше нельзя придумать? У каждой дорожки положение + длина. Дорожки по таймлайну отсортированы в порядке появления. В любой момент времени для проверки доступны всего три дороги, которые еще не прошел или до которых не дошел. Которые прошел сразу исключаются из обсчета.
Проверка такая: если твое положение меньше начала дороги - упал. Как только дорога кончается, обсчет переключается на следующую и в следующем апдейте сработает обсчет новой дороги и автоматически упадешь, т.е. всего одна проверка текущей дороги. И таких проверок три. Плюс три проверки на завершение дороги и переключении на следующую. Какие AABB то? Здесь они вообще не нужны. Размер игрока тоже легко имитируется.

RegIon 22.06.2015 08:52

Ответ: PlayCanvas
 
Можно все, главное что бы работало нормально и overhead большим не был.
P.S.
Это не флеш на скрине. Это Rauman 3, один из уровней.
Треков не обязательно 3. Не обязательно ровные, хотя это не меняет логики

pax 22.06.2015 09:09

Ответ: PlayCanvas
 
Редактор таймлайна флеша я привел как наглядный пример. Тоже самое например во всяких редакторах звуков и музыки.
Игрок находится на линии проигрывания:

RegIon 22.06.2015 09:39

Ответ: PlayCanvas
 
Аа, я не понял, так как не пользовался.
Я хочу сделать так:
1.Сортируем массив дорожек по положению начала
2. В Update проходим циклом от дорожки с индексом start до первой дорожки, у которой позиция больше позиции игрока.
3. после прохода дорожки start+1 - смещаем начальный индекс, так как дорожка позади и она нам не нужна.
Про чекпоинты: хранить в них текущий индекс дорожки и присваивать его start, что бы не проходить массив сначала до позиции игрока.

St_AnGer 22.06.2015 11:55

Ответ: PlayCanvas
 

Цитата:

Сообщение от RegIon (Сообщение 296778)
Стыретд фром:

Ты делаешь аналог AudioSurf? :)

moka 22.06.2015 14:28

Ответ: PlayCanvas
 
Цитата:

Сообщение от RegIon (Сообщение 296823)
Я хочу сделать так:
1.Сортируем массив дорожек по положению начала
2. В Update проходим циклом от дорожки с индексом start до первой дорожки, у которой позиция больше позиции игрока.
3. после прохода дорожки start+1 - смещаем начальный индекс, так как дорожка позади и она нам не нужна.
Про чекпоинты: хранить в них текущий индекс дорожки и присваивать его start, что бы не проходить массив сначала до позиции игрока.

Звучит хорошо. Главное сделай все это без завязки на рендере и физики.

RegIon 22.06.2015 17:15

Ответ: PlayCanvas
 
Цитата:

Сообщение от St_AnGer (Сообщение 296824)



Ты делаешь аналог AudioSurf? :)

Да, но без автогенерации, так как будет убого.

RegIon 25.06.2015 15:19

Ответ: PlayCanvas
 
http://playcanv.as/p/hgd8lBvU

Обновил. Отключил физику, теперь тупо математика.
Не смог правда пока разобраться с начальной границей перебора, вышли небольшие сложности с пунктом 3.

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

Igor 25.06.2015 23:45

Ответ: PlayCanvas
 
ну, добавить параметры - время прыжка t, ускорение свободного падения g и расстояние между дорожками l.
Тогда горизонтальная скорость vx =l/t, вертикальная vy = g*t/2.
В принципе, позицию можно описать как функцию от времени и вообще не думать о скоростях.
Моделька в момент приземления как-то резко дёргается - приземляется раньше, чем должно быть с точки зрения смотрящего на полёт игрока.

RegIon 26.06.2015 19:00

Ответ: PlayCanvas
 
Цитата:

Сообщение от Igor (Сообщение 296985)
ну, добавить параметры - время прыжка t, ускорение свободного падения g и расстояние между дорожками l.
Тогда горизонтальная скорость vx =l/t, вертикальная vy = g*t/2.
В принципе, позицию можно описать как функцию от времени и вообще не думать о скоростях.

расстояние фиксированное - 1, но если ступенька ниже - то + 1 на каждую ступеньку, собственно -1, если ступенька выше - это нужно тоже учесть.
Но спасибо, что-то зациклился на dt, dv, dx и т.д,
Цитата:

Моделька в момент приземления как-то резко дёргается - приземляется раньше, чем должно быть с точки зрения смотрящего на полёт игрока
это из-за того, что модель не долетает по x и центрируется на дорожку.

Cделал по совету Igor'a, получил гон - чем дольше двигаешься - тем дальше смещаешься по x, будто мир сужается.
Все перепроверил. Шаг между центрами линии - 2 метра, поворотов нет, формулы везде одинаковые. Грешу на нестабильность dt. При jumpTime < 0.3 начинает часто проваливаться сквозь линии, ну и сильнее разброс. Но если dt = 1/60 - так же. Теперь грешу на translate, не могу понять как он реализован, не могу найти в исходниках на GitHub. ( вот из-за этого мне и пришлось центрировать игрока)
Демка. Без визуала: http://playcanv.as/b/79dqc4oE
Весь скрипт: https://playcanvas.com/editor/code/348465/Game.js
Кусок кода:
PHP код:

movePlayer: function(dt) {
            var 
dz this.checkGround()
            var 
pos this.player.getPosition();
            
            if(
dz!==null && dz 0.05 && dz > -.2) {
                if(
this.lastRayEntity !== null && !this.playerOnGround) {
                    
this.playerVelocity.0;
                    
this.playerVelocity.0;
                    
                    var 
ls this.lastRayEntity.getLocalScale().this.player.getLocalScale().y;
                    
pos.this.lastRayEntity.getPosition().ls ;
                    
//pos.x = this.lastRayEntity.getPosition().x;
                    
this.player.setPositionpos );
                    
this.playerOnGround true;
                }
                
                var 
yJVel this.gameG this.jumpTime 2;
                
                if(
app.keyboard.wasPressed(pc.KEY_UP)) {
                    
this.playerVelocity.yJVel;
                }
                
                if(
app.keyboard.wasPressed(pc.KEY_LEFT)) {
                    
this.playerVelocity.=  yJVel;
                    
this.playerVelocity.x  = -this.jumpdV.this.jumpTime;
                }
                
                if(
app.keyboard.wasPressed(pc.KEY_RIGHT)) {
                    
this.playerVelocity.=  yJVel;
                    
this.playerVelocity.this.jumpdV.this.jumpTime;
                }
                
            } else {
                
                
this.playerOnGround false;
                
this.playerVelocity.-= this.gameG  *  dt;
                
console.log("[game] fall");
                if(
pos.< -) {
                    
this.playerReset();
                }
            }
            
            
this.player.translate(this.playerVelocity.dtthis.playerVelocity.dt ,0);

        }, 


moka 17.08.2015 14:50

Ответ: PlayCanvas
 
Давно не обновлял топик, за это время было немного всяких обновлений там и сям, оптимизаций тоже.

На Канском фестивале на большом LED экране используя мобилку по ссылке в броузере, игрушку сделали за 3 дня.
Видео: https://vimeo.com/136313614

Также пример WebGL для мобильной игры по теме WWE vs MMX: http://mmx.playcanvas.com/?truck=johncena

Из обновлений:
  • Пользовательские камеры с интерполяцией - другие участники команды проекта теперь видят друг-друга камеры в сцене
  • Материалы и кубмапы теперь можно сразу тягать в viewport из панели ассетов
  • Зарефакторили систему загрузки ассетов и то как это было организовано в движке, улучшает производительность загрузки
  • Всплывающие подсказки при наводки на модели и иконки
  • Иконки для объектов без моделей
  • Переделаны gizmo, теперь они более оптимальны и визуально консистенты, с дополнительными фичами
  • Шейдеры теперь компилируются в движке только когда используются, что приводит к улучшению скорости загрузки
  • Большая оптимизация по биндингу текстур с кешированием
  • Gizmo для коллизий по стандарту спрятаны, и показываются только при выделении
  • Добавлен рендер collision gizmo для тримешей
  • html, css, text, json ассеты теперь коллаборативно редактируемые
  • Пользователи ORG аккаунтов теперь могут экспортировать/импортировать весь проект целиком
  • Пользователи ORG аккаунтов теперь могут изменять стандартный скрипт загрузки
  • Много других разных фиксов и мелких улучшений

moka 25.08.2015 19:53

Ответ: PlayCanvas
 
В TANX отыграло 1,000,000+ игроков!
Никакой рекламы игре, она поддерживает сама себя.

Недавние обновления движка и редактора:
  • Добавили теги на ассеты. Теперь можно присваивать теги ассетам, и искать ассеты по тегам используя мини-query запросы. Работа с тегами самого ассета описана тут. Запросы на регистр ассетов описан тут.
    Система тегов проще позволяет оперировать ассетами для разных задач, например загрузка уровней, с отображением прогресса загрузки.
  • Добавили curve, curvecolor, entity типы аттрибутов для скриптов.
  • Сделали workaround на баг с драйвером у Adreno 420, который приводил к крешам броузера на Nexus 6 и пару других девайсов.

Ведем большую работу над улучшением работы с non-runtime ассетами. И реализацией файловой системы.

moka 01.09.2015 17:20

Ответ: PlayCanvas
 
Casino


pax 23.09.2015 09:30

Ответ: PlayCanvas
 
Тут небольшой фидбек появился... надеюсь будет полезен :)
Цитата:

[7:39:01] Igor Pozdeev: у кого оперативки мало, проверьте плиз http://unity.elarbis.com/ds_webgl/index.html
[8:12:11] Andrey Pakhomov: какие-то особые методы оптимизации?)
[8:13:22] Igor Pozdeev: нет
[8:13:41] Igor Pozdeev: просто раньше unity при старте отжирал много оперы и крашился
[8:14:15] Andrey Pakhomov: а сейчас это 5.2 и все лучше стало?
[8:14:24] Igor Pozdeev: да
[8:14:28] Andrey Pakhomov: понятно
[8:14:36] Andrey Pakhomov: ну загрузилось норм
[8:14:54] Igor Pozdeev: даже в IE 11 работает )
[8:15:08] Andrey Pakhomov: вот на полный экран разворачивает криво
[8:15:24] Igor Pozdeev: фулскрина не будет
[8:15:30] Andrey Pakhomov: понял)
[8:16:10] Igor Pozdeev: тупо взял старый webplayer проект и сбилдил с небольшими правками, приятно )
[8:16:20] Andrey Pakhomov: (y)
[8:19:29] Igor Pozdeev: а crunched dxt текстуры просто сказка
[8:19:47] Andrey Pakhomov: можно любого размера делать?
[8:20:01] Igor Pozdeev: меньше размер и качество
[8:20:06] Andrey Pakhomov: а, понял
[8:20:06] Igor Pozdeev: вот лайтмапы хорошо сжимать
[8:20:26] Igor Pozdeev: для веба самое то, типа jpg
[8:20:48] Igor Pozdeev: фух, пол года мучения с playcanvas
[8:20:59] Igor Pozdeev: возвращаемся на unity
[8:21:39] Andrey Pakhomov: а с плейканвасом какие проблемы?
[8:22:21] Andrey Pakhomov: передам багрепорт разработчикам)
[8:22:43] Igor Pozdeev: канваса?
[8:22:47] Andrey Pakhomov: угу)
[8:23:30] Igor Pozdeev: проблем с движком нет, очень понравился, похож на Unity. Просто программу с нуля писать )
[8:23:41] Andrey Pakhomov: понял)
[8:23:55 | Изменены 8:23:57] Igor Pozdeev: и начали со старой версии, а в новой сломали поддержку старой, после добавления PBR
[8:24:12] Igor Pozdeev: кости рендерятся в IE 11
[8:24:21] Igor Pozdeev: не должно быть
[8:24:33 | Изменены 8:24:41] Igor Pozdeev: и нет своего UI
[8:24:45 | Изменены 8:24:49] Igor Pozdeev: а это очень критично
[8:25:02] Andrey Pakhomov: понятно, но UI же html простой можно юзать
[8:25:05] Igor Pozdeev: делать на html под каждый браузер? нет уж
[8:25:30] Andrey Pakhomov: понял) так и передам)
[8:25:35] Igor Pozdeev: гуд
[8:26:18] Igor Pozdeev: ну и шейдеры писали в json, только только добавили поддержку glsl, полодцы

Жека 23.09.2015 11:15

Ответ: PlayCanvas
 
moka, при просмотре демки казино заметил, что favicon не загружается.

Mr_F_ 23.09.2015 11:22

Ответ: PlayCanvas
 
Цитата:

кости рендерятся в IE 11
Цитата:

не должно быть
про это не понял

Цитата:

и нет своего UI
какой функционал нужен от UI?

Цитата:

под каждый браузер?
уверен, есть чисто вебовские гуи либы, сводящие на ноль всю разницу браузеров.

Skaner 23.09.2015 14:33

Ответ: PlayCanvas
 
Цитата:

Сообщение от Mr_F_ (Сообщение 299815)
уверен, есть чисто вебовские гуи либы, сводящие на ноль всю разницу браузеров.

За основу взять jQuery, кроссбраузерно и юзабельно. Либо AngularJS, если мсье знает толк в извращениях))

Да и в принципе создать интерфейс дело простое, Css3 в руки и вперед)

Randomize 23.09.2015 14:43

Ответ: PlayCanvas
 
Цитата:

Сообщение от Mr_F_ (Сообщение 286793)
*** скрытый текст ***

Универсальный ответ на все вопросы по PlayCanvas уже звучал в теме.

moka 23.09.2015 15:51

Ответ: PlayCanvas
 
Цитата:

Сообщение от pax (Сообщение 299811)
Тут небольшой фидбек появился... надеюсь будет полезен :)

Спасибо за перепост.

Цитата:

[7:39:01] Igor Pozdeev: у кого оперативки мало, проверьте плиз http://unity.elarbis.com/ds_webgl/index.html
[8:12:11] Andrey Pakhomov: какие-то особые методы оптимизации?)
[8:13:22] Igor Pozdeev: нет
[8:13:41] Igor Pozdeev: просто раньше unity при старте отжирал много оперы и крашился
[8:14:15] Andrey Pakhomov: а сейчас это 5.2 и все лучше стало?
[8:14:24] Igor Pozdeev: да
[8:14:28] Andrey Pakhomov: понятно
[8:14:36] Andrey Pakhomov: ну загрузилось норм
[8:14:54] Igor Pozdeev: даже в IE 11 работает )
Работать то оно работает, но только на десктопах. Половина Chrome запусков, особенно на Mac'ах до сих пор крашится.
Также вы на размер даже пустой демки посмотрите.
Статистически, если пользователь не может взаимодействовать в течении 1-2 секунд, то там экспоненциально происходит bounce пользователей. При загрузках в 10 секунд, дроп рейт более 50%.
Это не думаю что измениться, т.к. web есть web. И по этой причине многим Unity проектам будет не сладко - куча игроков просто не заценят игру. Да и на мобильных броузерах это не предвидится вообще.

Цитата:

[8:19:29] Igor Pozdeev: а crunched dxt текстуры просто сказка
[8:19:47] Andrey Pakhomov: можно любого размера делать?
[8:20:01] Igor Pozdeev: меньше размер и качество
[8:20:06] Andrey Pakhomov: а, понял
[8:20:06] Igor Pozdeev: вот лайтмапы хорошо сжимать
[8:20:26] Igor Pozdeev: для веба самое то, типа jpg
А мы как раз работаем над asset variants'ами, где в зависимости от поддержки, будет грузится нужный формат текстур, которые мы будем автоматом генерить на все текстуры, учитывая их специфики (alpha, hdr, ldr).

Цитата:

[8:20:48] Igor Pozdeev: фух, пол года мучения с playcanvas
[8:20:59] Igor Pozdeev: возвращаемся на unity
[8:21:39] Andrey Pakhomov: а с плейканвасом какие проблемы?
[8:22:21] Andrey Pakhomov: передам багрепорт разработчикам)
[8:22:43] Igor Pozdeev: канваса?
[8:22:47] Andrey Pakhomov: угу)
[8:23:30] Igor Pozdeev: проблем с движком нет, очень понравился, похож на Unity. Просто программу с нуля писать )
Пол года работал, и решил перестать работать с ним? Жалко же выбрасывать..

Цитата:

[8:23:55 | Изменены 8:23:57] Igor Pozdeev: и начали со старой версии, а в новой сломали поддержку старой, после добавления PBR
Можно поподробнее что сломали? Там все обратно совместимо должно быть. Хотя старая система материалов потихоньку уходит на задний план - это да, т.к. она убогая. PBR не на много "дороже", но качество в разы выше.

Цитата:

[8:24:12] Igor Pozdeev: кости рендерятся в IE 11
[8:24:21] Igor Pozdeev: не должно быть
М?

Цитата:

[8:24:33 | Изменены 8:24:41] Igor Pozdeev: и нет своего UI
[8:24:45 | Изменены 8:24:49] Igor Pozdeev: а это очень критично
[8:25:02] Andrey Pakhomov: понятно, но UI же html простой можно юзать
[8:25:05] Igor Pozdeev: делать на html под каждый браузер? нет уж
Если держится WebGL, значит держится CSS3, и на самом деле нету никакой разницы почти в html/css с поддержкой webgl.
По факту, есть много плагинов на Unity, которые используют этот самый html/css для UI, и они весьма популярны.

Цитата:

[8:26:18] Igor Pozdeev: ну и шейдеры писали в json, только только добавили поддержку glsl, полодцы
Добавили угу, и скоро добавим override чанков шейдера в Editor'е, чтобы можно было сразу в эдиторе видеть результат.

Было бы супер ещё фидбека вытянуть, побольше. Он всегда нам очень важен и полезен.

pax 23.09.2015 22:53

Отправил автору фидбека ссылку на эту тему, если ответит в личку, перепощу сюда.

[7:21:08] Igor Pozdeev: Ух как раскрасил, не все же так плохо )
[7:21:58] Igor Pozdeev: кости

[7:22:04] Igor Pozdeev: походу это EDGE а не IE 11
[7:34:13] Igor Pozdeev: UI - для не веб программиста это сложно. Нужны минимумы: спрайты (guitexture), кнопки, scrollview (клиппинг).

[8:45:22] Igor Pozdeev: а не, про кости это наш косяк

moka 24.09.2015 14:43

Ответ: PlayCanvas
 
Цитата:

Сообщение от pax (Сообщение 299840)
[7:34:13] Igor Pozdeev: UI - для не веб программиста это сложно. Нужны минимумы: спрайты (guitexture), кнопки, scrollview (клиппинг).

Ну минимум это просто делается используя свой шейдер который в скрин-спейсе будет рендерить.

Делать полностью свой UI на webgl мало оправдано на данный момент. Большинство клиентов предпочитает как раз таки html+css, и не имеют никаких проблем. Найти front-end'ера сегодня очень легко.
Да и html/css легко учатся.

Unity в таком варианте (превью мебели), не взлетит, т.к. там минимум будет 15мб весить загрузка, и на многих броузерах крашится.
Плюс нету по ресурсного кешинга, т.к. все запаковано в .data файл.

pax 24.09.2015 15:15

Ответ: PlayCanvas
 
Цитата:

Сообщение от moka (Сообщение 299857)
Unity в таком варианте (превью мебели), не взлетит, т.к. там минимум будет 15мб весить загрузка, и на многих броузерах крашится.

Ну билд плеера диванов (которыми когда-то я занимался) вместе с UI сейчас в gz весит около 6 мегабайт + бандль дивана 0,6 - 2 мб вместе с лайтмепами + каталог тканей в json порядка 600кб + превьюшки тканей при запуске сколько-то килобайт. до 15 мб что-то далеко еще.

если конкретно то вот билд:

moka 24.09.2015 15:23

Ответ: PlayCanvas
 
Ну скачал ты в gzip'е, но это скормить еще броузеру нужно.
Да и 6мб - для какой-то мелкой превьюшки в 3д, это уже огромный перебор. Это же не полноценная игра.
На посредственном интернете и компьютере, это будет сколько качаться, грузиться, и как будет работать?

pax 24.09.2015 15:26

Ответ: PlayCanvas
 
Ну я согласен что это много с этой точки зрения. Но написать для веба на C# тоже фича требующая жертв) К тому же в альтернативу web player который чтобы скачать и установить будет примерно столько же по скачиваемому размеру. Там dll моно тоже выкачиваются перед запуском. С появлением WebAssembly может что-то улучшится еще. Экспорт в WebGL еще на ранней стадии своей.

Но это все оффтоп)

moka 29.10.2015 22:40

Ответ: PlayCanvas
 
Зарелизили демку - BMW i8.
На hackernews сидели в top1 несколько часов.
75k+ просмотров за один день, весьма не плохо.
Все уместили в 5.7Мб, при этом геометрию не оптимизировали.
Сама модель (все части) в итоге занимает 3.4Мб ~60% демки.
Текстурки 1.8Мб ~31%.
Код (вместе с движком) 0.2Мб ~4%.
Ну и остаток мелочи.
Работает на мобилках и десктопах.
FWA - Site of the Day


moka 03.11.2015 22:14

Ответ: PlayCanvas
 
Обновление:
1. Добавили Папки! Наконец-то можно создавать папочки для ассетов, и хранить все организовано. Это первая версия данного обновления, будут дальнейшие улучшения (таблица файлов, сортировка).
2. Script Attribute теперь имеет опциональное значение description которое будет отображаться в редакторе.
3. Заменили все иконки в редакторе на свои.
4. Обновили дизайн загрузки.
5. Добавили кнопочку для создания скриптов.
6. Добавили контекстное меню для ассетов и панели.
7. Добавили "How do I..?" поле, с мини-туториалами.
8. Добавили поддержку spritesheet текстур для партиклов - анимированные текстуры.
9. Много всяких фиксов и более мелких улучшений.


moka 06.11.2015 15:07

Ответ: PlayCanvas
 
Русская Документация, Уроки и Руководство Пользователя!

Еще раз спасибо Prescott с gamedev.ru за весьма хороший объем переведенной документации.
Мы обновили нашу документацию, и добавили переключатель языков внизу страницы.
http://developer.playcanvas.com/ru/

Если вы хотите принять участие в переводе, то это очень просто.
Нужно просто принять участие в Transifex группе.

Также идет процесс перевода на Японский, над ним работает отдельная команда переводчиков.
Русский же переводится полностью сообществом.

moka 18.11.2015 03:09

Ответ: PlayCanvas
 
Мы ищем разработчика мультиплеер игры на нашей платформе!

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


pax 18.11.2015 09:31

Ответ: PlayCanvas
 
Запостил в чат Unity про вакансию, вдруг там кто есть...

RegIon 16.01.2016 21:04

Ответ: PlayCanvas
 
moka, можешь помочь ?

http://forum.playcanvas.com/t/connec...sernode/1376/1

И почему у меня в профайлере нет таких зеленых полосок?
Аа, они только при старте, они показывают нагрузку на сеть (когда грузится ассет) или что?

moka 18.01.2016 00:06

Ответ: PlayCanvas
 
Цитата:

Сообщение от RegIon (Сообщение 303327)

В данный момент там как раз ведется работа над Audio API.
Мы разрабатываем на много более гибкий вариант, который даст на много больше контроля как над компонентом и индивидуальными "слотами" со звуками, так и над нодами каждой инстанции звука.
Релизним в течении нескольких недель.

Воу....
Цитата:

this.anal.connect(this.channel.gain);
Ты это там, с anal'ом попроще :lol:

Цитата:

Сообщение от RegIon (Сообщение 303327)
И почему у меня в профайлере нет таких зеленых полосок?
Аа, они только при старте, они показывают нагрузку на сеть (когда грузится ассет) или что?

Профайлер - сыроват.
Открывай лаунчер уже с ?profile=true, т.к. если откроешь без и потом открываешь по hotkey'ю профайлер, он не собирает историю если не активен, и не будет прошлых данных.
Зеленый - загрузка индивидуального ассета.
Оранжевый - линковка и компиляция шейдеров.

Если делать например асинхронные ассеты (убираешь preload галку), то загрузка ассетов будет автоматически или по решению разраба `app.assets.load(asset);`, и будет визуализована в профайлере.
При этом компиляцию шейдеров во время рабочего приложения, нужно избегать по маскимум, т.к. компиляция шейдеров в WebGL к сожалению долгий процесс, и приводит к очень заметным "заморокам" броузера, на время зависящее от сложности шейдера, порой приводит чуть ли не к нескольким секундам в худших сценариях.
Следственно если нужно что-то грузить и знаешь что будет рекомпиляция, делать UI с визуализацией загрузки - обязательно.

Жека 30.01.2016 11:34

Ответ: PlayCanvas
 
Есть такая штука - electron.atom.io.
Можно ваш редактор завернуть и поставлять в виде standalone.

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

Вот как выглядит редактор, красиво же!
скриншот
и работает шустро, но я только по демо-проекту могу судить.

Собрал версию под винду - просто стартует сайт playcanvas.
скачать архив

moka 02.02.2016 01:39

Ответ: PlayCanvas
 
Ну оборачивая редактор (как он есть) в враппер, единственное что улучшит: скорость загрузки самого редактора.
Но он и так весит около 600кб всего лишь.

А вот сделать его offline'овым, так вот легко не удастся. Т.к. в основе функционала лежит облако, которое выполняет ряд вещей:
1. Обработка и хранение всех данных: сцены, ассетов, скрипты
2. Real-time синхронизация и multiplayer часть редактора.
3. Обработка ассетов: модели, текстуры, картинки, материалы, анимация, и др.

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

Спасибо за тест.
Будут вопросы: задавай :)

А еще лучше давай откровенный фидбэк: негативное и позитивное, все давай.

Жека 02.02.2016 06:04

Ответ: PlayCanvas
 
Я юнити юзер, с меня нечего взять. :)
Но если вдруг, то конечно поделюсь.

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

Фидбек - мне понравился вводный курс, который присылался на е-мэйл,
базовые штуки объяснили, звали-зазывали создавать проект.

moka 02.02.2016 14:53

Ответ: PlayCanvas
 
Ну Chrome и Firefox вроди как стабильно рендерят все :)
Даже на мобилках и планшетах работает. Тем более т.к. у нас минимум броузеры с поддержкой webgl, то там с наличием фич в html/css/js все весьма хорошо и конкретно. Тем более используем везде ванильный js.

Рассылка, пока базовая. Хотим сделать хорошую систему вводного курса сразу в редакторе. И получше определять кому стоит рассылать эмайлы с вводным курсом, а кому не стоит.

moka 02.02.2016 14:55

Ответ: PlayCanvas
 
пост потом удалю, нужно чтоб анонс конкурса был на новой странице.

moka 02.02.2016 14:56

Ответ: PlayCanvas
 
пост #2 потом удалю, нужно чтоб анонс конкурса был на новой странице.

moka 02.02.2016 14:56

Ответ: PlayCanvas
 
пост #3 потом удалю, нужно чтоб анонс конкурса был на новой странице.

moka 02.02.2016 14:56

Ответ: PlayCanvas
 
пост #4 потом удалю, нужно чтоб анонс конкурса был на новой странице.

moka 02.02.2016 14:56

Ответ: PlayCanvas
 
PLAYHACK вместе с PlayJam - создай свою игру и выиграй денежные призы. (блог пост с деталями)

Мы проводим конкурс на 6 недель (с 1 февраля до 18 марта).


Призы:
1 место: £2000 (~$2800)
2 место: £1000 (~$1400)
3 место: £500 (~$700)

Основная тема:
Rockets! Robots! UFOs!

Второстепенная тема:
Challenge your mates (соревнуйтесь со своими друзьями).
Игра в которой игрок может вызвать на "поединок" своих друзей.
Это может быть что-то самое простое: набрать лучше счет, или самый быстрый результат, а может у вас хватает смелости на мультиплеер?

Mobile First - игра должна работать на мобильных платформах, и в результате нацелена для релиза на PlayJam мобильной игровой сети, которая скоро будет открыта.

Как принять участие:
1. Сделайте форк PLAYHACK проекта.
2. Создайте игру на основе этого проекта.
3. Используйте ассеты проекта и свои, и не забывайте про тему!
4. Выкладывайте devlog'и по пути разработки.
5. Разработка заканчивается до 11 Марта, не забудьте сделать publish вашего проекта.
6. PlayJam и PlayCanvas выберут лучших из лучших.
7. Победители получат денижные призы, и шанс релиза вашей игры на PlayJam Network.

Короче: форк проекта, билдим игру, релизим, побеждаем!

Для больших деталей и Условий Конкурса читайте в блоге.


Жека 04.02.2016 07:23

Ответ: PlayCanvas
 
Интересно, сколько вообще активных юзеров у вас?
Моя дефолтная сцена имеет номер 404654, что довольно много, это сквозная нумерация?

moka 04.02.2016 16:19

Ответ: PlayCanvas
 
Цитата:

Сообщение от Жека (Сообщение 303895)
Интересно, сколько вообще активных юзеров у вас?
Моя дефолтная сцена имеет номер 404654, что довольно много, это сквозная нумерация?

С ID сцен и пару других вещей мы однажды "проскочили" большой кусок. Сцен меньше в несколько раз. Но все равно весьма большое число.
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 500 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

moka 01.04.2016 18:54

Ответ: PlayCanvas
 
Вложений: 3
И так, закончился 6 недельный, PlayHack конкурс, и победители были объявлены.
После не простого голосования судьями, мы выбрали три победителя:

Orbital Survivor (£2000) - http://playcanv.as/p/3G3RnfUz
Сферический шутер, где вы будете постоянно подстреливать сами себя.



Galaxies: Combat (£1000) - http://playcanv.as/p/Ikq6Uk6A
Арена Shoot'em'up с волнами врагов, абгрейдами оружий и корованами!
Важно отметить что этот проект сделали наши форумчане: DStalk и mauNgerS, и их топик разработки тут.



Space Pirates (£500) - http://playcanv.as/p/VhZwmcKu
Бомбермэн + пэк-мэн. Ещё одна сферическая игрушка, но в этот раз collect'em'up, также с мультиплеером.



Больше деталей можно найти в блог посте: http://blog.playcanvas.com/playhack-...ayjam-winners/
А также поиграть в остальные игры участников конкурса: https://playcanvas.com/explore/playhack-2016-02

Спонсором конкурса является PlayJam, всего в конкурсе разыгрывалось £3500!

Arton 01.04.2016 19:17

Ответ: PlayCanvas
 
Хороши игрушки (смотрел только победителей).
Надо отметить что у «Space Pirates» возникла проблема с вводом имени, поменял раскладку, выключил банерорезку, кое как вставил через меню по правому клику мыши. В мой экран немного не умещается (1280x1024, FF, Win7 64 SP1), плюс кнопка play solo съехала.


Поздравляю mauNgerS с командой!

Жека 02.04.2016 06:58

Ответ: PlayCanvas
 
А я с мобилки открыл - ваще не вариант. :)
Поздравляю!

moka 18.04.2016 15:50

Ответ: PlayCanvas
 
Вложений: 1
Рантайм Генерация Лайтмап
Ссылка на блог пост.
Демо: http://playcanv.as/p/txPePQvy

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

Дополнительно к этому, лайтмапы имеют весьма большое требование к объему данных, количество и размер текстур линейно растёт с площадью уровней и статичной геометрии. А для Web'а, очень важно как можно быстрее позволить пользователю, насладиться и взаимодействовать с WebGL контентом.

Поэтому мы реализовали запекание лайтмап в рантайме. Заместо скачки мегабайты текстур, быстрее запечь эти самые текстуры во время загрузки приложения. Таким образом мы экономим на трафике, и т.к. запекание чаще быстрее чем скачка того же объема данных, пользователю не нужно ждать долго, до того как он может взаимодействовать с контентом.

Также, весь процесс работы интегрирован в сам Editor, и не требует никакой адаптации к другому процессу работы, или использованию сторонних приложений.
Разница в производительности на слабых девайсах - самый заметный эфект. Попробуйте данную демка на мобильном девайсе.

Это первая версия, которая не имеет большой ряд возможностей, которые будут реализованы в будущем:
1. Лайтмап блики (specular)
2. Запекание Ambient Occlusion
3. Запекание глобального освещения
4. Асинхронное запекание
5. Улучшенное качество теней
6. Дополнительные источники освещения (area lights)
7. И многое другое


moka 17.11.2016 16:08

Ответ: PlayCanvas
 
Вложений: 2
Давно не выкладывал обновлений, но не мало произошло с тех пор!
Начну выкладывать по тихоньку :)

Variance Shadow Maps
Мягенькие тени. Теперь можно легко менять тип теней, между PCF Shadow Maps и Variance Shadow Maps.
Поддерживаются три типа VSM, с разной битностью буфера: 8, 16 и 32 бита.
8 битные VSM гарантировано будут работать на всех WebGL платформах, но не имеют улучшений которые решают проблемы VSM. Если выбраны более высокой битности VSM тени, то на платформах не поддерживающие битность, автоматически будут использоваться те что поддерживаются по убывающей.
VSM - это не панацея теням, и каждому типу теней, своё применение. Также они не поддерживаются Point Light'ами пока что.
VSM также может быть дешевле, и даёт больше контроля над мягкостью теней.
Вот сравнение, слева PCF, справа VSM. Отметьте мягкость теней.




Переделали поведение камеры в Editor'е.
Многие вещи теперь более интуитивны, полёт по орбите более предсказуем, и приближение более удобное.



Все ассеты теперь загружаются с семантически корректных ссылок, дублируя структуру папок в проекте.
Это упрощает испекцию данных в Sources закладке в Dev Tools и Network закладке.



Чат в Editor'е!
Теперь общаться с коммандой стало ещё проще, не нужно никуда уходить.
Чат полностью реалтайм и не хранит истории переписки. И доступен только тем кто является частью команды проекта.



REST API для доступа к данным.
Теперь доступен REST API для Организаций, позволяющий получать разные данные с сервера, а также упрощает процесс деплоинга, позволяя запускать build процесс и скачивать готовые к релизам архивы.
Документация доступна в User Manual'е.


Чуть позже расскажу о ещё многих обновлениях за последнее время.

Mr_F_ 17.11.2016 17:39

Ответ: PlayCanvas
 
Вот немного более наглядно про VSM:



PCF, VSM8, VSM16, VSM32.

Для тех, кто в танке:
PCF делает фильтрацию при применении, т.е. тень вычисляется каждый кадр на каждый пиксель в нескольких соседних точках, получается типа фильтрованная.
VSM позволяет применять любой обычный блюр к текстуре тени ещё до её наложения. В плейканвасе мы применяем гауссиан блюр, можно легко выбрать его ширину. Т.к. блюр не обязан применяться каждый кадр, VSM отлично работает, когда тень не нужно обновлять постоянно (это движок также позволяет настроить). Например, если персонаж бежит под непересекающимися фонарями, можно обновлять только тот, под которым он сейчас, другие будут просто накладывать тень довольно дёшево. Минус - VSM больше занимают видеопамяти.

Технические детали:
VSM8 это на самом деле 16-битный VSM, где 2 канала упакованы в RG и BA восьмибитной текстуры соответственно. Для многих задач прекрасно хватает, работает везде.
VSM16 это уже 16-битный EVSM, засчёт экспоненты выше точность, вблизи кастеров особенно. Запаковать в ргба8 его не вышло, так что требует честных халф-флоатов (на ряде мобилок не поддерживаются), т.к. там нужна нормальная целая/дробная часть.
VSM32 это 32-битный EVSM, круче уже низя, весит тоже прилично, требует поддержки рендера в флоат)

tirarex 17.11.2016 21:20

Ответ: PlayCanvas
 
На ноуте с 2мя видеокартами, дискретная так и не подхватывается, а на встроенной все очень печально.
Opera

moka 17.11.2016 22:35

Ответ: PlayCanvas
 
Цитата:

Сообщение от tirarex (Сообщение 310224)
На ноуте с 2мя видеокартами, дискретная так и не подхватывается, а на встроенной все очень печально.
Opera

NVIDIA любит по стандарту броузеру присвоить встроенную видяху.
В NVIDIA Control Panel можно настроить иначе.

Что именно печально? Запости скрин с http://webglreport.com/ пожалуйста.

moka 02.12.2016 19:38

Ответ: PlayCanvas
 
Facebook запустили Instant Games в Messenger'е.
И уже некоторе игры созданы используя PlayCanvas, разными разработчиками, один из них King.

И дальше будет ещё больше, но на данный момент мы можем сказать что вы уже можете использовать PlayCanvas для разработки ваших Instant Games.
Также блог пост на эту тему можно почитать тут.


moka 16.12.2016 17:12

Ответ: PlayCanvas
 
Miniclip запустили игру на PlayCanvas - Virtual Voodoo, в неё можно было поиграть с заглавной страницы во время Haloween'а.

Jamie Cason, Исполнительный Продюсер Miniclip сказал:
Цитата:

We’re really excited by PlayCanvas technology and the promise that it holds for the future of Open Web Games. It is currently the best toolchain and engine for WebGL that we’ve seen and Virtual Voodoo represents the first of, what we hope to be, a series of successful PlayCanvas-powered Miniclip titles.
Virtual Voodoo



Сжатие Текстур по одному клику. Мы добавили возможность сжимать ваши текстуры в: DXT, PVR, ETC1 форматы. Что покрывает почти все desktop'ы, iOS и большую часть Android'ов.
Сжимая текстуры вы экономите как минимум в 6 раз потребление VRAM'а. А также по сравнению с PNG размер скачки. Также можно указать что mipmap'ы не нужны, что ещё сильнее уменьшает размер скачки и потребление VRAM на ~30%.
Почитать больше можно на нашем блог посту.


Ну и естественно демка, которая показывает мощность этой технологии. Данная демка скачивает всего 4Мб данных для запуска, и затем асинхронно докачивает всё что нужно, без прерывания работы приложения.
На desktop'ах например, используя DXT, экономится 440Мб VRAM'а! Подобный контент без сжатия просто не влезет на мобилках, но с данной технологией больше и больше контента можно использовать при разработки богатых мобильных веб приложений.

tirarex 16.12.2016 17:23

Ответ: PlayCanvas
 
Круто конечно, но в демке текстуры уровня cs source, а светильники имеют артефакты.

скинь сцену, загружу в ксорс, посмотрим сколько он сожрет =D

https://www.dropbox.com/s/3lxxdf6qmn...22.38.png?dl=0

moka 16.12.2016 18:32

Ответ: PlayCanvas
 
Цитата:

Сообщение от tirarex (Сообщение 310755)
Круто конечно, но в демке текстуры уровня cs source, а светильники имеют артефакты.

Конент из какого-то пака. Если дашь мне PBR контент уровня ААА игр, без проблем запилю демку. :)

Цитата:

Сообщение от tirarex (Сообщение 310755)
скинь сцену, загружу в ксорс, посмотрим сколько он сожрет =D

Не могу зашарить сорсы проекта :(

Но если не юзать Deferred, то с такими же фичами и числом источников, не Xors'е, не потянет. Наша демка даже на мобилках работает.
В демке 31 runtime-запечённых источника (движком), и 4 динамичных спот лайта.

tirarex 16.12.2016 18:36

Ответ: PlayCanvas
 
Цитата:

Сообщение от moka (Сообщение 310760)
Конент из какого-то пака. Если дашь мне PBR контент уровня ААА игр, без проблем запилю демку. :)


Не могу зашарить сорсы проекта :(

Но если не юзать Deferred, то с такими же фичами и числом источников, не Xors'е, не потянет. Наша демка даже на мобилках работает.
В демке 31 runtime-запечённых источника (движком), и 4 динамичных спот лайта.

Спонзу давай, она как раз жирная.

А в ксорсе у меня теперь только деферред, и он вытягивает сотни источников, конечно на мобилках не работает, но свет помягче будет =D

Mr_F_ 16.12.2016 18:54

Ответ: PlayCanvas
 
Цитата:

А в ксорсе у меня теперь только деферред,
удачи с MSAA и прозрачкой)

Цитата:

но свет помягче будет
?

tirarex 16.12.2016 22:28

Ответ: PlayCanvas
 
Цитата:

Сообщение от Mr_F_ (Сообщение 310762)
удачи с MSAA и прозрачкой)

Ну так и то и то уже есть и работает :-D

Цитата:

Сообщение от Mr_F_ (Сообщение 310762)
но свет помягче будет

В демке той станции края света очень рваные, на спотлайтах артефакты в виде зеленых и красных пикселей, тени уровня кс 1,6.

Nex 16.12.2016 22:58

Ответ: PlayCanvas
 
Цитата:

Сообщение от tirarex (Сообщение 310768)
Ну так и то и то уже есть и работает :-D
В демке той станции края света очень рваные, на спотлайтах артефакты в виде зеленых и красных пикселей, тени уровня кс 1,6.

Ты не учитываешь про мобилки на которых этот пример работает.

Есть предположение, что твои наработки на компе не мало хавают, а на мобилках тем-более не будут работать.

tirarex 16.12.2016 23:34

Ответ: PlayCanvas
 
Цитата:

Сообщение от Nex (Сообщение 310770)
Ты не учитываешь про мобилки на которых этот пример работает.

С мобилками согласен, там скорее всего такое прокатит.

Upd не прокатит, на Xiaomi redmi note 3 pro (Qualcomm Snapdragon 650 MSM8956, 1800 МГц, 2гб оперативки)
загрузилось через 4g быстро, но фпс такой себе, едва 20 с просадками до 3.
В том же Dead Trigger 2 где графика по лучше будет, фпс явно 60 и не падает.

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

Цитата:

Сообщение от Nex (Сообщение 310770)
Есть предположение, что твои наработки на компе не мало хавают, а на мобилках тем-более не будут работать.

Ессесно не будут, ксорс онли винда, а так не ест, 80-110фпс в fullhd с sslr + ssao + paralax + fxaa x4 на средней сцене с 15 светильниками и 30к поликами.

Mr_F_ 17.12.2016 00:00

Ответ: PlayCanvas
 
Цитата:

и то и то уже есть и работает
MSAA?) как?) альфу тоже как сделал?

демка настроена голимо, не спорю, контент тоже голимый, в общем она чисто про компрессию текстур (ну и то что лайтов в принципе много, и у меня 60 фпс на айфоне)

tirarex 17.12.2016 00:30

Ответ: PlayCanvas
 
Цитата:

Сообщение от Mr_F_ (Сообщение 310773)
MSAA?) как?) альфу тоже как сделал?

демка настроена голимо, не спорю, контент тоже голимый, в общем она чисто про компрессию текстур (ну и то что лайтов в принципе много, и у меня 60 фпс на айфоне)

Msaa - нет конечно, fxaa в несколько проходов, после нормальной настройки стал вполне корректно работать и не давать тонну мыла.

Прозрачные объекты давно сделал, у тебя и спрашивал как, в скайпе :-D

Сейчас уже 10 раз все переделал, оптимизировал кучу всего, пилю порталы для отрубания всего чего не нужно.

эх, убил бы за обновленный ксорс...

ARA 17.12.2016 00:41

Ответ: PlayCanvas
 
Цитата:

эх, убил бы за обновленный ксорс...
Не пробовал свой рендер на юнитях написать? Если я ничего не путаю, сейчас ничего не мешает это сделать.


Часовой пояс GMT +4, время: 23:09.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot