негибкость, громоздкость, нереалистичность
удобнее и логичнее не списками товаров оперировать а характеристиками самого потребителя и самих товаров.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
Формирование цены на товар должно быть по принципу предложение и спрос. Изначально можно принять, что все товары необходимы в каком-то процентном соотношении (изначально задать как постоянную потребность). Допустим еда: хлеб, масло, сыр. Все 3 товара нужны одинаково, т.е. потребность будет 0.33, 0.33 и 0.33 для каждого товара. Допустим масла производится меньше чем хлеба, а сыра меньше чем масла. Следовательно появляется дефицит и цена на 2 последних товара увеличивается пропорционально их дефициту. Если хлеба (или другого любого товара) производится больше чем надо, то излишки пропадают. Цена на хлеб (и на любой другой товар) не может опуститься себестоимости (в моей модели очки труда). Если же хлеба мало, а сыра много, то, наоборот, появляется дефицит на хлеб и цена на хлеб растет.
Другой пример: хлеб и ткань, задаем в процентном соотношении потребность 70% и 30%. Дальше все опять как в примере выше. Не хватает ткани, чтобы удовлетворить 30%, цена на ткань растет пропорционально дефициту. Ну и т.д.
думаю реализовать самый первый вариант (с убывающей предельной полезностью) через генетические алгоритмы. должно работать довольно быстро. результат будет не слишком "точным" но это и не надо, т.к. люди при покупке товаров руководствуются скорее общими соображениями и спонтанными предпочтениями нежели детально анализируют свой выбор.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
новая реализация потребительской функции: [attachmentid=6513]
для работы нужен .Net Framework 3.5
человеку чтобы насытиться нужно съесть 10 продуктов питания.
при выборе конкретных продуктов он руководствуется:Алгоритм пока сыроват, его надо настраивать. Часто "застревает" на плохом решении.
- Имеющимися наличными средствами и ценами продуктов
- Вкусовыми качествами (Utility). Вкусовые качества для каждой последующей единицы покупаемого продукта снижаются на некоторую величину (зависит от продукта) - закон убывающей предельной полезности. Поэтому покупатель будет стремиться разнообразить рацион
- По возможности они также должны принадлежать к различным типам, чтобы он получил витамины и т.п. (забота о здоровье)
- Если человек купит меньше 10 продуктов, он будет испытывать чувство голода
- Если человек купит больше 10 продуктов - он будет жалеть о потраченных средствах (жадность) и испытывать дискомфорт от переедания (забота о здоровье)
Но его несомненный плюс по сравнению с предыдущими из тех которые я пробовал - лучшая производительность. Первоначальный расчет потребительской корзины достаточно трудоемок, однако последующие расчеты (на следующих ходах) могут использовать полученные ранее значения, как бы уточняя их.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
фреймворк установлен?
какая ошибка при запуске?
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
никак, написано же
ps: у кого нет .Net Framework 3.5 но есть 2.0: [attachmentid=6514]
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
Прикольно, работает вроде. Только весь вопрос в том сколько стоит cash
В UEF я решил ввести некий энергетический эквивалент, рассчитывать базовую цену по затратам энергии, а валюты в каждом государстве могут быть разными и свободно конвертироваться по принципу FOREX, но для АльтерЦивы всё таки проще использовать золотой эквивалент на определённой эпохе, а начальные эпохи вообще освободить от денег, только пища, ресурсы и натуральный обмен.
Разработка игры Вселенная: расширяя пределы. Universe: extending the frontier. (UEF)
стоимость товаров определяется рыночными отношениями - спросом и предложением.
это следующая вещь которую я хочу сделать. основную идею я уже разработал.
деньги я планирую реализовать как некий особый товар который будет обмениваться [практически] по тем же правилам что и остальные товары.
бартер возможно сделаю также (а может и нет).
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III
кстати для поиска экстремумов (вроде так правильно математически) можно попробовать алгоритм пчёл, вроде он быстрее генетического
Разработка игры Вселенная: расширяя пределы. Universe: extending the frontier. (UEF)
мне кажется алгоритм пчел не очень подходит, т.к. действует много ограничений.
я попробую его если у меня появятся с производительностью проблемы.
EC2 - разработка игры
Мастерская Steam - мои моды для Civilization V
Last Citadel - сайт игроков Warlords III