Перейти к контенту
Dennis_Chikin

Рефакторинг

Рекомендуемые сообщения

Условия выдачи тайников не надо хранить вообще.

Они и не хранятся. Зачем хранить константы?

 

Тайник надо спавнить при выдаче. А лучше - вообще при заходе актора на локацию.

Предварительно они все равно будут в олл спавне (так быстрее и рациональнее). Но мне этот вариант не нравится. Всякие обломки труб тоже предлагаешь спавнить по условию?

 

@HESH, что должно по твоему к этому привести?

Ссылка на комментарий

Какое отношение обломки труб имеют к тайникам ?

 

2 HESH: наоборот. Стандартный разбор конфига и загрузка состояния каждого прописанного в ней тайника - жрут. Загрузка объектов тайников - жрет. Постоянный скан и апдейт - жрут.

Ссылка на комментарий

 

 

Какое отношение обломки труб имеют к тайникам ?

Прямое (см. спавн). А я снова напомню об объемах.

 

 

 

Постоянный скан и апдейт - жрут.

Ты точно о тайниках?

 

Сейчас пишу одну систему хранения объектов (не на пакетах), и вот там если действовать агрессивно, то можно целиком все упаковывать без всяких компрессий и ограничений (ну тут в пределах разумного разумеется). То есть если действовать агрессивно, то self.treasure_info можно будет упаковывать целиком, вопрос скорости, что будет быстрее - загрузка таблицы, или текущие циклы.

Ссылка на комментарий

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

Ссылка на комментарий

 

 

При заходе на локу спавнишь рестриктор. При заходе в рестр спавнишь тайник и удаляешь рестр.

А при уходе с локи удаляешь рестриктор?;)

 

И имеешь куча объектов + рестриктор. Какие таблицы и данные в памяти? Два булева и одно u16, остальное константы. Вообще не понимаю о чем разговор. Если делать полное сохранение, то да, еще добавится одна строка, это если с компрессией, без нее четыре, но "итемы" надо делать по аналогии с боксами, только с исключениями (именные, квестовые и прочая фигня).

Ссылка на комментарий

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

 

 

Какие... данные в памяти?

А я что-то видел выше про тайнички в олл_спавне. Это нормально, там тыщу тайничков держать?

Ссылка на комментарий

Какой рестриктор ? Зачем рестриктор ?

 

1. Мы имеем визуальное оформление, в виде крестов, труб, пней, сундуков и т.д. Которое - вполне само по себе.

2. Мы имеем собственно "тайники", к которым привязан шмот, и которые ждут, когда актор на них посмотрит, чтобы выдать типс, или заюзает, чтобы открыть окно инвентаря.

3. Мы имеем "менеджер тайников", который читает конфиг, раскрывает его в таблицу, а также сохраняет/загружает  состояние выданности/невыданности/"был хоть раз открыт после выдачи".

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

 

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

 

3 - А зачем, если задачу сожрать ресурсы мы успешно решаем в п4 ? Проверять - выдан/не выдан - можно и банально по наличию объекта, ага.

 

2 - Собственно, типсы и инвентарь - оно, конечно, хорошо, но зачем оно для пустых тайников ? А п4 можно реализовать просто добавив побольше пустых циклов и битье сэйвов банально рэндомом.

 

1 - Часть пейзажа, пусть остается, как есть.

 

 

2 _Val_: а покажи мне, плиз, место, где происходит собственно удаление ? Ну и вообще  - а зачем городить еще какие-то рестрикторы ?

Изменено пользователем Dennis_Chikin
  • Нравится 1
Ссылка на комментарий

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

А если я в него на зашел? Или такой вариант не принимается? ;)

 

А я что-то видел выше про тайнички в олл_спавне. Это нормально, там тыщу тайничков держать?

Хе, ну вот мы недавно только это с abramcumner обсуждали, пришли к выводу что можно, но не нужно, и не в случае с тайниками точно. Ну хотя если ты напишешь формулу вычисления дирекции, то давай, я жду.

 

Денис, давай за оригинал, ага.

 

 

 

Проверять - выдан/не выдан - можно и банально по наличию объекта, ага.

Я откровенно не понимаю чем мешает одно u16 и два булева, которые упаковываются в один u8. Это еще соображения экономии, а не скорости. Лечить психиатром уже в принципе некого, те кто это сделали уже и так того.

Ссылка на комментарий

а также сохраняет/загружает  состояние выданности/невыданности/"был хоть раз открыт после выдачи".

Этот флаг надо хранить в объекте тайника (inventory_box), а не в псторе актора. Кто вообще мог до такого додуматься?..
Ссылка на комментарий

И даже это не нужно. Ну вот для чего ? Одно булево, 2 булева, упакованное, не упакованное - какая разница ? Что с ним вообще делать собрались ? Да еще с гвоздями прибитым к порядку описания условий выдачи тайников в конфиге ?

 

 

Кстати, аналогичный вопрос - про квесты, и про текущую фразу в диалогах (которая, кстати, на самом деле ни фига даже и не сохраняется).

Ссылка на комментарий

Таки вне очереди накидал историю о бездонном хранилище безо всяких икебан. Скоро выкину.

 

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

Ссылка на комментарий

Вообще-то случаи ровно противоположные: "чтобы было".

 

На сколько я понимаю первоначальную идею - тайники с фиксированным набором шмоток предполагалось искать руками. Снятие информации с трупов - уже сильно поздняя идея. Динамическое наполнение - вообще моды.

Причем, когда-то какой-то, э-эээ... умный человек придумал грохать содержимое при повторной выдаче. А потом на это поставили "затычку" в виде "не выдачи" тайника, в который актор еще не заглядывал.

 

Вот отсюда и весь этот прости-господи "менеджер".

 

Так вот коли выдаем с трупов, да еще и со случайным содержимым - во-первых, не нужен конфиг, во-вторых, не нужна куча невидимых и неиспользуемых объектов, и, следовательно, не нужен весь "менеджер".

  • Нравится 2
Ссылка на комментарий

@Dennis_Chikin, смотри, ну иду я себе по кордону, вижу крест, теоретически там тайник, я хочу туда посмотреть, а без инфо мне не дают туда посмотреть, не идиотизм? Тоже самое со "спавном в рестрикторе", не, я конечно допускаю магию, но в разумных пределах. Делать как ты предлагаешь это просто зарядить один кондлист на выдачу и собственно все, ни таблиц, ни парсера, ни сохранений, но мне так не катит.

 

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

  • Согласен 1
Ссылка на комментарий

Так кто тебе мешает посмотреть на крест ?

А то, что буковка u при этом на экране не рисуется, так а на кой она ? Прекрасно же знаем, что нажимать ее абсолютно бессмысленно.

 

И, кстати, об адовых обсчетах геометрии: а что, эта самая буковка - не геометрия ?

  • Согласен 1
Ссылка на комментарий

@Dennis_Chikin, смотреть то мне никто не мешает, только хочется без "кто там"(с).

 

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

Ссылка на комментарий

 

 

Так вот коли выдаем с трупов, да еще и со случайным содержимым - во-первых, не нужен конфиг, во-вторых, не нужна куча невидимых и неиспользуемых объектов, и, следовательно, не нужен весь "менеджер".

Конфиг нужен, но не отдельно для каждого тайника, а для описания вероятностей и условий выпадания вещей - распределение по уровням, группировкам, рангам и прочим параметрам. Ну и конечно же condlist'ы с проверками на глобальные infoportion'ы. И весь "менеджер" должен только считать всё это из конфига и проверять вероятности при каждом шмоне. Остальное - не нужно. Сохранение выданности/невыданности не нужно даже в оригинале, т.к. метка на объекте УЖЕ сохраняется. Достаточно проверить наличие отметки на карте - это и будет "выданностью". Если при "заглядывании" снимать метку всегда, то и второй параметр сохранять не нужно. А без них обоих и u16 вообще не нужен. Такая вот экономия.

Ссылка на комментарий

 

 

Тайник надо спавнить при выдаче. А лучше - вообще при заходе актора на локацию.

Самая дельная и полезная мысль за последние две страницы по тайникам. имхо, да. Вы кстати вдумайтесь в каких местах это вам/нам развязывает руки. Я себе развязал если что, мне понравилось.

рестрикторы для тайников, аллспавн для тайников, какие то дикие динозавры прибитые гвоздями к распятию GSC - это простите мрак.

  • Нравится 1
  • Согласен 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...