Сохранен 39
https://2ch.hk/gd/res/591214.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Phaser 3.js tread

 Аноним 05/07/19 Птн 19:41:01 #1 №591214 
image.png
ScreenRecorderProject17.gif.mp4
Вроде на дваче полно вебмакак, а треда по фазеру я не наблюдаю...
Короче годная библиотека, можно даже онлайн игру запилить в легкую, вот как раз решил сделать РПГ игрулю с генерируемым миром, поделил все на чанки, сделал тестовую модель персонажа и думаю как реализовать систему выгрузки чанков. Пока сделал генерацию чанков в виде объектов и складываю в здоровенный массив, в чанках хранятся все данные тайтлов(координаты и ключ территории)
Можно заценить вот здесь https://lolodin.github.io/My2DGame/
Буду рад если у кто нибудь поделится своими гайдами по созданию игрового мира на чанках
Аноним 05/07/19 Птн 22:54:44 #2 №591234 
изображение.png
>>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 чанка.
Аноним 06/07/19 Суб 17:52:09 #3 №591317 
>>591234
> Вокруг него 8 чанков первого плана, которые уже загружены и готовы к бесшовному переходу игрока в них
Есть примеры кода, бро, а так годно расписал, сам думал об этом
Аноним 06/07/19 Суб 18:03:28 #4 №591319 
Вообще у топдаун чанков много реализаций, самый простой и распространенный это каждый раз генерить на основе сида, берешь координаты там и другую залупу, но это лишает нас возможности сохранять мир, если он изменяемый, поэтому я создал массив, в котором храню объект чанк, имеющий свой ID в виде двухмерного массива[1,1], и хранящий координаты каждого тайтла. Сегодня попробую реализовать чанки второго плана, идеи уже есть как сделать правильно. Но еще хочу рефакторинг кода сделать, у js проблемы с классами, но писать такие простыни на 1к строчек это пздц
Аноним 11/07/19 Чтв 23:09:36 #5 №592508 
ScreenRecorderProject23.gif
ScreenRecorderProject22.gif
Короче сделал загрузку и выгрузку чанков, но появился неприятный баг, при выходе в минусовые координаты появляются пустые зоны, на второй гифке видно. Как сделаю фикс, приступлю к созданию игровых объектов, добавлю деревья, которые будут расти и распространяться по игровой карте
Аноним 12/07/19 Птн 08:27:27 #6 №592563 
...
Аноним 12/07/19 Птн 11:40:05 #7 №592605 
ScreenRecorderProject24.gif
Все, баги убраны, приступаю к созданию игровых объектов
Аноним 15/07/19 Пнд 19:36:03 #8 №593600 
ScreenRecorderProject28.gif
Запилил деревья, теперь реализую функционал их роста и распространения в игровом мире
Аноним 16/07/19 Втр 15:13:46 #9 №593775 
ScreenRecorderProject30.mp4
Теперь деревья захватывают территории, нужно все отладить и довести до ума. Зачем можно перейти к самому геймплею
Аноним 17/07/19 Срд 10:19:33 #10 №593914 
>>591214 (OP)
Могу тебе книгу дать phaser III game prototyping честносто купил, там много полезного ну или сам скачай
Аноним 17/07/19 Срд 11:43:06 #11 №593927 
>>593914
Чет адекватных ресурсов с этой книгой не нашел, кидай в тележку
@Heman0 или на почту [email protected]
Аноним 17/07/19 Срд 21:03:27 #12 №594069 
>>593914
И мне если можно
[email protected]
Аноним 17/07/19 Срд 21:11:26 #13 №594072 
>>593927
Короче чекнул книжку, ничего существенно полезного там нет, ну как минимум не нашел для себя ничего
Аноним 18/07/19 Чтв 16:42:45 #14 №594229 
>>593914
Может зальешь на файлообменник куда, Что каждый не просил ссылку?
Аноним 19/07/19 Птн 11:39:45 #15 №594313 
>>594229
https://yadi.sk/i/PKR7j7zZ3djMIw
Аноним 19/07/19 Птн 11:41:10 #16 №594314 
Короче, сначала нужно удобную структуру сделать для сущностей, иначе заебетесь с кодингом, два дня убил на переделывание классов, но я просто не совсем ветеран ООП
Аноним 20/07/19 Суб 00:07:57 #17 №594422 
Охуеть, 2 недели прошло, а я даже геймплей еще не сделал
Аноним 20/07/19 Суб 06:12:40 #18 №594428 
>>594422
А мог бы уже игру делать
Аноним 20/07/19 Суб 10:29:39 #19 №594441 
>>594428
Одному трудно
Аноним 20/07/19 Суб 10:30:22 #20 №594442 
>>594441
Нет
Аноним 20/07/19 Суб 15:04:31 #21 №594465 
expandingBattles[1].gif
Думаю над боевкой, хочу нечто подобное запилить
Аноним 20/07/19 Суб 17:02:32 #22 №594485 
>>594465
И что там сложного?
Аноним 20/07/19 Суб 17:35:13 #23 №594493 
>>594485
Да дохуя, генерация события, генерация боевой сетки, парметров, алгоритмы поиска пути и логики ИИ
Аноним 21/07/19 Вск 11:32:44 #24 №594638 
>>594493
> генерация события
Изич. Делаем список событий, достаём из него рандомом.
> генерация боевой сетки
> парметров
Изич. Задаём шаг рисуем линии. Поверх линий рисуем преграды. Что сложного-то?
> алгоритмы поиска пути и логики ИИ
Ну изич же. Добавляем в списки из п.1. приоритет и актуальность и получаем типичного быдлодвачера: хотеть фап-фап - идти в порнхаб, хотеть трал-трал - идти в гд, хотеть девелоп-девелоп - идти в... нее, есть более приоритетные задачи: пожрать, посрать, покурить. Мамка ввалилась в комнату и требует найти работу - включить режим кабанчика!
Аноним 21/07/19 Вск 12:52:15 #25 №594674 
>>594638
А где пример кода? Сренькнуть и я могу
Аноним 21/07/19 Вск 16:45:19 #26 №594699 
>>594674
> Сренькнуть и я могу
Не сомневаюсь. Всё что ты можешь - это сренькать и просить готовые куски кода.
Аноним 21/07/19 Вск 19:15:53 #27 №594743 
>>594699
Чево же ты свой гугол не напишешь? Схематично нарисовал свою говносхему и хуяришь по ней свой гугель
Аноним 21/07/19 Вск 21:47:44 #28 №594780 
>>594743
Сначала ты игоры сделай. О тебе же речь, чмо никчёмное.
Аноним 21/07/19 Вск 22:24:37 #29 №594802 
photo2017-11-1917-24-29.jpg
>>594780
Ладно, сделою
Аноним 22/07/19 Пнд 00:42:47 #30 №594815 
ScreenRecorderProject35.mp4
первое подобие ИИ
Аноним 24/07/19 Срд 17:58:34 #31 №595216 
ScreenRecorderProject36.mp4
Короче запилил управление через мышку, потихоньку НПС допиливаются, трогать здесь - https://lolodin.github.io/My2DGame/
Аноним 24/07/19 Срд 21:59:41 #32 №595247 
сделол анимацию ГГ, теперь это не серый мешок
Аноним 10/05/20 Вск 22:33:14 #33 №668265 
>>595216
блин, может кто объясниить как он сделал ход персонажа через клик по пространству? везде в туториалаз только wasd примеры
Аноним 10/05/20 Вск 23:01:08 #34 №668272 
>>668265
Ты имеешь в виду с обходом препятствий или просто движение в направлении мыши?
Аноним 11/05/20 Пнд 12:02:17 #35 №668328 
>>668272
просто движение в направление мыши
Аноним 11/05/20 Пнд 16:10:40 #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
Это если скорость измерять в пикселях в кадр.
Аноним 11/05/20 Пнд 16:16:21 #37 №668390 
>>668386
знак умножения пропал
Аноним 12/05/20 Втр 13:11:09 #38 №668599 
>>668390
Да, пропал. http://noobtype.ru/wiki/Wakaba_mark
Аноним 29/10/20 Чтв 01:55:40 #39 №706869 
Живой кто есть итт еще?

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

this.hachi = this.add.group();
this.hachi.hp = 100;


comments powered by Disqus

Отзывы и предложения