Двач.hk не отвечает.
Вы видите копию треда, сохраненную 10 мая 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Аркадная стрелялка с видом сверху 525074 В конец треда | Веб
ИТТ я буду пилить аркадную стрелялку с видом сверху для веба в духе старых флэш-игр типа пикрелейтед.

Язык: Haxe
Платформа: Веб
Первая цель: запилить простенький графический движок на вебЖЛ.
Ну чо, народ, погнали, нахуй.
classic.jpg50 Кб, 445x372
2 525102
>>25074 (OP)

>Первая цель: запилить простенький графический движок на вебЖЛ.

3 525222
>>25102
Как же ты меня ловко, кратко и талантливо приложил!
Но тем не менее, самая основа у меня готова, 4 тысячи квадратиков рендерятся в 60-ти фпс, можно еще подшаманить с шейдером, чтобы увеличить производительность, но, думаю, должно и этого хватить. Потом добавлю рендеринг во фреймбуфер и блум, но это будет уже позже.

Следующий шаг: запилить кораблик игрока с управлением передвижением и стрельбой.
2018-09-02 22-01-40.mp4146 Кб, mp4,
800x600, 0:16
4 525655
Сделал передвижение вчера, это оказалось не так-то просто. Ощущается как-то не очень, но это можно будет подправить.

Следующий шаг: первые враги. Для этого понадобится запилить обнаружение коллизий, что будет несколько сложновато, но я справлюсь.
xzibit surprised.jpg53 Кб, 741x487
6 525978
>>25938
Хммм?
7 525989
>>25978 нет времени обьяснять
8 525996
>>25074 (OP)
Уж лучше тогда на Haxe писать pixi.js код с помощью привязок.

У haxe производительность сейчас не сказал бы, что хорошая, если будет много всяких эффектов - придётся заёбываться с производительностью.
9 525997
>>25996

>У haxe


У openfl конечно же, я думаю ты его используешь.
10 526000
>>25997
Нет, я использую велосипед на вебЖЛ. Никакого опенФЛ.
И кстати, я рендерю не квады с текстурами, а линии с помощью GL_LINE_LOOP.
2018-09-07 15-57-05.mp4252 Кб, mp4,
800x600, 0:15
11 526052
Думаю, стоит обновить тред.
Я все еще работаю над обнаружением коллизий. Я аппроксимирую объекты с помощью нескольких кружков и вычисляю их AABB, чтобы добавить их в uniform grid, которая используется для первой фазы collision detection'а.

Пора немного отрефакторить.
12 526053
Ах да, кстати, кто-нибудь знает, почему у меня canvas растянут? Он должен быть размерами 800х600, но почему-то получается 1000х750, в браузере я не приближаю, css не использую.
2018-09-08 22-32-45.mp418,6 Мб, mp4,
800x600, 0:11
13 526230
Затестил систему обнаружения коллизий. Вроде неплохо работает, хотя в фуррифоксе производительность оставляет желать лучшего: стоит задрать количество объектов до 2000, как фпс падает до сорока. Хром же стабильно показывает 55-60. Впрочем, 2000 - это дохуя, мне в худшем случае понадобится несколько сотен. К тому уже у меня уже есть кое-какие соображения по поводу оптимизации.

А теперь: рефакторинг. Надо создать отдельный объект для хранения состояния игры, плюс еще по мелочи...
sad kitty.jpg167 Кб, 600x942
14 527110
Чо-то я ленился на этой неделе. К тому же рефакторить скучно, и к некоторым решениям сложно придти.

Так что ничего нового пока.
15 527283
>>26053
Это в html аттрибутами задается: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/width#Examples . И, судя по: "default value of 300 is used" - какой-то ксс у тебя используется.
16 527284
>>26230
Профилируй: задери кол-во объектов до 2м и посмотри, у каких функций self самый жирный (в хромовском дебаггере можно подключить микросекунды, но это лишнее). Еще у тебя демка очень похожа на классический пример 0/0 превратился в NaN, что выводит ф-ции из моно%забылслово% состояния (хотя, тут не факт что фокс умеет в отпимизацию по стилю в8). Про рефакторинг+оптимайз, раз уж ты маньяк, возьми веб-воркеры в каждый из них сунь useasm (и не забывай про минимальный пакет данных от оперативки к процу, даже если векторизация данных у js все еще в жопе), чтобы рассчитывать коллизии параллельно.
17 527823
>>27284
Спасибо за совет, но оптимизировать я буду позже. Как мне сказали:"преждевременная оптимизация - игрушка дьявола, ежжи!"

>>27283
Я так и делаю. Выставляю в атрибутах канваса ширину=800 и высоту=600, и для невооруженного глаза все выглядит правильно, но если попытаться записать видео, оказывается, что канвас увеличен в 1.25 раз.
sage 18 528958
>>27823

> записать видео, оказывается, что канвас увеличен в 1.25 раз


Интересно. Грешить можно на: 1. какой-нибудь зум в системе 2. запись видео. Если рядом с канвасом поставить div style="width:800px;height:600px;background:red" он будет меньше канваса?
19 528975
>>28958

>какой-нибудь зум в системе


Точно, так и есть. Заглянул в опции дисплея, там приближение 125% стоит, поставил на 100%, все стало милипизерным, но размер канваса правильный.
Спасибо за помощь!
2018-10-17 15-15-19.mp45,4 Мб, mp4,
800x600, 0:29
20 532881
Я стрельбу запилил. Кстати, я не говорил, но я в этом конкурсе участвую: https://2ch.hk/gd/res/528683.html (М)
21 533103
>>32884 (Del)
Не знал, чтобы здесь кто-то еще векторную графику использовал.
22 533129
>>33107 (Del)
Ага, особенно учитывая, что речь идет о всяких местных неймфагах.
23 533578
В общем, доделать игру к конкурсу я не успел, впрочем, как и всегда. История всей моей ёбанной жизни.
Зато он дал мне мотивацию продолжать разработку, в результате чего степень готовности игры уже не позволяет мне ее бросить, и я ее доделаю. Со временем.
24 534513
>>33578
Ты можешь пытаться наебать анона, но ты не можешь наебать себя.
25 534516
>>34513
Но ведь он анон.
sceptical husky.jpg39 Кб, 500x564
26 534529
>>34513
В чем наебка-то? В том, что я не успел игру доделать? Или в том, что в конкурсе участвовал?
27 534535
>>34529

>и я ее доделаю. Со временем.

crying laughing emoji.png90 Кб, 1024x1024
28 534595
>>34535
Хе-хе-хе, отлично подколол!
Пахом.jpg48 Кб, 604x471
29 534598
>>34595
Прекол, ржака!
unamused cat.png166 Кб, 450x300
sage 30 534608
>>34598
Именно.
31 542136
Вы думали, что я умер, но хуй вам.
В общем, я был и занят, и ленился, но больше всего я страдал от неуверенности, как именно стоит реализовать тот или иной элемент игры.

Однако, нововведения следующие:
1)Я перепилил пули: теперь вместо того, чтобы создавать новый подкласс пули каждый раз, когда мне требуется от нее новое поведение, я использую компоненты. Это позволяет мне иметь как пули с ручным наведением или летящие по синусоиде, так и пули с ручным наведением и летящие по синусоиде.
2)Добавил нормальные паттерны стрельбы, так что теперь можно сделать что-то типа двухствольного пулемета, у которого стволы стреляют попеременно. Причем сами паттерны создаются с помощью шаблона проектирования "строитель", что куда удобнее, чем использовать конструкторы с десятками аргументов.

Такие дела.
32 542212
Ну и зачем позвал?

Ну ты сделал разные типы стрельбы. А играть-то во что? Я пока не вижу как из этого сделать хоть что-то интересное.
33 542290
>>42212
Думал, может кому-то интересно будет, в некоторых тредах и того меньше, у меня хотя бы движок, как графический, так и физический есть.
34 548376
Уже почти месяц прошёл, сделал хоть какой нибудь геймплей ??
unamused medic.jpg32 Кб, 426x240
35 549643
>>48376
Нет, но мне приятно, что ты обо мне помнишь.
2019-03-05 21-46-00.mp42,4 Мб, mp4,
800x600, 0:15
36 563753
Отрефакторил множество мелочей, а также добавил рикошеты, пусть и кривые.
Никто не знает, как разрешать столкновения между объектами, если каждый объект состоит из нескольких окружностей?
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 10 мая 2020 года.

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

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