The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Проект Mozilla представил работающий в браузере порт движка ..."
Отправлено Аноним, 30-Мрт-13 05:40 
> Вероятно сэр не слышал о том, что разные карты зачастую используют они
> и те же ресурсы, нет? Очень часто так бывает, знаешь ли.

Очень зависит от природы карт, игры и прочая. Тем паче что учет взавимозависимостей и пререквизитов в указанном виде превратит простой как валенок даунлоадер в конкретный брейнфак, сравнимый по сложности с иным пакетным менеджером. Не то чтобы оно нереализуемо, в xonotic или BfW например что-то типа такого есть. Но это все-таки основательно добавляет работы програмерам и заметно повышает риск глюков. В указанных задумка была в том чтобы дать юзерям возможность грузить аддоны с серваков, так что без такой штуки это не вышло. Но там все относительно просто. И опять же полный прелоад до начала игровых процессов. Потому что стыковать даунлоадер с зависимостями с resource manager'ом - вообще вынос мозга, нечто из серии "фантомас в очках на аэроплане".

> Потому скачав одну карту и все ресурсы к ней ты считай скачал ещё несколько
> других процентов на 90%. Обычно соседних.

А это вообще как повезет. А что если чувак телепортнулся через полмира в совсем другую локацию? Он должен ..цать минут курить бамбук? Пропадение чувака из игрового мира на заметное окружающим время - это не только былинный отказ, но и повышенный риск нестандартных глюков. И много интересных вопросов. Например, какой статус у чувака в игровом мире должен быть на этот период? На какой карте он для сервера? На старой? Новой? В вакууме? Можно ли его это время атаковать? В общем получаются костыли, загаживающие игровой процесс техническими моментами. Разбивка мира на карты сама по себе то костыль, только потому что большой мир с кучей объектов вызовет адский жрач ресурсов на обсчет и на такой компромисс идут не от хорошей жизни, а чтобы снизить сложность вычислений + потенциально можно разнести обсчет разных карт на разные сервера.

> Такого не произойдёт только если подавляющее большинство моделек в игре
> будут уникальными, а это крайне редкий случай. Это во-первых.

Зато упомянутые моменты никуда не денутся. Заранее укачать все ресурсы - сильно упрощает resource manager, например. То-есть при этом resource manager в принципе не должен испытывать обломов и заботиться о их навороченной обработке "ой, а давайте это догрузим, и еще 20 зависимостей, а там еще 20, а там .. ну в общем ща я вам тут полмира скачаю".

> Во-вторых при прохождении практически любой игры радикально всегда известно куда может
> направить свои стопы игрок дальше.

А вот это - совсем не факт. На карте может быть вагон телепотеров, NPC или каких там еще объектов, после взаимодействия с которыми может быть переброс на иную карту. У игрока может быть заклинание (или что либо эквивалентное), телепортирующее его там куда еще. Ах, вы об этом не подумали? Так я о том и говорю: RPG-образные игры это не коридорные шутеры, где заранее известно куда дальше пойдет игрок. В таких играх у игрока как правило полная свобода действий на предмет того куда ему валить в игровом мире.

> Количество выходов из локации обычно конечно

Оно, конечно, да, однако см. выше - они могут быть попросту не такими простыми как кажутся. Иногда

> и вовсе не обязательно грузить весь мир сразу. Причём если говорить
> конкретно об RPG, то множество переходов за короткий промежуток обычно подразумевает
> путешествие по уже ранее посещённым картам, а они уже в кэше.

Технологически, обычно, уважающий себя движок MMORPG-like игр может
1) Телепортировать игрока куда угодно. Это позволяет GMам выполнять технические работы (например, вытаскивая незапланированно застрявших из-за бага игроков), мапмейкеры не парятся проблемами resource manager-а, просто реализуя желаемую логику в рамках своей задумки. Скрипты NPC и прочих - могут перебрасывать игрока туда куда и задумано, etc. И все они могут считать эту операцию простой и быстрой. А у вас это будет не так...
2) Спаунить любых монстров в любой локации. Что подразумевает что они все у клиента уже есть. Ибо вгрузка ресурсов для монстра прямо по ходу пьесы - это глюки и тормоза у клиента и брейнфак у програмеров, у которых ресурс-менеджер превратился в глючного монстра.
3) Все эти интерфейсы доступны для относительно высокоуровневого скриптинга и ручного дерга у народа с специальными правами. Что позволяет устраивать некие кастомные массовые эвенты, которые или идут под управлением кастомного скрипта спецом под этот эвент, или вручную оркеструются командой неких ассистентов, реализующих задуманную сцену (все-таки для RPG это весьма логично, да?).

Поэтому в RPG все это в общем случае все это дергается кем угодно и как угодно. Проще всего считать что это именно так. Тогда и реализация упростится, и турбо-костыли, портяшие гибкость в реализации карт, событий и прочая - с самого начала не захочется донавешивать.

> В-третьих загрузить много в оффлайн-хранилище можно. Приложение, представь себе, может
> попросить у пользователя выделить ему больше места. Внезапно, да?

Вот только браузеры на это реагируют уж кто как. Там с этим разброд и шатания. Одни мозг имеют клиенту негуманно. Другие могут выжрать все место на диске. Третьи и так и сяк, а младший - вовсе был дурак...

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру