Войти на сайт

Авторизация, ждите ...
×
  • Страница:
  • 1
  • 2
  • 3
  • 4

ТЕМА: Leaf Engine (эволюция бурундуков)

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99363

  • ZX_Lost_Soul
  • ZX_Lost_Soul аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 546
  • Спасибо получено: 945
  • Победитель Сбитой кодировкиЗа 3 место на конкурсе маппингаОраторПроект месяца 2 местоПроект месяца 3 местоДаритель СтимкеяВетеранУчительПобедитель конкурсаРазработчик
Всем привет! Решил вот завести дневник для своего проекта, чтобы оставлять некоторые заметки по прогрессу.

Кто ещё не знает - пишу свой движок наподобии RPG Maker, который должен вобрать все лучшие его качества (в том числе создание игр без программирования), при этом предоставить решительно новые возможности и сделать удобнее многие старые. Затеял это дело ещё три года назад, но до сих пор не довёл до ума. Впрочем, проект не заброшен и потихоньку пилится.


В 2013 я излагал некоторые мысли и идеи на этом сайте и Нейтральной полосе и даже выкладывал пару демок под заголовком "RPG Maker Online". Ныне это всё неактуально, ибо абсолютно всё было переписано с нуля, даже название изменено на "Leaf Engine". Свежие демки ходили только среди нескольких людей и публично уже нигде не выставлялись.
Первые версии были реализованы на html-элементах (div-ах с картинками, которые двигал js), flash, а также чистом canvas. Актуальная версия пилится на pixi.js (с поддержкой webgl), что значительно лучше.


Хорошая оптимизация на любых устройствах, полная кроссплатформенность
Цель: Минимум 60 fps даже на слабеньких устройствах.
Статус: Игры могут быть запущены в браузере или же собраны как самостоятельное приложение (аналогично RPG Maker MV).
В данный момент с десктопными браузерами всё хорошо, мобильные же требуют больше тестинга.
Замечены фризы в мобильной Opera. Chrome и Android Browser справляются отлично.
Ещё предстоит много работы над оптимизацией по мере увеличения другого функционала.

Поддержка игр с различным типом графики
Цель: Поддержка карт на основе готовых картинок (аналог параллакс маппинга), тайловых карт, изометрических (как плоских, так и объёмных, с полноценными 3D-вычислениями коллизий и видимости). Возможность использования неограниченного количества слоёв карты. Возможность размещения объектов как с привязкой к сетке, так и без неё.
Статус: В данный момент есть поддержка многослойных карт на основе готовых картинок, однако ещё требуется оптимизация для карт большого формата (нарезка на куски в видеопамяти для выборочного рендеринга).
Поддержка плоских изометрических карт тоже готова, с объёмными пока сложно (в целом алгоритмы и отрисовка работают, но нужно больше оптимизации, при наличии десятков тысяч объектов наблюдаются некоторые проблемы с производительностью).
Тайловый редактор ещё в процессе разработки, пока он умеет мало (есть слои, рисование, заливка, но нет поддержки автотайлов, свободно позиционруемых объектов и т.д.).

Поддержка свободного движения и движения по клеточкам
Цель: Возможность создания как полностью независимых от клеток игр, так и поклеточных. Поклеточные могут быть как с движением по диагонали, так и без него. Возможность задавать проходимость с помощью клеток, изображений-масок (попиксельная коллизия) или же параметров ивентов (коллижен боксы).
Статус: В данный момент есть поддержка свободного движения, колижен-боксов, попиксельной коллизии. Алгоритмы движений требуют оптимизации и доработки (при столкновении с препятствием персонаж должен пытаться его обойти).

Гибкая настройка спрайтов и анимаций
Цель: Поддержка любого формата спрайтов и их анимаций.
Статус: В данный момент игродел может создать текстовый файл с описанием формата своего спрайта, или же использовать один из готовых (например, стандартный формат графики RPG Maker). В файлике описываются размеры кадра, местонахождение нужных анимаций на картинке, количество кадров, скорость анимации, порядок кадров. Можно сделать персонажей с 8 вариантами поворота, или даже больше (хоть все 360). При движении персонажа игра сама подбирает наиболее подходящий угол поворота из доступных. Анимациям можно дать названия (attack, casting и т.д.) для удобного вызова их в дальнейшем.
Необходимо доработать некоторые возможности для сглаживания анимации (например, чтобы при развороте на 180 градусов персонаж не моментально поворачивался, а реалистично, через промежуточные повороты). Само собой, такие фичи будут опциональными, выбираться в параметрах игры.

Полноценная поддержка всех видов управления
Цель: мышь, клавиатура, геймпад, тачскрин, экранный геймпад.
Статус: В данный момент реализовано управление мышью и с тачскрина.

Система событий на основе ивентов
Цель: Гибкая система событий на основе Событие-Условие-Действие. Например: событие [персонаж вошёл в регион], условие [*вошедший персонаж* это не игрок], действие [убить *вошедшего персонажа*]. На примере видно одно из удобств схемы: в условиях и действиях можно ссылаться на объекты, вызвавшие событие, а не жёстко задавать их, как в мейкере. Такая схема создания событий на деле не сложнее мейкерской, однако делает ГОРАЗДО проще создание в играх очень многих возможностей.

Полноценная реализация поддержки мультиплеера
Цель: Возможность создания как кооперативных (сессионных), так и ммо-игр.
Статус: Была достигнута шикарная скорость синхронизации с помощью вебсокетов и сервера на node.js. Передвижения персонажей разных игроков и ивентов синхронизируются крайне быстро, что позволит делать даже активные игры, не испытывая проблем с лагами.

Если вам интересен мой проект, буду потихоньку рассказать более подробно о разных вещах (со скриншотами и т.д.). Не стесняйтесь, пишите каменты! А пока, чтобы текст не был слишком скучным, вот вам супер-маленькая демка:

>> ИГРАЕТСЯ В БРАУЗЕРЕ, ТЫКАЙ НЕ БАИСЬ <<

В демке можно наблюдать несколько вещей:
1. Адаптация игры под разные разрешения экрана, игра старается выдежать один масштаб игры на любых пропорциях экрана, однако подстраивается иначе, если это невозможно (например, ширина экрана больше чем ширина всей карты).
2. На карте есть попиксельная коллизия и пространственное позиционирование объектов, можно походить за столами, чтобы увидеть это.
3. Есть демонстрация движения и поворотов персонажа, анимированные объекты карты (свечи на стене).
4. Показатель FPS, чтобы оценить как это идёт на ваших калькуляторах и звонилках.

Последнее редактирование: 7 года 2 мес. назад от ZX_Lost_Soul.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, Green-Leo, DK, yuryol, Cabbit, Mur, Doctor_Bug, KillingTime, akito66, Noxmils

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99364

  • Mur
  • Mur аватар
  • Вне сайта
  • Светлый дракон
  • Мур? Мур! Мур.
  • Сообщений: 574
  • Спасибо получено: 1448
  • Организатор конкурсовОраторПрограммист JavaScript Даритель СтимкеяУчитель2 место
Выглядит просто потрясающе, только вот не пойму один момент:
ZX_Lost_Soul пишет:
2. На карте есть попиксельная коллизия и пространственное позиционирование объектов, можно походить за столами, чтобы увидеть это.

А походить-то как? Кто и какими клавишами управляется? :silly:
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99365

  • ZX_Lost_Soul
  • ZX_Lost_Soul аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 546
  • Спасибо получено: 945
  • Победитель Сбитой кодировкиЗа 3 место на конкурсе маппингаОраторПроект месяца 2 местоПроект месяца 3 местоДаритель СтимкеяВетеранУчительПобедитель конкурсаРазработчик
ZX_Lost_Soul пишет:
А походить-то как? Кто и какими клавишами управляется? :silly:
Мышкой кликать, куда идти :) Пока управление только мышью.

Если не ходит - укажи, пожалуйста, свой браузер и версию, разберёмся.
Последнее редактирование: 4 года 5 мес. назад от ZX_Lost_Soul.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99366

  • Mur
  • Mur аватар
  • Вне сайта
  • Светлый дракон
  • Мур? Мур! Мур.
  • Сообщений: 574
  • Спасибо получено: 1448
  • Организатор конкурсовОраторПрограммист JavaScript Даритель СтимкеяУчитель2 место
мммм, оказывается FF не работало. В Edge действительно ходит персонаж.

К слову в FF выдаёт 215-230fps, а в Edge аж 320fps
Последнее редактирование: 7 года 2 мес. назад от Mur.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99367

  • ZX_Lost_Soul
  • ZX_Lost_Soul аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 546
  • Спасибо получено: 945
  • Победитель Сбитой кодировкиЗа 3 место на конкурсе маппингаОраторПроект месяца 2 местоПроект месяца 3 местоДаритель СтимкеяВетеранУчительПобедитель конкурсаРазработчик
Mur, какая версия FF? У меня в нём нормально ходит.

А в плане производительности анимации и рендеринга FF почти всегда уступает другим браузерам, тут ничего не поделаешь) Пока показатель FPS выше 60, это не имеет особого значения :)
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99368

  • Mur
  • Mur аватар
  • Вне сайта
  • Светлый дракон
  • Мур? Мур! Мур.
  • Сообщений: 574
  • Спасибо получено: 1448
  • Организатор конкурсовОраторПрограммист JavaScript Даритель СтимкеяУчитель2 место
Небольшое дополнение. Во всех остальных браузерах (IE11, Opera Dev, Vivaldi, FF dev, Edge) всё работает. В FF 55.0.3 в консоле выдаёт такое:

screenshot-2.png


При этом ни ghostery, ни uBlock ничего не блокируют. Других «супер хренорезок» не стоит :blush:
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99369

  • ZX_Lost_Soul
  • ZX_Lost_Soul аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 546
  • Спасибо получено: 945
  • Победитель Сбитой кодировкиЗа 3 место на конкурсе маппингаОраторПроект месяца 2 местоПроект месяца 3 местоДаритель СтимкеяВетеранУчительПобедитель конкурсаРазработчик
А можешь нажать на стрелочку рядом с ReferenceError, чтобы развернулся полный список и его заскринить?
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99370

  • Mur
  • Mur аватар
  • Вне сайта
  • Светлый дракон
  • Мур? Мур! Мур.
  • Сообщений: 574
  • Спасибо получено: 1448
  • Организатор конкурсовОраторПрограммист JavaScript Даритель СтимкеяУчитель2 место
ZX_Lost_Soul пишет:
А можешь нажать на стрелочку рядом с ReferenceError, чтобы развернулся полный список и его заскринить?

Мне не сложно:

screenshot2-2.png
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, ZX_Lost_Soul

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99371

  • Mur
  • Mur аватар
  • Вне сайта
  • Светлый дракон
  • Мур? Мур! Мур.
  • Сообщений: 574
  • Спасибо получено: 1448
  • Организатор конкурсовОраторПрограммист JavaScript Даритель СтимкеяУчитель2 место
Всё, отбой тревоги! Всё-таки проблема оказалась на моей стороне :blush:

Стоит плагин антиблокировки кнопок мыши — addons.mozilla.org/ru/firefox/addon/enable-rightclick-and-copy/

Видимо он конфликтует с jquery :sick:

И кстати для чего оно нужно? Неужели так сложно сделать свой опрос? Для этого надо обязательно тянуть стороннюю библиотеку? :unsure:
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, ZX_Lost_Soul

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99372

  • Lemmy
  • Lemmy аватар
  • Вне сайта
  • Мастер
  • Сообщений: 158
  • Спасибо получено: 405
  • ВетеранКомпозиторПереводчикУчительРазработчикПроект месяца 2 место
Загрузка горит и всё, ничё не запускается.

Opera 46.0

Информация о версии

Версия: 46.0.2597.46 (PGO)
Канал обновлений: Stable
Система: Windows 7 64-bit

Идентификация браузера

Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36 OPR/46.0.2597.46

Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99373

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2478
  • 2 место РазработчикПаладинУчительОраторВетеранПоддержка ФондаДаритель СтимкеяЗа 2 место на конкурсе маппингаПроект месяца 3 место
Проект очень интересный!

Меня несколько смущает запланированный объём. Запланировано очень-очень-очень много плюшек. Кадокава бы из этого сделала десять разных редакторов. :) Надеюсь, что всё запланированное получится сделать.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: ZX_Lost_Soul

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99374

  • ZX_Lost_Soul
  • ZX_Lost_Soul аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 546
  • Спасибо получено: 945
  • Победитель Сбитой кодировкиЗа 3 место на конкурсе маппингаОраторПроект месяца 2 местоПроект месяца 3 местоДаритель СтимкеяВетеранУчительПобедитель конкурсаРазработчик
Mur, спасибо за отчёт, в дальнейшем постараюсь сделать совместимость с этим плагином (или хотя бы предупреждение в случае блокировки функции плагином).

jquery в данный момент не сильно нужен, но в дальнейшем будет крайне удобен для реализации некоторых вещей. А раз я всё равно собрался его использовать - то и сейчас не вижу смысла его избегать :silly: Тем более, я его использую не только для опроса объектов.
Последнее редактирование: 7 года 2 мес. назад от ZX_Lost_Soul.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, Mur

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99375

  • Mur
  • Mur аватар
  • Вне сайта
  • Светлый дракон
  • Мур? Мур! Мур.
  • Сообщений: 574
  • Спасибо получено: 1448
  • Организатор конкурсовОраторПрограммист JavaScript Даритель СтимкеяУчитель2 место
Lemmy пишет:
Opera 46.0

У меня всё в Opera работает. Проверь не блокирует ли работу какой-нибудь плагин.

Нажми CTRL+SHIFT+I и посмотри консоль:

screenshot3-2.png


Нет ли там каких-либо ошибок.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, ZX_Lost_Soul

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99376

  • Mur
  • Mur аватар
  • Вне сайта
  • Светлый дракон
  • Мур? Мур! Мур.
  • Сообщений: 574
  • Спасибо получено: 1448
  • Организатор конкурсовОраторПрограммист JavaScript Даритель СтимкеяУчитель2 место
ZX_Lost_Soul пишет:
Mur, спасибо за отчёт, в дальнейшем постараюсь сделать совместимость с этим плагином (или хотя бы предупреждение в случае блокировки функции плагином).

Ну смотри сам, если есть возможность проверить такое состояние, то делай. Можно даже вывести окошко — «отключите сторонние плагины вашего браузера или добавьте сайт в исключения».
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99378

  • Lemmy
  • Lemmy аватар
  • Вне сайта
  • Мастер
  • Сообщений: 158
  • Спасибо получено: 405
  • ВетеранКомпозиторПереводчикУчительРазработчикПроект месяца 2 место
Вот ошибки в консоли:

Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99380

  • ZX_Lost_Soul
  • ZX_Lost_Soul аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 546
  • Спасибо получено: 945
  • Победитель Сбитой кодировкиЗа 3 место на конкурсе маппингаОраторПроект месяца 2 местоПроект месяца 3 местоДаритель СтимкеяВетеранУчительПобедитель конкурсаРазработчик
Lemmy, по каким-то причинам в твоём браузере отключена поддержка WebGL.

Добавил в демку поддержку такой ситуации, проверь сейчас.
Последнее редактирование: 7 года 2 мес. назад от ZX_Lost_Soul.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99381

  • Lemmy
  • Lemmy аватар
  • Вне сайта
  • Мастер
  • Сообщений: 158
  • Спасибо получено: 405
  • ВетеранКомпозиторПереводчикУчительРазработчикПроект месяца 2 место
Теперь так:

Администратор запретил публиковать записи гостям.

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99382

  • ZX_Lost_Soul
  • ZX_Lost_Soul аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 546
  • Спасибо получено: 945
  • Победитель Сбитой кодировкиЗа 3 место на конкурсе маппингаОраторПроект месяца 2 местоПроект месяца 3 местоДаритель СтимкеяВетеранУчительПобедитель конкурсаРазработчик
Lemmy, ох, я забыл исправить инициализацию второго рендерера. Проверь теперь.
Администратор запретил публиковать записи гостям.

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99383

  • Lemmy
  • Lemmy аватар
  • Вне сайта
  • Мастер
  • Сообщений: 158
  • Спасибо получено: 405
  • ВетеранКомпозиторПереводчикУчительРазработчикПроект месяца 2 место
Включилось. Когда стоишь - 140 фпс, когда идёшь, варьируется и падает минимум до 110. Хотя, ща окно переключил и стала меньше и при ходьбе и при простое. Аж до 66 упало. Тут использована технология по типу игр Лига Ангелов?

Последнее редактирование: 7 года 2 мес. назад от Lemmy.
Администратор запретил публиковать записи гостям.

Leaf Engine (эволюция бурундуков) 7 года 2 мес. назад #99386

  • ZX_Lost_Soul
  • ZX_Lost_Soul аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 546
  • Спасибо получено: 945
  • Победитель Сбитой кодировкиЗа 3 место на конкурсе маппингаОраторПроект месяца 2 местоПроект месяца 3 местоДаритель СтимкеяВетеранУчительПобедитель конкурсаРазработчик
Lemmy, Лига Ангелов сделана на флеш. Использовать флеш в 2017 году неразумно, поскольку сейчас многие отказываются от его поддержки. Самые популярные мобильные браузеры уже сегодня не поддерживают флеш, а в дальнейшем, возможно, и на ПК его искоренят.

Актуальная версия Leaf Engine не использует флеш и работает на современном WebGL (если невозможно его использовать, используется обычный html5 canvas, как в твоём случае).
Последнее редактирование: 7 года 2 мес. назад от ZX_Lost_Soul.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Mur
  • Страница:
  • 1
  • 2
  • 3
  • 4
Время создания страницы: 0.260 секунд