Это популярное сообщение. Карлан 1 049 Опубликовано 13 Июля 2016 Это популярное сообщение. Поделиться Опубликовано 13 Июля 2016 (изменено) Не могу предположить насколько актуально, но здесь я предлагаю поговорить о текущем устройстве торговли. В частности, к обсуждению, что можно в нее добавить, и в плане интерфейсов, и в плане самого технического исполнения, так как относительно иной взгляд на интерфейс я видел только в АМК-II. Довольно продолжительное время мне задают вопросы, как и что там работает, и не имея возможности всем ответить я решил наконец написать какое-то подобие туториала, то есть донести как примерно все работает. Сразу скажу, что могу где-то ошибиться, надеюсь в этом случае читатели меня поправят. Делюсь эмпирическим, не трансцендируемым. Итак, что представляет из себя эта пресловутая торговля в ТЧ? Это банально, самый обычный трансфер итема с использованием денег. Что такое деньги спросите вы? Простая числовая (u32) переменная, которая хранится в пакете (при сильном желании их можно выдать и монстрам). Итак, собственно у нас есть два экономических агента, каждый со своим багажом, в идеальной модели совокупная стоимость товаров равна количеству предметов в персонаже, у каждого из которых есть какая-то сумма денег исходя из базовых настроек конфига. Это как все выглядит, а работает все тоже достаточно просто, в файлах вида trade.xml статическими данными указываются настройки для интерфейса, при инициализации начинает заполнятся визуальная часть окошка, то есть всякие иконки персонажей, листы с итемами (есть четыре основных листа) и прочие заготовки типа как для статиков о причине отказа торговать. Заполнение листа в два этапа, есть итемы которые вообще не должны попадать, есть которые попасть должны, но не должны быть доступными для торговли (красным закрашивается как правило), условия для попадания в лист достаточно просты, итем должен быть прописан в конфиге на продажу, у него должен стоять флаг can_trade и он не должен быть квестовым, если все условия выполнены – итем в листе. Далее второй акт, проверка на то, блочить ли его в интерфейсе, тут настройки такие, в конфиге оппонент должен смочь его купить (вспомните, если купить не может, то он появляется, но закрашивается красным) и еще идут проверки на переносимый вес (насколько критичен перевес для обычного сталкера честно говоря я уже не помню). Итак, если у нас итем торгуется, и везде в конфиге прописан со всеми френдли и энеми коэффициентами, то мы можем его торговать. Вот это, скажем так, я описал подкапотную работу торговли, а самый балет начинается на поверхности, в так называемом менеджере торговли, а также замечательном методе buy_supplies, который, чтобы вы думали, совершает каждый раз полный цикл своей работы, даже когда это совершенно не нужно, т.е. представьте, что у вас тот же Бармен торгует 500 эскимо всю дорогу после определенного события (тут не рассматриваем динамичные листы для торговли), и время от времени (ага, при каждом выходе в онлайн), эти 500 эскимо благополучно перезагружаются! Это колоссальная нагрузка в любом случае, а особенно в случае, если у вас динамичная торговля, это очень сильно наказывает, поэтому нужно переделывать функцию в движке, либо писать какой-то аналог. Далее идет совершенно кривая работа самого менеджера, который каждый раз по новой создает всю торговлю на выходе персонажа в онлайн. Отсюда баг, который не в силах сохранить текущий ассортимент (точнее сохраняет, но неизвестно зачем (я предположу, что тестеры разрабов за день успевали раскупить весь ассортимент, а до перезагрузки ассортимента ждать было долго)), и в результате мы имеем читерство, когда при перезагрузке игры (а точнее при пробросе on->off->on) у торговца возобновляется ассортимент. Сюда же отнесем мгновенное обновление листа по условию, так как при срабатывании условия перехода условия обновления всегда выполняются. Веду к чему, в отличии от движка, скриптовое оформление очень дырявое. В движке явных недочета я заметил только два, это вышеуказанная работа с purchase_list, а также баг с тегом infinitive_money, который если его выставить, то все равно черта с два продашь товаров больше чем на 1000000 рублей. В движке хватает и недоделок, но в недочеты их записывать некрасиво, поэтому в файлах, где на мой взгляд я заметил недоделки оставил соответствующие комментарии. Есть функции пустышки, есть просто ненужный код, который ни к чему не приводит, я даже узрел намек на создание какого-то хранилища, возможно накопленная благосклонность, если много торгуете? Кто же теперь знает. Пишу, пишу, и понимаю, что очень много можно рассказывать. Есть еще такая тема, что сам движок парсит из секции торговлю напрямую, как раз через CTradeParameters, но там совершенно другой подход, нежели как это сделано в оригинале. Ищите buy_price_factor_hostile по коду, увидите, как это было когда-то, тут конечно разрабы продвинулись достаточно мощно и хорошо. В соседних классах кстати и находится формирование листа по конфигу, который мы передаем из менеджера, а в него из логики, система проста как грабли. Можно упомянуть и схемы для поддержки торговца, это mob_trade и mob_trader. Функционал тут заманчив, но тем, кто не на исходниках сразу подскажу, что на него как сядешь, так и слезешь, он вообще неприменим для масс. Итак, действительно, получилось как-то сумбурно, возможно местами не понятно, но я старался не вдаваться в код, а объяснить сам механизм работы, а также указать на недочеты, которые долгое время считались чем-то нормальным. Теперь пара слов о текущем менеджере торговли в DTL, который я постепенно развиваю в рамках глобального проекта: Изначальная цель DTL состояла в том, чтобы расширить скудный функционал торговли, к чему я пришел на данный момент я и постараюсь доходчиво написать. Сначала стоит упомянуть, что исправлены все вышеописанные ошибки. Далее. Мои хаки позволяют полностью контролировать торговый лист в любой момент времени, также один из хаков позволяет динамически создавать текст для статика, который должен пояснять о причине невозможности перемещения предмета в окошко (почему я отказался от привычных движковых функций в пользу хаков, см. комментарии в скрипте). Функционал позволяет формировать не только конфигурацию из ltx файла, но и напрямую из скрипта (в этом вся суть динамично изменяющихся листов). Также он позволяет в любой момент времени заменить определенный кусок конфига торгового листа (коэффициенты купли-продажи, предложение, набор дисконтов и т.н. condition factor известный многим по ЗП). Улучшено специальное хранилище, где хранится вся информация по торговле, в движок добавлена функция блокирования торговли, а в скрипты я добавил функцию включения и выключения торговли для конкретного персонажа. Если торговля не доступна какому-то персонажу, то для него ни одна функция менеджера не сработает, надеюсь не ошибусь, если назову это прорывом в оптимизации торговли. Все костыли, которые я вымучивал на 6 патче, на мой взгляд, устранены. Теперь можно с легкостью осуществлять полный контроль торговых листов в любой момент(!). Это колоссальный успех, так как мы осуществляем верный цикл формирования торгового листа, и проставляем вычисленные запреты после формирования конечного списка (и, подчеркну, исходя из конечного списка), этого было нельзя никак добиться на 6 патче. Немного изменена движковая логика заполнения листов, теперь из скрипта мы можем включить в лист торговца какой-то итем, который запрещен в конфиге, но опять же скриптом его запретить для продажи, с помощью данного нововведения можно реализовать постепенное «открывание» товаров для продажи, то есть игрок будет видеть, что это купить тут можно, но пока ему по каким-то причинам это не продают, а вот почему не продают, кодер может указать в статике подсказку для игрока (которая опять же формируется в скрипте подобно тексту для динамических новостей). В проекте я оставил только чистый функционал, основной модуль (m_trade.script) DTL я решил убрать, так как он достаточно громоздкий, и немного не актуален для текущего функционала. Спасибо всем, кто помогал мне разбираться в устройстве торговли, я уверен, что вместе мы получили достаточное эмпирическое знание. (с) 2016, C.I.U. Изменено 27 Июля 2016 пользователем Murarius 2 4 3 Ссылка на комментарий
Карлан 1 049 Опубликовано 14 Августа 2016 Автор Поделиться Опубликовано 14 Августа 2016 Мда, на торговлю всем реально походу наплевать. А ведь ее в движке нужно править и не слабо, там же дыр по части оптимизации не счесть, ну да ладно, обо всем по порядку. Дошли руки у меня рассмотреть поближе mob_trade, mob_trader. Что там из них чего я уже не помню (у себя переименовал чтобы понятнее было), но суть такова, что одна рулит коллбеками, вторая анимациями. С анимациями в целом все ясно, и если вы не моделлер, который там что-то урежет или добавит, то трогать ее особого смысла я не вижу, а вот о той, что рулит коллбеками можно поговорить более подробно. Итак, я уже здесь не раз высказывался о том, что в той схеме есть замечательные коллбеки, увидев которые я очень обрадовался, когда сидел на 6 патче, казалось бы все мои костыли разрешались довольно просто и лаконично, но не тут-то было. Все дело в том, что коллбеки поддерживаются только для торговца, и это все пришито к функциям класса торговца, функции абсолютно бездарны, они дергают коллбек и ставят мусорный флаг. Я задумался. Недолго думая, вырезал флаг и все функции из класса торговца, и переписал механизм вызова коллбеков, чтобы коллбеки вызывались и для сталкеров, и для трейдеров (актору не даю по понятным причинам), в результате у меня эта схема стала доступна для установки и сталкерам, то есть, иными словами, теперь можно и сталкеру в логику прописать эту схему и он нам будет говорить что-то вроде: "Вот так бы всегда.". До кучи еще на всякий случай подписал на события (и вырезал из схемы события-пустышки), но это к делу не относится. Разумеется, чтобы все завелось подключил в xr_logic, на там тоже болото, нужно организовать массивы. Тем, кто сидит не на исходниках рекомендую скомпоновать эту схему в одну, так как она работает только для CAI_Trader, и это разграничение на два файла в принципе одной единой в игре системы я не понимаю. Я пробовал совмещать, работает, но мне, повторюсь, это урежет возможности, так как в движке я немного все переделал. Сокращение количества файлов - моя принципиальная позиция, если вас это не беспокоит, то можно опять-же ничего не трогать. Если будут вопросы, задавайте. Время-затраты: не больше, чем на написание этого поста. Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 18 Августа 2016 Поделиться Опубликовано 18 Августа 2016 Ну ок, почитал я шапочку... Как по мне( а исходники я видел пару раз, мельком пробежав по файлам с красивыми букаффками) - что в торговле можно вообще изменить?) Вроде не лагает, не вылетает. Захотел - вырезал обычную, скачал "Жесть", вот тебе и бартер. А опперируя Lua и таблицами можно самому за вечер склепать костыльную версию бартера))) Ну в общем, мое мнение такого( и оно мое, субъективное) - хрен бы с торговлей, бросаем силы на рефаткторинг всего остального. Например мне интересны забытые схемы НПЦ и недоделочки в работе БТР, Вертушек. Но если с БТР я разобрался, то восстанавливать костыльные "адьютанты" - навыков, увы, нет... 1 Не соответствует правилам. Ссылка на комментарий
Kondr48 314 Опубликовано 18 Августа 2016 Поделиться Опубликовано 18 Августа 2016 (изменено) CRAZY_STALKER666, при всё уважении к создателям Жести, бартер через кучу диалогов слишком не удобен. А насчёт Вашего, как вы правильно заметили, субъективного мнения, тут вы сами и ответили на свой пост. Каждый занимается рефакторингом/созданием того, что ему интересно. Лично я считаю, что любая правка/модификация найдет свою аудиторию, а в данном случае тут интересный подход к торговле, так сказать переосмысление концепции с одной стороны (те же динамические листы у НПС или же обновление товаров в определенное время у торговцев) не говоря уже о самом упрощении и оптимитизации торговли. Так что, на мой взгляд, правка со всех сторон полезна и интересна как минимум. Изменено 18 Августа 2016 пользователем Kondr48 2 Ссылка на комментарий
7.9 174 Опубликовано 15 Сентября 2016 Поделиться Опубликовано 15 Сентября 2016 (изменено) Мда, на торговлю всем реально походу наплевать. А ведь ее в движке нужно править... Торговлю из движка лучше убрать, совсем, -- что бы делать ИХ ВСЕ скриптами. Изменено 15 Сентября 2016 пользователем 7.9 1 всё легко Ссылка на комментарий
Карлан 1 049 Опубликовано 11 Ноября 2016 Автор Поделиться Опубликовано 11 Ноября 2016 Место взлета моей мысли. К сожалению никто так и не высказался по поводу своих мыслей или какой-то реализации, видимо я один воюю с невидимым врагом. Итоги: Мне удалось построить реалистичную модель дисконтирования. При вялотекущей и галопирующей инфляции она оказалась просто не применима во временных рамках игры, чтобы почувствовать инфляцию потребовалось бы играть целый игровой год, это никуда не годится. Но, мы не привыкли отступать, я сделал псевдореалистичную модель, которая показала полную мою несостоятельность и, собственно, пшыкнула и все, и черт с ней, подумал я, вернулся к своей любимой реалистичной модели и просто сделал гиперинфляцию. Хо-хо! Получилось то, что нужно. Результаты (демонстрирую на многострадальном батоне, цикл - неделя): [12.11.16 02:28:13.497] ~manager_trade(408):<calculate_discount>: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [12.11.16 02:28:13.497] *manager_trade(393):<get_net_profit>: * net_profit of [escape_trader] = [0.041095890104771] [12.11.16 02:28:13.497] *manager_trade(400):<calculate_nominal_money_cost>: * r = 0.00041095889173448, a = 0.02065753377974, res = 0.021076917648315 [12.11.16 02:28:13.497] *manager_trade(417):<calculate_discount>: * old_gain = 3.8750610351563, (pv-cost) = 0.50460433959961, res = 4.3796653747559, res_hack = 8.1578502655029 [12.11.16 02:28:13.497] *manager_trade(420):<calculate_discount>: * inflation = [2.0657534599304], cost = [23.875061035156], percent = [2.1076917648315], future = [24.378273010254], present = [24.379665374756], gain = [4.3796653747559] [12.11.16 02:28:13.497] ~manager_trade(422):<calculate_discount>: ~~~~~~~~~~~~~~~~~~~~~>1 [12.11.16 02:28:13.497] *manager_trade(393):<get_net_profit>: * net_profit of [escape_trader] = [0.041095890104771] [12.11.16 02:28:13.497] *manager_trade(400):<calculate_nominal_money_cost>: * r = 0.00041095889173448, a = 0.02065753377974, res = 0.021076917648315 [12.11.16 02:28:13.497] *manager_trade(417):<calculate_discount>: * old_gain = 4.3796653747559, (pv-cost) = 0.5152702331543, res = 4.8949356079102, res_hack = 9.1651096343994 [12.11.16 02:28:13.497] *manager_trade(420):<calculate_discount>: * inflation = [2.0657534599304], cost = [24.379665374756], percent = [2.1076917648315], future = [24.89351272583], present = [24.89493560791], gain = [4.8949356079102] [12.11.16 02:28:13.497] ~manager_trade(422):<calculate_discount>: ~~~~~~~~~~~~~~~~~~~~~>2 [12.11.16 02:28:13.498] *manager_trade(393):<get_net_profit>: * net_profit of [escape_trader] = [0.041095890104771] [12.11.16 02:28:13.498] *manager_trade(400):<calculate_nominal_money_cost>: * r = 0.00041095889173448, a = 0.02065753377974, res = 0.021076917648315 [12.11.16 02:28:13.498] *manager_trade(417):<calculate_discount>: * old_gain = 4.8949356079102, (pv-cost) = 0.52616119384766, res = 5.4210968017578, res_hack = 10.193658828735 [12.11.16 02:28:13.498] *manager_trade(420):<calculate_discount>: * inflation = [2.0657534599304], cost = [24.89493560791], percent = [2.1076917648315], future = [25.4196434021], present = [25.421096801758], gain = [5.4210968017578] [12.11.16 02:28:13.498] ~manager_trade(422):<calculate_discount>: ~~~~~~~~~~~~~~~~~~~~~>3 [12.11.16 02:28:13.498] *manager_trade(393):<get_net_profit>: * net_profit of [escape_trader] = [0.041095890104771] [12.11.16 02:28:13.498] *manager_trade(400):<calculate_nominal_money_cost>: * r = 0.00041095889173448, a = 0.02065753377974, res = 0.021076917648315 [12.11.16 02:28:13.498] *manager_trade(417):<calculate_discount>: * old_gain = 5.4210968017578, (pv-cost) = 0.53728294372559, res = 5.9583797454834, res_hack = 11.243947982788 [12.11.16 02:28:13.498] *manager_trade(420):<calculate_discount>: * inflation = [2.0657534599304], cost = [25.421096801758], percent = [2.1076917648315], future = [25.956895828247], present = [25.958379745483], gain = [5.9583797454834] [12.11.16 02:28:13.498] ~manager_trade(422):<calculate_discount>: ~~~~~~~~~~~~~~~~~~~~~>4 [12.11.16 02:28:13.498] *manager_trade(393):<get_net_profit>: * net_profit of [escape_trader] = [0.041095890104771] [12.11.16 02:28:13.498] *manager_trade(400):<calculate_nominal_money_cost>: * r = 0.00041095889173448, a = 0.02065753377974, res = 0.021076917648315 [12.11.16 02:28:13.498] *manager_trade(417):<calculate_discount>: * old_gain = 5.9583797454834, (pv-cost) = 0.54863739013672, res = 6.5070171356201, res_hack = 12.316436767578 [12.11.16 02:28:13.498] *manager_trade(420):<calculate_discount>: * inflation = [2.0657534599304], cost = [25.958379745483], percent = [2.1076917648315], future = [26.505502700806], present = [26.50701713562], gain = [6.5070171356201] [12.11.16 02:28:13.498] ~manager_trade(422):<calculate_discount>: ~~~~~~~~~~~~~~~~~~~~~>5 [12.11.16 02:28:13.498] *manager_trade(393):<get_net_profit>: * net_profit of [escape_trader] = [0.041095890104771] [12.11.16 02:28:13.498] *manager_trade(400):<calculate_nominal_money_cost>: * r = 0.00041095889173448, a = 0.02065753377974, res = 0.021076917648315 [12.11.16 02:28:13.498] *manager_trade(417):<calculate_discount>: * old_gain = 6.5070171356201, (pv-cost) = 0.56023216247559, res = 7.0672492980957, res_hack = 13.411590576172 [12.11.16 02:28:13.499] *manager_trade(420):<calculate_discount>: * inflation = [2.0657534599304], cost = [26.50701713562], percent = [2.1076917648315], future = [27.065702438354], present = [27.067249298096], gain = [7.0672492980957] [12.11.16 02:28:13.499] ~manager_trade(422):<calculate_discount>: ~~~~~~~~~~~~~~~~~~~~~>6 [12.11.16 02:28:13.499] *manager_trade(393):<get_net_profit>: * net_profit of [escape_trader] = [0.041095890104771] [12.11.16 02:28:13.499] *manager_trade(400):<calculate_nominal_money_cost>: * r = 0.00041095889173448, a = 0.02065753377974, res = 0.021076917648315 [12.11.16 02:28:13.499] *manager_trade(417):<calculate_discount>: * old_gain = 7.0672492980957, (pv-cost) = 0.57207298278809, res = 7.6393222808838, res_hack = 14.529890060425 [12.11.16 02:28:13.499] *manager_trade(420):<calculate_discount>: * inflation = [2.0657534599304], cost = [27.067249298096], percent = [2.1076917648315], future = [27.637742996216], present = [27.639322280884], gain = [7.6393222808838] [12.11.16 02:28:13.499] ~manager_trade(422):<calculate_discount>: ~~~~~~~~~~~~~~~~~~~~~>7 [12.11.16 02:28:13.499] manager_trade(424):<calculate_discount>: # result gain = [7.6393222808838] [12.11.16 02:28:13.499] ~manager_trade(425):<calculate_discount>: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Можно заметить, что цена рассчитывается из текущих показателей, вне зависимости от тех, которые были ранее. Это совершенно не логично, процентную ставку и инфляцию надо засторажить, в ближайшее время я это доделаю, но на общую картину это никак не повлияет конечно. Дальше посмотрим как поедет, возможно попытаюсь написать реалистичные формулы для расчета тех параметров, которые сейчас берутся с небес. Надо же хоть где-то заставить работать экономику. Да, если кто-то не понял, то по моей модели при инфляции ~750% годовых цена батона за неделю выросла на 8 рублей (по итогам корзины), или на ~7.64 рубля по итогам расчета. 1 Ссылка на комментарий
UnLoaded 313 Опубликовано 12 Ноября 2016 Поделиться Опубликовано 12 Ноября 2016 К сожалению никто так и не высказался по поводу своих мыслей или какой-то реализации, видимо я один воюю с невидимым врагом. Не думаю, что идея превращения Сталкера в симулятор торговли будет сильно востребована... Так же, как и потуги Дизеля, претащив в игру несколько сот танков из WoT и всякую авто\танко\авиа\технику из других игр, превратить Стлкера в авто\танко\авиа -симулятор. 3 Ссылка на комментарий
Карлан 1 049 Опубликовано 12 Ноября 2016 Автор Поделиться Опубликовано 12 Ноября 2016 Не думаю, что идея превращения Сталкера в симулятор торговли будет сильно востребована... Во-первых аргументируй. Во-вторых никто ничего ни в какой симулятор не превращает, торговля это один из столпов экономики в сталкере. Я тебе напишу, что я делаю и к чему иду, но сначала хочу услышать аргументацию твоему скепсису. По поводу востребованности, сейчас об этом вообще странно заводить разговор, этот вопрос давно риторический. Так же хочу понять каким образом связана аналогия с транспортом? Без транспорта сталкер обходится, без экономики тоже, но без транспорта мы жить можем спокойно, а без экономики из мода в мод мы видим только одну модель, это сброс барахла торговцам и получение денег, которые в игре собственно и не нужны никогда, разве что купить какую-то вещь, которую по другому достать не получится. 1 Ссылка на комментарий
Murarius 10 533 Опубликовано 12 Ноября 2016 Поделиться Опубликовано 12 Ноября 2016 Не думаю, что идея превращения Сталкера в симулятор торговли будет сильно востребована...Абсолютно не согласен. Больше, чем на Меченого-миллионера, жаловались только на Меченого-терминатора. Экономическая модель необходима как минимум для придания интереса. 2 1 Литературка (избранное): "Координаты избушки" (2023) --- "Колобок времени" (2019) --- "Пиво и жлоб" (2018) --- "Лекарство против морщин" (2013) --- "Когда все пройдет" (2013) Креатив (бесперспективное): Dominanta --- Сон на земле Досвиданьице (слезное): Смена администратора (2024) Ссылка на комментарий
McSon 132 Опубликовано 12 Ноября 2016 Поделиться Опубликовано 12 Ноября 2016 Ещё никому не удовалось создать нормальную торговлю. Поэтому - она ещё как нужна Любимые моды: История Прибоя 2 (1.4), Lost World: Requital (6.7), Lost World: Trops Of Doom (3.5), Nature Winter: Black Edition (2.3), Lost Alpha, Народная Солянка 2010, ОП-2, Плохая Компания, Misery 2.1.1, Dream Reader - Dangerous Area (1.5). Ссылка на комментарий
abramcumner 1 163 Опубликовано 12 Ноября 2016 Поделиться Опубликовано 12 Ноября 2016 (изменено) Идея с инфляцией основана на том, но в действительности (покупательная способность) она станет дешевле. Награда за задание тоже не сможет вот так вот просто взять и увеличитсячто батон дорожает быстрей артефактов и награды за задания Ну ок. Уже вроде как приучили игроков, что стволы сдавать торговцу не выгодно(маленькая цена, битые не берет). Теперь приучим, что сдавать артефакты и делать задания не выгодно. Выгодно барыжить батонами: сегодня купил по 3, поспал, завтра продал по 5. Тот самый сталкер, блин! Изменено 12 Ноября 2016 пользователем abramcumner 2 Ссылка на комментарий
Marafon6540 784 Опубликовано 12 Ноября 2016 Поделиться Опубликовано 12 Ноября 2016 как минимум для придания интереса. Извиняюсь за вопрос - интереса к чему? это сброс барахла торговцам и получение денег, которые в игре собственно и не нужны никогда, разве что купить какую-то вещь, которую по другому достать не получится.Вот именно. А для чего еще нужна торговля в игре?На мой взгляд, этот вопрос баланса торговли именно в Сталкере - совершенно надуманный и притянутый "за уши". Подбивать дебет\кредит - разве в этом интерес этой игры? А ее конечная цель - обойти всех в финансовом плане, или все-таки дойти до Монолита? Если первое - то тогда еще и МВФ надо как отдельную группировку вводить. 1 Трилогия Апокалипсис. Упавшая звезда. Честь наемника. v. 1.2 УЗЧН v.1.3 + ОГСРх64 Последний сталкер v. 1.2 ПС v. 1.3 + ОГСРх64 Ссылка на комментарий
Карлан 1 049 Опубликовано 12 Ноября 2016 Автор Поделиться Опубликовано 12 Ноября 2016 Теперь приучим, что сдавать артефакты и делать задания не выгодно. Выгодно барыжить батонами: сегодня купил по 3, поспал, завтра продал по 5. Тот самый сталкер, блин! То, что ты мастер дергать фразы из контекста всем понятно. Ты уже второй раз об этом говоришь, хотя я с первого тебе сразу объяснил (и далее, цитируй хотя-бы целые предложения): Цена торговца с течением времени будет отрываться от цены актора, это стимулирует тратить деньги и делать запасы, так как через день-другой твоя пустышка будет дефакто "пустышкой", т.е. она станет дороже (по деньгам), но в действительности (покупательная способность) она станет дешевле. Что тут не так? Или еще раз повторишь про батоны? Идея с инфляцией основана на том, что растут цены, а так же растет их разность (у агентов). Это лишь одна фишка из всей торговли, вы ее воспринимаете как какой-то единственно важный предмет в формировании целой экономики (торговля это одна из фишек экономики), да ничего подобного. Вот эта модель она лишь навес для торговли, и не нужно на нее набрасываться, реальных изменений в саму игру она практически никаких не вносит. Всего вот этого дисконтирования вы не ощутите абсолютно, наращение мизерное, гораздо больше влиять будет банальная наценка, хотя вот ее почему-то из ЗП никто вырезать не торопится. А на перепродаже предмета через день ты уйдешь в минус, это касается всех предметов, хотя это наверное и так все поняли из того поста, что ты цитируешь. Вот именно. А для чего еще нужна торговля в игре? При таком подходе торговля не нужна. Совсем. Да и экономика... Экономика в игре не работает, потому-что ее нет. Или и с этим кто-то не согласен? Возьмите оригинал и возьмите NLC7, так, в последнем экономика есть, но торговля не затронута никак, ответ, я надеюсь, сами видите. Возьмите AMKII и взгляните с чего все начиналось. Не я это придумал, но я это поддерживаю и развиваю. Ссылка на комментарий
Murarius 10 533 Опубликовано 12 Ноября 2016 Поделиться Опубликовано 12 Ноября 2016 А ее конечная цель - обойти всех в финансовом плане, или все-таки дойти до Монолита?Тогда торговлю надо вообще убирать. Ну бред же - Меченый со снайперкой и миллионами! Я лично за то, чтобы кто-то довел торговлю до ума, раз уж приобретение ценностей и их сбыт заложены в игре. Литературка (избранное): "Координаты избушки" (2023) --- "Колобок времени" (2019) --- "Пиво и жлоб" (2018) --- "Лекарство против морщин" (2013) --- "Когда все пройдет" (2013) Креатив (бесперспективное): Dominanta --- Сон на земле Досвиданьице (слезное): Смена администратора (2024) Ссылка на комментарий
abramcumner 1 163 Опубликовано 12 Ноября 2016 Поделиться Опубликовано 12 Ноября 2016 (изменено) То, что ты мастер дергать фразы из контекста всем понятно. Ты уже второй раз об этом говоришь, хотя я с первого тебе сразу объяснил (и далее, цитируй хотя-бы целые предложения): Что тут не так? Или еще раз повторишь про батоны? Что ты выложил, то я и обсуждаю. Если ввести просто инфляцию(все цены выросли на 10%), то очевидно ничего меняться не будет. Всего вот этого дисконтирования вы не ощутите абсолютноСобственно этим все сказано Зачем тогда эта инфляция нужна? Проблема же совершенно не в ценообразовании, а в том, что в зону постоянно прибывают сотни сталкеров с полными рюкзаками всякой всячины, толпы монстров с запчастями, спавнятся тонны артов. Решать надо эту проблему, а не ценовые политики торговцев. Изменено 12 Ноября 2016 пользователем abramcumner 3 Ссылка на комментарий
UnLoaded 313 Опубликовано 12 Ноября 2016 Поделиться Опубликовано 12 Ноября 2016 Больше, чем на Меченого-миллионера, жаловались только на Меченого-терминатора. Экономическая модель необходима как минимум для придания интереса. А я и не против, но в игре определенного жанра, все геймплейные компоненты должны соответствовать этому жанру(это мое мнение). А то, что я вижу в посте Карлана: ...вялотекущей и галопирующей инфляции......реалистичную модель дисконтирования... на мой взгляд ближе к стратегиям и симуляторам. Все эти инфляции - какой от них смысл в игре ? Что-то будет дешеветь, а что-то дорожать ? Тогда надо привязывать к инфляции все. Регулярные задания - если торгаш начинает дешевле платить за хабар, и дороже просить за свой товар, то абсолютно логично будет, что сталкеры будут поднимать расценки за услуги типа "Зачисть место, туда туриста приведут", "Найди мне Золотую рыбку - не обижу". Техники\медики так-же должны корректировать свои расценки. И какой смысл просто наращивать кол-во нулей\разрядность сумм, которыми будут оперировать участники торговли ? Насчет DTL - это уже более адекватно в отношении жанра игры, все красивенько и бесспорно необходимо. Но с учетом правленного двигла: к примеру, кто-то свой проект делает, что-то свое в двигле правит - и для того чтоб использовать чудесную новую торговлю, должен похерить свои правки, заменив бинарники на предлагаемые Карланом ? Мало кто на это пойдет. Ссылка на комментарий
Карлан 1 049 Опубликовано 12 Ноября 2016 Автор Поделиться Опубликовано 12 Ноября 2016 Что ты выложил, то я и обсуждаю. Если ввести просто инфляцию(все цены выросли на 10%), то очевидно ничего меняться не будет. Так я и не ввожу "просто инфляцию", я ввожу определенную модель, которая содержит в себе вполне реальные формулы расчета того, что я там рассчитываю. Инфляция там играет одну из ролей. Собственно этим все сказано Зачем тогда эта инфляция нужна? Да е-мае, у тебя со временем игры становится больше денег, так? Цены растут - растут траты, дифференциация цен продажи/покупки увеличивается, следовательно чем больше играешь, тем больше начинаешь тратить. Награды за задания растут соизмеримо инфляции, но дифференциация цен никуда не девается, отсюда имеем очень медленное обесценение заданий с учетом повышения награды, формулы просто не дадут догнать разность рыночных цен. Но, за время проведенное в игре ты налаживаешь отношения с персонажами, они начинают платить больше и ты нивелируешь эту разность, ничего не меняется - опять скажешь ты, при таком подходе да, а если ты будешь груши околачивать, то останешься ни с чем, здесь мы игрока пинаем в сторону улучшения своей репутации, различных взаимоотношений с конкретными персонажами и так далее, здесь спектр очень широк, он касается экономики, но не касается торговли, следовательно этой темы. Проблема же совершенно не в ценообразовании, а в том, что в зону постоянно прибывают сотни сталкеров с полными рюкзаками всякой всячины, толпы монстров с запчастями, спавнятся тонны артов. Решать надо эту проблему, а не ценовые политики торговцев. А что это по твоему, как не ценовая политика торговца? Это дефициты, я о них спрашиваю - ты молчишь, как решить эту проблему? Я могу опять-же формульно все описать на основе реальных формул и создать модель для дефицитов, там будут меняться цены в зависимости от того как товар ходит, и будем немного шулерствовать, в игре нам известно количество каждого предмета, соответственно расчеты мы можем произвести максимально точно. И какой смысл просто наращивать кол-во нулей\разрядность сумм, которыми будут оперировать участники торговли ? Это профанация. Выше постарался объяснить. Еще раз спрашиваю, по вашему, в оригинальном сталкере экономика присутствует? Если да, то работает? 1 Ссылка на комментарий
abramcumner 1 163 Опубликовано 12 Ноября 2016 Поделиться Опубликовано 12 Ноября 2016 (изменено) Тогда торговлю надо вообще убирать.Можно, например, так сделать. Цель тех же торговцев не нажиться на сталкерах, а обеспечить им условия для поиска артефактов. Бабки им корпорации отваливают за артефакты и на несколько порядков больше, чем можно получить со сталкеров. Зацикленность игрока на деньгах и хомяченьи полностью вина разработчика. Как только ГГ приносит первый артефакт Сидору и видит его цены, первая реакция: "Что?!". Я тебе уникальный артефакт принес, а ты мне сто рублей, а какой-то автомат, которых миллионы на складах, стоит от 10 000 и выше. С этого все и начинается. По-хорошему торговец ничего не должен покупать, кроме артефактов и частей монстров. А выдавать все доступное бесплатно. Например: начало игры. Сидор бесплатно выдает раз в сутки 1 ПМ и 20 патронов, остальные предметы заблокированы. принес артефакт, получил тысячу, можешь разблокировать аптечку, бинт или еще 20 патронов. После этого каждые сутки ты можешь получать аптечку, бинт и 40 патронов. и так далее. Получаешь деньги за артефакты, разблокируешь у торговцев предметы. Которые после этого тебе даются бесплатно, хомячить нет смысла, всегда есть куда потратить деньги, игрок четко сфокусирован на добыче артефактов, а не поиске дешевых батонов. И тут уже можно вводить динамическую торговлю: делать заказы от корпораций на артефакты, когда какое-то время определенные артефакты принимаются дороже, делать скидки на разблокировку. Ремонт бесплатный, если пушка разблокирована. Еще раз спрашиваю, по вашему, в оригинальном сталкере экономика присутствует? Если да, то работает?В оригинальном присутствует и работает Когда броню тебе надо покупать, ремонта нет - надо покупать новые пушки и прочие незаметные мелочи, вроде отсутствия дикого спавна всего подряд, не приходят мастера с экзоскелетами и гауссами на кордон и прочее и прочее. А что это по твоему, как не ценовая политика торговца? Это дефициты, я о них спрашиваю - ты молчишь, как решить эту проблему? Я могу опять-же формульно все описать на основе реальных формул и создать модель для дефицитов, там будут меняться цены в зависимости от того как товар ходит, и будем немного шулерствовать, в игре нам известно количество каждого предмета, соответственно расчеты мы можем произвести максимально точно.Потому что это не решение. Ну будет батон за 100000, а артефакт за 500р. По формулам все идеально сходится: батоны всем нужны 3 раза в день, а артефактов завались. А как играть-то в это??? Изменено 12 Ноября 2016 пользователем abramcumner Ссылка на комментарий
Карлан 1 049 Опубликовано 12 Ноября 2016 Автор Поделиться Опубликовано 12 Ноября 2016 (изменено) Когда броню тебе надо покупать, ремонта нет - надо покупать новые пушки и прочие незаметные мелочи, вроде отсутствия дикого спавна всего подряд, не приходят мастера с экзоскелетами и гауссами на кордон и прочее и прочее. Волыну не покупаешь, потому-что в оригинале они не ломаются, скажем так, не ломаются до такой степени, что нельзя стрелять, и тут же скажем, что ломаются, но не за то время, которое ты проведешь с этой волыной. Незмаметных мелочей тоже никаких не покупаешь, сытость - фикция, еда в оригинале не нужна, медикаменты на трупах. Возможно, да, для перестраховки купишь 5-10 бинтов и пару аптечек раза два за игру. Патронов много. Да, в общем-то, всегда найдется из чего пострелять, а боты блещут искусственным интеллектом настолько, что чем в них стрелять - все одно. А полокационное распределение это да, сделано верно. Потому что это не решение. Ну будет батон за 100000, а артефакт за 500р. По формулам все идеально сходится: батоны всем нужны 3 раза в день, а артефактов завались. А как играть-то в это??? Ты опять все слишком прямо воспринимаешь. Разумеется, это опять же будет один из коэффициентов со своими явными границами, и такой дифференциации никогда не будет, так как мы цены считаем для конкретного персонажа исходя из общей картины, а не для общей картины исходя из конкретного персонажа. Т.е., если у персонажа артефактов завались, то да, он их будет брать дешевле. Но когда у него их будет столько, что он будет готов взять батон за 10000, а артефакт за 500? Никогда в жизни такого не будет. Опять же, можно подключить закон предельной полезности, и при определенном количестве артефактов неписю они становятся попросту не нужны и он перестает покупать такого вида артефакты, или артефакты вовсе. Это все решается и никаких проблем здесь нет. Ты же предлагаешь систему весьма странную. Я изложу как понял, возможно что-то не так понял. То есть если мы начинаем таскать торговцу артефакты то он нам раз в день подкидывает халявного брахала + сверху за принесенные артефакты, скажем так, по месту, и мы на эти "сверху" можем купить "открытые" итемы. Ну эта затея никак мне не нравится. Я изначально, вообще первое, что сделал в DTL, это вырезал вот это постепенное открывание ассортимента, оно противоречит логике. Торговца интересует прибыль. Если сталкер в состоянии заплатить за его товар и у него есть спрос, то с какой стати торговцу не продать ему этот товар? Тут же я не говорю о том, чтобы Сидору давать в ассортимет экзу и пулемет. Нет, у него этого не будет. Но вот что у него там открывается после зачистки АТП, почему бы сразу не дать? То же самое Бармен, Сахаров. Да, там есть перебой в классе предметов, но на общую картину это не повлияет. Если я накопил денег, почему не могу купить то, что хочу? А еще, помимо того что я накопил, должен там какие-то квесты проходить? Да пропади они пропадом. Здесь мы приходим к камню преткновения, то есть к вопросу: что такое деньги в сталкере, какую они собой валюту представляют? я уже распинался на этот счет, даже не раз. Так как, если это легитимная валюта, то торговцам выгодно не только скупать артефакты, но и продавать все то, что они взяли на реализацию. А если валюта нелегитимная, то я согласен, что бизнес нужно выстраивать с упором на артефакты, части мутантов и прочее там, ради чего весь этот сыр-бор затеяли, а платить за них по принципам бартера. Понятное дело, что в обоих случаях нужно за все эти порождения платить куда больше, чем за все остальное. И желательно больше, чем остальные, чтобы стимулировать принос порождений именно к этому торговцу. Но вот эта затея с "подарками" мне не нравится. Я понимаю о чем ты говоришь: то есть, если "клиент" хороший добытчик редких артов, почему-бы его не профинансировать из своего кармана, тем самым расположив его к себе? И, возможно, где-то и прогнуть, или еще что-то такое. В общем не терять как работника . Изменено 12 Ноября 2016 пользователем Murarius Немного на абзацы разбил, "кирпичи" текста тяжелы для восприятия. Ссылка на комментарий
UnLoaded 313 Опубликовано 12 Ноября 2016 Поделиться Опубликовано 12 Ноября 2016 (изменено) Незмаметных мелочей тоже никаких не покупаешь, сытость - фикция, еда в оригинале не нужна, медикаменты на трупах. Возможно, да, для перестраховки купишь 5-10 бинтов и пару аптечек раза два за игру. Патронов много. Да, в общем-то, всегда найдется из чего пострелять, а боты блещут искусственным интеллектом настолько, что чем в них стрелять - все одно. Ну так все это, на мой взгляд, надо решать не за счет каких-то хитропопых моделей торговли, а корректировкой и приведением к разумному всего вышеперечисленного. Еда не нужна - кто\что мешает сделать ее нужной ? Боты тупые - так дорабатывать AI-паки + может уже пора в движке боевку поковырять, прибавив ботам умишка ? Почему-то в основном, для предотвращения ситуации "Меченый-миллионер" пытаются всякими способами урезать доходность от хомячества. А может правильнее добавить больше геймплейных расходов ? Те-же аккумуляторы\батарейки для всего электронного: фонарик, детектор, ПДА. Платные услуги техников\медиков: про техников и так все ясно, насчет медиков - убрать нереальное действие антирада и сделать выведение накопленного радиоактивного загрязнения организма за соответствующую плату. Про еду уже сказано, но кроме еды, взрослому человеку требуется до 2-х литров воды в сутки. Фильтры для противогазов - они имеют свой срок защитного действия и то-же стоят денег. Патронов много ? Тут то-же можно над балансом поработать: понятно, что "отечественного" калибра 9х18, 5.45х39, 12-й и 16-й гладкоствольные будут всегда в достатке - все в основном ими шмаляют, и вполне логично собирать их с трупов. Но натовские патроны можно сделать значительно дороже, да и всякие специфические - гаусс-кассеты\крупнокалиберные\редкие. Опять-же баланс расхода патронов - логично, что на убийство топтуна, с его твердокаменной башкой и тушей весом на тонну, или химеры, с ее дублированием жизненно важных органов, должно тратиться приличное кол-во каких-нибудь слабеньких 9х18(19), дроби 12 и 16 калибров. Насчет полного ассортимента сразу у всех торгашей: оно конечно правильно, что торгаш никогда не станет товар ныкать, его работа - продать и получить свой навар. Но к примеру на Кордоне, где в основном новички, которые и артов серьезных(а значит и дорогих) в руках еще не держали, какой смысл выставлять на продажу СКАТ-10 за пол-лимона, если никто его купить не сможет ? А вот под заказ, что-то не свойственное конкретному торгашу, но с соответственной наценкой - это нормально. Изменено 13 Ноября 2016 пользователем Murarius 2 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти