Этого треда уже нет.
Это копия, сохраненная 13 марта 2022 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Phaser 3.js tread 591214 В конец треда | Веб
Вроде на дваче полно вебмакак, а треда по фазеру я не наблюдаю...
Короче годная библиотека, можно даже онлайн игру запилить в легкую, вот как раз решил сделать РПГ игрулю с генерируемым миром, поделил все на чанки, сделал тестовую модель персонажа и думаю как реализовать систему выгрузки чанков. Пока сделал генерацию чанков в виде объектов и складываю в здоровенный массив, в чанках хранятся все данные тайтлов(координаты и ключ территории)
Можно заценить вот здесь https://lolodin.github.io/My2DGame/
Буду рад если у кто нибудь поделится своими гайдами по созданию игрового мира на чанках
изображение.png1 Кб, 206x221
2 591234
>>591214 (OP)

>кто нибудь поделится своими гайдами по созданию игрового мира на чанках


Первое и самое главное - объектные пулы. Без них будет тормозить.
Из этого следует, что все чанки должны быть одного типа, чтобы храниться в пуле, офк.
Далее ЛОДы. Нужно на практике (экспериментально) определить границы уровней детализации. Неважно, 2д-канва у тебя или 3д-проекция. Допустим ты определил три уровня: ближайший, второго плана, третьего плана и окружение. Окружение - синглтон. Существует всегда и видимо всегда. Третий план загружается статично. Второй план к статике подгружает движение. Первый план подгружает интерфейс (взаимодействие игрока с собой). В ближайшем находится сам игрок, здесь уместно загружать хайрез-текстуры, для разглядывания игроком.
Далее, на примере 2д-топдауна. Ближайший план это один чанк. Вокруг него 8 чанков первого плана, которые уже загружены и готовы к бесшовному переходу игрока в них. Далее 16 чанков второго плана, готовые загрузиться до конца при приближении игрока. Далее 24 чанка третьего плана, готовы начать загружаться. И совсем вдалеке статическая текстура, возможно с анимацией, но не участвующая в динамической загрузке.
Таким образом получаем размер объектного пула 24+16+8+1 = 49 плюс ещё 1 на всякий случай = 50 чанков.
Допустим, тебя не устроило, что второй план слишком мал и игроку бросается в глаза статичный третий план. Тогда ты расширяешь второй план до двух рядов, он становится 24+16 = 40, а третий план становится 32 чанка и общий размер объектного пула у тебя будет 32+40+8+1+1= 82 чанка.
3 591317
>>591234

> Вокруг него 8 чанков первого плана, которые уже загружены и готовы к бесшовному переходу игрока в них


Есть примеры кода, бро, а так годно расписал, сам думал об этом
4 591319
Вообще у топдаун чанков много реализаций, самый простой и распространенный это каждый раз генерить на основе сида, берешь координаты там и другую залупу, но это лишает нас возможности сохранять мир, если он изменяемый, поэтому я создал массив, в котором храню объект чанк, имеющий свой ID в виде двухмерного массива[1,1], и хранящий координаты каждого тайтла. Сегодня попробую реализовать чанки второго плана, идеи уже есть как сделать правильно. Но еще хочу рефакторинг кода сделать, у js проблемы с классами, но писать такие простыни на 1к строчек это пздц
5 592508
Короче сделал загрузку и выгрузку чанков, но появился неприятный баг, при выходе в минусовые координаты появляются пустые зоны, на второй гифке видно. Как сделаю фикс, приступлю к созданию игровых объектов, добавлю деревья, которые будут расти и распространяться по игровой карте
6 592563
...
ScreenRecorderProject24.gif18,3 Мб, 450x296
7 592605
Все, баги убраны, приступаю к созданию игровых объектов
ScreenRecorderProject28.gif16,3 Мб, 540x350
8 593600
Запилил деревья, теперь реализую функционал их роста и распространения в игровом мире
ScreenRecorderProject30.mp44,3 Мб, mp4,
518x346, 0:43
9 593775
Теперь деревья захватывают территории, нужно все отладить и довести до ума. Зачем можно перейти к самому геймплею
10 593914
>>591214 (OP)
Могу тебе книгу дать phaser III game prototyping честносто купил, там много полезного ну или сам скачай
11 593927
>>593914
Чет адекватных ресурсов с этой книгой не нашел, кидай в тележку
@Heman0 или на почту golefq2m28ANUSgmJ9mailPUNCTUMcoR6lm
12 594069
>>593914
И мне если можно
archer8fvisbobANUSmae#filPUNCTUMrD:$u
13 594072
>>593927
Короче чекнул книжку, ничего существенно полезного там нет, ну как минимум не нашел для себя ничего
14 594229
>>593914
Может зальешь на файлообменник куда, Что каждый не просил ссылку?
15 594313
16 594314
Короче, сначала нужно удобную структуру сделать для сущностей, иначе заебетесь с кодингом, два дня убил на переделывание классов, но я просто не совсем ветеран ООП
17 594422
Охуеть, 2 недели прошло, а я даже геймплей еще не сделал
18 594428
>>594422
А мог бы уже игру делать
19 594441
>>594428
Одному трудно
20 594442
>>594441
Нет
expandingBattles[1].gif1,5 Мб, 1324x757
21 594465
Думаю над боевкой, хочу нечто подобное запилить
22 594485
>>594465
И что там сложного?
23 594493
>>594485
Да дохуя, генерация события, генерация боевой сетки, парметров, алгоритмы поиска пути и логики ИИ
24 594638
>>594493

> генерация события


Изич. Делаем список событий, достаём из него рандомом.

> генерация боевой сетки


> парметров


Изич. Задаём шаг рисуем линии. Поверх линий рисуем преграды. Что сложного-то?

> алгоритмы поиска пути и логики ИИ


Ну изич же. Добавляем в списки из п.1. приоритет и актуальность и получаем типичного быдлодвачера: хотеть фап-фап - идти в порнхаб, хотеть трал-трал - идти в гд, хотеть девелоп-девелоп - идти в... нее, есть более приоритетные задачи: пожрать, посрать, покурить. Мамка ввалилась в комнату и требует найти работу - включить режим кабанчика!
25 594674
>>594638
А где пример кода? Сренькнуть и я могу
26 594699
>>594674

> Сренькнуть и я могу


Не сомневаюсь. Всё что ты можешь - это сренькать и просить готовые куски кода.
27 594743
>>594699
Чево же ты свой гугол не напишешь? Схематично нарисовал свою говносхему и хуяришь по ней свой гугель
28 594780
>>594743
Сначала ты игоры сделай. О тебе же речь, чмо никчёмное.
photo2017-11-1917-24-29.jpg55 Кб, 720x1280
29 594802
>>594780
Ладно, сделою
ScreenRecorderProject35.mp42,8 Мб, mp4,
690x456, 0:33
30 594815
первое подобие ИИ
ScreenRecorderProject36.mp45,8 Мб, mp4,
690x456, 0:41
31 595216
Короче запилил управление через мышку, потихоньку НПС допиливаются, трогать здесь - https://lolodin.github.io/My2DGame/
32 595247
сделол анимацию ГГ, теперь это не серый мешок
33 668265
>>595216
блин, может кто объясниить как он сделал ход персонажа через клик по пространству? везде в туториалаз только wasd примеры
34 668272
>>668265
Ты имеешь в виду с обходом препятствий или просто движение в направлении мыши?
35 668328
>>668272
просто движение в направление мыши
36 668386
>>668328
Векторы погугли. Находишь вектор из позиции игрока в позицию мыши. Делаешь его длину равной 1. Потом умножаешь его на скорость и прибавляешь его к позиции игрока.
vx = mouseX - playerX
vy = mouseY - playerY
vlen = sqrt(vxvx + vyvy)
vx = vx / vlen speed
vy = vy / vlen
speed
playerX += vx
playerY += vy
Это если скорость измерять в пикселях в кадр.
37 668390
>>668386
знак умножения пропал
38 668599
39 706869
Живой кто есть итт еще?

Есть группа, мне надо чтобы одинаковые болванчики с одинаковыми свойствами были как бэ независимыми. Т.е. если я буду отнимать хп при столкновении, то у одного конкретного, а не у всей группы. Вот как к одному обратиться и вообще его идентифицировать после создания группы?

this.hachi = this.add.group();
this.hachi.hp = 100;
Тред утонул или удален.
Это копия, сохраненная 13 марта 2022 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /gd/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски