Штаб Спасателей

Форум посвящен Чипу, Дейлу, Гаечке, Рокки и Вжику, а также всевозможному творчеству поклонников в честь наших маленьких героев.

Штаб Спасателей   Штабная wiki
Текущее время: 24 мар 2019, 01:00

Часовой пояс: UTC + 4 часа [ Летнее время ]




Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 67 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 12:14 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
Нет, к сожалению модель получить сейчас невозможно. Повод для доставания диска со шкафа недостаточен ;)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 13:33 
Не в сети
ЧУДОТВОРЕЦ
Аватара пользователя

Зарегистрирован: 28 май 2010, 21:16
Сообщения: 1981
Изображений: 21
TerMITiUS
Гайка просто великолепная.
А нельзя ей как нибудь лоб опустить вместе с ушами, в принципе и так не плохо, хотя если честно то это в глаза бросается.
Значит это ты написал игру про махолет?

_________________
Изображение

У КАЖДОГО ПРИДУРКА СВОИ РАДОСТИ


Вернуться к началу
 Профиль Отправить личное сообщение Персональный альбом  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 14:14 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
Цитата:
А нельзя ей как нибудь лоб опустить вместе с ушами

Эта модель не доводилась и не задумывалась как "правильная". Она только для обкатки технологий, например шейдеров:
Изображение (под картинкой ссылка на видео)

Если когда-нибудь проект будет развиваться - к модели будет применена система ракурсного морфинга, которая позволит обойти ограничения, возникающие при переносе рисованных персонажей в 3Д-мир.

Вряд-ли вам пригодится эта модель - она слишком низкополигональна и не годится для рендера.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 14:17 
Не в сети
ЧУДОТВОРЕЦ
Аватара пользователя

Зарегистрирован: 28 май 2010, 21:16
Сообщения: 1981
Изображений: 21
Да не, модель не плохая, это конечно не мне решать, но когда ты говорил что она хуже чем у SVZ я ожидал куда более хуже, а тут такая милашка, в общем классная модель.

_________________
Изображение

У КАЖДОГО ПРИДУРКА СВОИ РАДОСТИ


Вернуться к началу
 Профиль Отправить личное сообщение Персональный альбом  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 14:30 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
RainmakeR писал(а):
Значит это ты написал игру про махолет?

Пока что это не игра. Это "демонстратор" физики, причем управление в нем было переделано Механиком не в лучшую сторону.

На самом деле, скажу честно. Проект 2 года назад был заморожен не из-за нехватки художников или моделеров, не из-за нехватки времени, а из-за нехватки интеллектуальных ресурсов. Я не смог справиться с одной задачей по программированию и математике, причем с нескольких попыток. На этом дальнейшее развитие проекта встало, т.к. эта задача - одна из ключевых. Речь идет о системе отслеживания столкновений.

Если тут есть люди, знакомые с программированием и, главное, с математикой - можно попробовать еще раз.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 14:38 
Не в сети
ЧУДОТВОРЕЦ
Аватара пользователя

Зарегистрирован: 28 май 2010, 21:16
Сообщения: 1981
Изображений: 21
Ну что могу сказать по поводу эмулятора, мне очень понравился и движок и графика, очень дружелюбный, ты говоришь что управление переделано, но мне понравилось, хотя не без недочетов, но как мне кажется очень не значительных, в общем эмулятор лучше я себе и представить не мог.
А в этом движке смогут поддерживаться персонажи?

_________________
Изображение

У КАЖДОГО ПРИДУРКА СВОИ РАДОСТИ


Вернуться к началу
 Профиль Отправить личное сообщение Персональный альбом  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 14:49 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
А для чего мне рисовать Гайку, если не планируется поддержка персонажей?
Но в первую очередь это симулятор самолета спасателей, задача игрока - выполнять различные миссии от лица пилота. Возможно будет разрешено иногда выходить из самолета, но объем работ для "пешего" мира слишком велик, так что такие моменты надо минимизировать.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 15:01 
Не в сети
ЧУДОТВОРЕЦ
Аватара пользователя

Зарегистрирован: 28 май 2010, 21:16
Сообщения: 1981
Изображений: 21
Жаль, что нет команды для этого, я и сам туго соображаю в этом, да и времени по минимуму, но тем немение никто за супер-раскошной графикой не гонится, а так смотрится очень здорово.
Еслибы была сильная команда, то можно былобы даже сделать как в Ultimate Spider-Man, генератор преступности, и выбор персонажей каждый со своими способностями был бы конечно не плох, и не ограничиваться только полетами, но это все мечты...

_________________
Изображение

У КАЖДОГО ПРИДУРКА СВОИ РАДОСТИ


Вернуться к началу
 Профиль Отправить личное сообщение Персональный альбом  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 15:36 
Не в сети
Пилот
Аватара пользователя

Зарегистрирован: 10 май 2010, 11:47
Сообщения: 2672
Изображений: 35
Откуда: Cemetery Lane
Награды: 3
Жёлтая звезда (7) (1) Синяя звезда (1) (1) Красная звезда (1) (1)
TerMITiUS
отслеживание столкновений? никогда не видел такую игрушку, Сумотори?...в общем из коробок собраны 2 одинаковых "сумоиста", мышкой задаёся направление движения, а остальное делает физика и система того самого просчёта столкновений. Если найду, ты сможешь её расковырять и применить у себя?

_________________
It's easier to be lazy than happy (c)Hailender
You don't get someone to like you, by acting like someone you aren't. And you are Tammy, that's special enough(c)Gadget
- It needs to be about 20% cooler (c)Rainbow Dash
Изображение
Изображение Изображение


Вернуться к началу
 Профиль Отправить личное сообщение Персональный альбом  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 15:40 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
Если найдешь исходники и если там не столкновение примитивов - то да. Но только если смогу осмыслить как там сделано и сделать сам у себя. Чужие наработки и материалы я в своем проекте не использую принципиально.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 15:53 
Не в сети
Пилот
Аватара пользователя

Зарегистрирован: 10 май 2010, 11:47
Сообщения: 2672
Изображений: 35
Откуда: Cemetery Lane
Награды: 3
Жёлтая звезда (7) (1) Синяя звезда (1) (1) Красная звезда (1) (1)
хм...ладно, там столкновение примитивов :dry: хотя если чесно, я её даже скачать не могу. Её сделали платной и крак не наблюдается :th_gadgetcry:

_________________
It's easier to be lazy than happy (c)Hailender
You don't get someone to like you, by acting like someone you aren't. And you are Tammy, that's special enough(c)Gadget
- It needs to be about 20% cooler (c)Rainbow Dash
Изображение
Изображение Изображение


Вернуться к началу
 Профиль Отправить личное сообщение Персональный альбом  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 16:32 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
Столкновение примитивов делается легко. У меня - столкновение произвольной геометрии... Причем даже не замкнутой. Вот тут начинаются проблемы. Можно, конечно, разобрать все на примитивы, но это лишняя работа дизайнеру.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 19:22 
Не в сети
Курсант

Зарегистрирован: 22 фев 2010, 05:07
Сообщения: 40
Задача отслеживания столкновений (пересечений) тел из полигонов решается достаточно просто (в теории ;)). Гораздо сложнее - пересчитать моменты импульса тел после столкновения, чтобы движения были реалистичные.

Моих знаний физики, программирования и математики должно хватить, но много времени уделять не смогу.

Расскажите подробнее о задаче, о физических и геометрических данных и способах их хранения, а я буду думать.

Пока не обещаю, что возьмусь, но и не отказываюсь ;)


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 20:49 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
Не соглашусь с вами. Пересчитать импульсы и моменты - это ХАЛЯВА (да, именно так, большими жирными буквами). Проблема именно отследить столкновения и рассчитать точку приложения силы.

Данные, которые касаются самого столкновения:
первичные: положение (вектор), ориентация (кватернион, матрица), импульс (вектор), момент импульса (вектор), масса (скаляр), тензор инерии (матрица), центр масс (вектор).
вторичные: скорость (вектор), угловая скорость (вектор).
геометрия: массив вершин, массив граней (индексы точек, нормаль, физ. коэффициенты), скорость и положение точек.
данные симуляции: временной шаг (скаляр).
задача: отследить пересечение тел в прошедший временной шаг и определить точку и вектор контакта. Перерасчет импульсов и моментов будет произведен уже вне просчета столкновений.

Для столкновений Face->Vertex и Vertex->Face решается легко и непринужденно, даже для множества точек. Для столкновения Edge->Edge я решить сумел, но алгоритм невероятно тормозной и не подлежит реальному использованию.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 22:47 
Не в сети
Курсант

Зарегистрирован: 22 фев 2010, 05:07
Сообщения: 40
Помню, когда решал аналогичную задачу в 2D, отследить столкновения было легко, а пересчитать движение - гораздо труднее. Но это не важно.

Face-Vertex - это, так понимаю, пересечение грани и вершины. А Edge-Edge - это пересечение тел, когда они касаются рёбрами.
Могу предложить следующий алгоритм:

Когда за прошедший временной шаг тела сталкиваются, одно проникает в другое. В ситуации Edge-Edge (насколько я её понимаю) существует ребро (отрезок) одного тела, которое пересекает хотя бы одну грань (часть плоскости, ограниченную замкнутым многоугольником) другого тела. Эту ситуацию и будем искать: для всех пар "ребро одного тела"-"грань другого" найдем точку пересечения прямой, содержащей ребро, с плоскостью, содержащей грань. (такая точка существует и единственна, если прямая не паралельна плоскости). Если столкновение произошло, то эта точка одновременно принадлежит отрезку и многоугольнику. Будем запоминать такие точки.
Дальше я бы предложил при обнаружении столкновения вернуться к прошлому шагу и повторить его с вдвое меньшим шагом по времени, и так до тех пор, пока все интересующие точки не окажутся в какой-то малой окрестности. Эту окрестность и будем считать единственной точкой контакта. Время работы алгоритма (количество повторений шага) будет зависить от скорости соударения тел.
Что такое вектор контакта мне не совсем понятно.

Алгоритм, наверное, не идеален, но тут применимы методы сокращения перебора, и используемые операции вычислительно не сложные.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 23:35 
Не в сети
Срочник
Аватара пользователя

Зарегистрирован: 07 окт 2009, 12:00
Сообщения: 92
Изображений: 2
Откуда: Victoria BC, Canada
TerMITiUS писал(а):
Возможно будет разрешено иногда выходить из самолета, но объем работ для "пешего" мира слишком велик, так что такие моменты надо минимизировать.

А зачем минимизировать? Нужно просто выбрать количество миссий на ногах и пеший мир делать только там, где зона действия миссий (в смысле, где выполняется миссия) :Widget_wink:

_________________
Изображение
Изображение


Вернуться к началу
 Профиль Отправить личное сообщение Персональный альбом  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 04 авг 2010, 23:58 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
Вектор контакта - это направление реакции опоры. В случае с двумя ребрами это вроде бы CROSS этих ребер. Поэтому надо найти не "область", а именно конкретное ребро. К тому-же "возврат к предыдущему шагу и перебор временных шагов" это последнее, что мне хотелось бы делать.

Сейчас я строю 4-угольники по начальному и конечному положениям ребер и проверяю, пересеклись ли они. Если да - тогда начинаю искать подробнее точки контакта. Но это требует огромных вычислительных мощностей.

Вот видео из текущей версии физики:
1) просто столкновения (некрасиво, кто не понимает даже не качайте) www.dmitry.burkow.ru/temp/Phys1.avi
2) самолет спасателей "без приводов" www.dmitry.burkow.ru/temp/RagDoll1.avi
3) самолет спасателей в замедленной съемке, видна работа физического движка (итого в самолете вроде бы около 20 элементов, соединенных связями) www.dmitry.burkow.ru/temp/RPlane%20Fly%20Slow.avi


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 05 авг 2010, 19:46 
Не в сети
Курсант

Зарегистрирован: 22 фев 2010, 05:07
Сообщения: 40
Если нужно искать не точку, а ребра, то алгоритм тот же. Только останавливать его нужно не когда точки попадут в одну область, а когда взаимодействовать остануться только два ребра на разных телах. Они и будут искомыми.

Теперь о том, почему нужно возвращаться во времени и делать перерасчет с новым шагом. Когда шаг времени дискретен, тела при столкновении практически всегда будут проникать друг в друга, т.е. будет существовать даже не несколько, а целый объем точек, одновременно принадлежащий обоим телам. Нам же нужна только одна точка. Но положение тел, когда они касаются в одной точке существует лишь мгновение; дальше тела уже пересекают друг друга.

Например: пусть у нас есть куб, со стороной в 1 метр. В 15 метрах от него находится плоскость. Куб движется к этой плоскости со скоростью 10 м/сек. А шаг по времени - 1 секунда.
На нулевой секунде расстояние между кубом и плоскостью - 15 метров, через секунду - 5, а ещё через секунду весь куб будет уже с другой стороны плоскости.
Чтобы отследить момент столкновения, после первой секунды шаг по времени нужно взять не 1 секунду, а вдвое меньше. Если столкновение ещё не произошло, то на этот шаг по времени нужно сдвинуться, а если произошло - взять ещё вдвое меньше. И так до тех пор, пока (в ситуации Edge-Edge) не останется по одному ребру на каждом теле, которые ещё не столкнулись, но через шаг уже столкнуться. Это называется "дихотомия", очень эффективный алгоритм, совершенно не требует "огромных вычислительных мощностей".

На видео я не заметил ситуации Edge-Edge, насколько вижу там всегда вершина ударяется о грань. Кроме того, скорости относительно невелики.
Если столкнуть махолет на большой скорости он, случайно, не проникнет внутрь другого тела?


И кстати: отличная физическая модель у Вас получилась! Мне нравится!


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 05 авг 2010, 21:33 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
На видео специально нет выпуклых поверхностей, в которые можно врезаться ребром (на самом деле можно садиться на горы, но они большие и эта ситуация там некритична). Сейчас столкновения ребер нет вообще. Проблему солкновений на скорости решаю вычислением момента контакта. Я проверяю не столкновение предметов, а пересечение их траекторий. После определения пересечения - выясняю в какой момент траектории пересеклись и использую значения параметров в этот момент. На этом немного теряется общая "равномерность течения времени", но зато я могу вести просчет с фиксированной частотой 1000 Гц, что сильно упрощает другие вычисления. Дихотомия удобна для двух тел, но когда их множество - начинаются большие сложности с алгоритмом. Да и все равно придется искать компромисс между производительностью и точностью. Для ситуаций вертекс-поверхность мой текущий метод намного быстрее и точнее. И еще дихотомия не обеспечивает устойчивые положения, придется вводить деактиваторы и "выталкивающие" силы.
Несколько вариантов устойчивого равновесия столкновений:
http://www.dmitry.burkow.ru/temp/Land1.jpg
http://www.dmitry.burkow.ru/temp/Land4.jpg
http://www.dmitry.burkow.ru/temp/Land2.jpg
http://www.dmitry.burkow.ru/temp/Crash1.jpg
И "девелоперский" вид самолета:
http://www.dmitry.burkow.ru/temp/Phys.jpg


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 05 авг 2010, 22:01 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
Решил проверить столкновения на максимальной скорости....
Ну вертолет особо не разогнать - авторотирует. А вот лопасти очень даже быстро крутятся. Можно покадрово посмотреть - никуда не проваливаются.
http://www.dmitry.burkow.ru/temp/Collision_Test_1.avi
А тут честные 700 км/ч!
http://www.dmitry.burkow.ru/temp/Collision_Test_2.avi


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 05 авг 2010, 23:57 
Не в сети
Курсант

Зарегистрирован: 22 фев 2010, 05:07
Сообщения: 40
А я и не предлагал дихотомию для случая вершина-поверхность ;) Для этого случая действительно есть методы по-лучше. Тем более этот случай уже рассмотрен.

Алгоритм позволяет определить факт пересечения edge-edge, и если оно произойдет, то найти сталкивающиеся рёбра и определить время столкновения (приближенно). После этого можно уточнить точку и время пересечения, ведь уже найдены два ребра и известно, что они столкнутся. Формулы для вычисления я вот так сходу не скажу, это нужно посидеть-подумать, достать институтский конспект по аналитической геометрии, но ясно что эта задача уже разрешима точно, а не приближенно.

Причем тут устойчивые положения не совсем понятно: ведь будет найдена такая же точка контакта, как и в случае вершина-плоскость.

Судя по реалистичным картинкам взлета и посадки, случай edge-edge не слишком критичен. Но и для этого случая по-моему не сложно составить алгоритм отслеживания столкновений. Если физический движок будет использоваться для чего-то более серьёзного, то да, неэффективный алгоритм может стать причиной убрать файлы на шкаф. Но здесь же речь идет о простенькой игре... Может стоит продолжить разработку?


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 06 авг 2010, 17:00 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
С дихотомией есть одна проблема. У этого алгоритма все-таки конечная точность (нельзя уменьшать шаг до бесконечности). А в случае устойчивых положений нужна абсолютная точность.
Представьте себе, что предмет лежит на поверхности. На него постоянно действует сила тяжести, т.е. в момент просчета столкновений у него постоянно есть скорость -9.8 * tStep. Если вычисление точки столкновение даст хоть небольшую погрешность - тело будет понемногу проваливаться.

Пошаговое приближение с уменьшением шага я активно использую в шейдерах. Например в этом (для отслеживания границ и глубины тени в атмосфере):
www.dmitry.burkow.ru/temp/ATM6.avi
Так что все недостатки и преимущества этого метода хорошо знаю.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 06 авг 2010, 21:14 
Не в сети
Курсант

Зарегистрирован: 22 фев 2010, 05:07
Сообщения: 40
Понятно. Значит, нужен эффективный алгоритм отслеживания пересечений траекторий рёбер, определяющий точку и время контакта с аналитической точностью. Так?

Если это последнее, что удерживает махолет от выполнения миссий, могу попытаться эту задачу решить.

Желание-то написать игру не пропало?


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 06 авг 2010, 23:37 
Не в сети
Курсант
Аватара пользователя

Зарегистрирован: 24 июл 2009, 23:05
Сообщения: 29
Желание написать игру пропало. 3 года назад. Но сейчас потихоньку появляется. Рецидив, видимо...
Смотрю на исходники и думаю что проще - понять эти или сделать новые? Пока склоняюсь ко второму. Если кому интересно - может подключиться к работе над новым движком, посмотреть как это делается и заодно немного помочь.

План работы:
Basic Typedefs
Console, Messaging and Error Reporting System
Multilanguage Support
WinAPI
D3D
OpenAL
Advanced (Additional) Typedefs
Physics
Scenery System
Objects
Gameplay


Вернуться к началу
 Профиль Отправить личное сообщение  
 
 Заголовок сообщения: Re: А давайте... напишем игру!
СообщениеДобавлено: 08 авг 2010, 02:43 
Не в сети
Курсант

Зарегистрирован: 22 фев 2010, 05:07
Сообщения: 40
А можно по-подробнее?
Если энтузиазм не покинет - готов посмотреть как это делается и заодно немного помочь.

Как-то я участвовал в написании несложной логической игры: занимался искуственным интеллектом и подбором звуков.


Вернуться к началу
 Профиль Отправить личное сообщение  
 
Показать сообщения за:  Поле сортировки  
Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 67 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB