М.Двач / Gamedev

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

Phaser 3.js tread 5 июля 2019, 19:41 591214 В конец треда | Веб

433 Кб, 635x545131 Кб, mp4,
252x106, 0:40

Вроде на дваче полно вебмакак, а треда по фазеру я не наблюдаю...
Короче годная библиотека, можно даже онлайн игру запилить в легкую, вот как раз решил сделать РПГ игрулю с генерируемым миром, поделил все на чанки, сделал тестовую модель персонажа и думаю как реализовать систему выгрузки чанков. Пока сделал генерацию чанков в виде объектов и складываю в здоровенный массив, в чанках хранятся все данные тайтлов(координаты и ключ территории)
Можно заценить вот здесь https://lolodin.github.io/My2DGame/
Буду рад если у кто нибудь поделится своими гайдами по созданию игрового мира на чанках

Ответы591234593914

1 Кб, 206x221
2 5 июля 2019, 22:54 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 чанка.

Ответы591317

3 6 июля 2019, 17:52 3 591317

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

4 6 июля 2019, 18:03 4 591319

Вообще у топдаун чанков много реализаций, самый простой и распространенный это каждый раз генерить на основе сида, берешь координаты там и другую залупу, но это лишает нас возможности сохранять мир, если он изменяемый, поэтому я создал массив, в котором храню объект чанк, имеющий свой ID в виде двухмерного массива[1,1], и хранящий координаты каждого тайтла. Сегодня попробую реализовать чанки второго плана, идеи уже есть как сделать правильно. Но еще хочу рефакторинг кода сделать, у js проблемы с классами, но писать такие простыни на 1к строчек это пздц

5 11 июля 2019, 23:09 5 592508

3,1 Мб, 548x2946,4 Мб, 548x294

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

6 12 июля 2019, 08:27 6 592563

...

18,3 Мб, 450x296
7 12 июля 2019, 11:40 7 592605

Все, баги убраны, приступаю к созданию игровых объектов

16,3 Мб, 540x350
8 15 июля 2019, 19:36 8 593600

Запилил деревья, теперь реализую функционал их роста и распространения в игровом мире

4,3 Мб, mp4,
518x346, 0:43
9 16 июля 2019, 15:13 9 593775

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

10 17 июля 2019, 10:19 10 593914

>>591214 (OP)
Могу тебе книгу дать phaser III game prototyping честносто купил, там много полезного ну или сам скачай

Ответы593927594069594229

11 17 июля 2019, 11:43 11 593927

>>593914
Чет адекватных ресурсов с этой книгой не нашел, кидай в тележку
@Heman0 или на почту golefq2m28ANUSgmJ9mailPUNCTUMcoR6lm

Ответы594072

12 17 июля 2019, 21:03 12 594069

>>593914
И мне если можно
archer8fvisbobANUSmae#filPUNCTUMrD:$u

13 17 июля 2019, 21:11 13 594072

>>593927
Короче чекнул книжку, ничего существенно полезного там нет, ну как минимум не нашел для себя ничего

14 18 июля 2019, 16:42 14 594229

>>593914
Может зальешь на файлообменник куда, Что каждый не просил ссылку?

Ответы594313

15 19 июля 2019, 11:39 15 594313

>>594229
https://yadi.sk/i/PKR7j7zZ3djMIw

16 19 июля 2019, 11:41 16 594314

Короче, сначала нужно удобную структуру сделать для сущностей, иначе заебетесь с кодингом, два дня убил на переделывание классов, но я просто не совсем ветеран ООП

17 20 июля 2019, 00:07 17 594422

Охуеть, 2 недели прошло, а я даже геймплей еще не сделал

Ответы594428

18 20 июля 2019, 06:12 18 594428

>>594422
А мог бы уже игру делать

Ответы594441

19 20 июля 2019, 10:29 19 594441

>>594428
Одному трудно

Ответы594442

20 20 июля 2019, 10:30 20 594442

>>594441
Нет

1,5 Мб, 1324x757
21 20 июля 2019, 15:04 21 594465

Думаю над боевкой, хочу нечто подобное запилить

Ответы594485

22 20 июля 2019, 17:02 22 594485

>>594465
И что там сложного?

Ответы594493

23 20 июля 2019, 17:35 23 594493

>>594485
Да дохуя, генерация события, генерация боевой сетки, парметров, алгоритмы поиска пути и логики ИИ

Ответы594638

24 21 июля 2019, 11:32 24 594638

>>594493
> генерация события
Изич. Делаем список событий, достаём из него рандомом.
> генерация боевой сетки
> парметров
Изич. Задаём шаг рисуем линии. Поверх линий рисуем преграды. Что сложного-то?
> алгоритмы поиска пути и логики ИИ
Ну изич же. Добавляем в списки из п.1. приоритет и актуальность и получаем типичного быдлодвачера: хотеть фап-фап - идти в порнхаб, хотеть трал-трал - идти в гд, хотеть девелоп-девелоп - идти в... нее, есть более приоритетные задачи: пожрать, посрать, покурить. Мамка ввалилась в комнату и требует найти работу - включить режим кабанчика!

Ответы594674

25 21 июля 2019, 12:52 25 594674

>>594638
А где пример кода? Сренькнуть и я могу

Ответы594699

26 21 июля 2019, 16:45 26 594699

>>594674
> Сренькнуть и я могу
Не сомневаюсь. Всё что ты можешь - это сренькать и просить готовые куски кода.

Ответы594743

27 21 июля 2019, 19:15 27 594743

>>594699
Чево же ты свой гугол не напишешь? Схематично нарисовал свою говносхему и хуяришь по ней свой гугель

Ответы594780

28 21 июля 2019, 21:47 28 594780

>>594743
Сначала ты игоры сделай. О тебе же речь, чмо никчёмное.

Ответы594802

55 Кб, 720x1280
29 21 июля 2019, 22:24 29 594802

>>594780
Ладно, сделою

2,8 Мб, mp4,
690x456, 0:33
30 22 июля 2019, 00:42 30 594815

первое подобие ИИ

5,8 Мб, mp4,
690x456, 0:41
31 24 июля 2019, 17:58 31 595216

Короче запилил управление через мышку, потихоньку НПС допиливаются, трогать здесь - https://lolodin.github.io/My2DGame/

Ответы668265

32 24 июля 2019, 21:59 32 595247

сделол анимацию ГГ, теперь это не серый мешок

33 10 мая 2020, 22:33 33 668265

>>595216
блин, может кто объясниить как он сделал ход персонажа через клик по пространству? везде в туториалаз только wasd примеры

Ответы668272

34 10 мая 2020, 23:01 34 668272

>>668265
Ты имеешь в виду с обходом препятствий или просто движение в направлении мыши?

Ответы668328

35 11 мая 2020, 12:02 35 668328

>>668272
просто движение в направление мыши

Ответы668386

36 11 мая 2020, 16:10 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
Это если скорость измерять в пикселях в кадр.

Ответы668390

37 11 мая 2020, 16:16 37 668390

>>668386
знак умножения пропал

Ответы668599

38 12 мая 2020, 13:11 38 668599

>>668390
Да, пропал. http://noobtype.ru/wiki/Wakaba_mark

39 29 окт 2020, 01:55 39 706869

Живой кто есть итт еще?

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

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

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /gd/В начало тредаВеб-версияНастройки

/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.gq, m2ch.cf, m2ch.fapp.in, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion