Kam Remake r4179 |
Krom | Дата: Пятница, 09.11.2012, 17:55 | Сообщение # 1 |
Воитель
Группа: Супер Модераторы
Сообщений: 1833
Награды: 19
Репутация: 88
Статус: Offline
| Сегодня мы выпустили небольшое обновление с некоторыми важными исправлениями и улучшениями. Вы найдете его на нашем сайте.
Исправления:
+ В мультиплеере средний пинг игроков снижен примерно в два раза. + Исправлены ошибки при работе на некоторых видео картах. + Исправления в белорусском переводе игры. + Исправлены некоторые сбои в работе серверов.
Баланс:
+ Цены на рынке существенно изменены, чтобы более точно отражать стоимость товаров.
Улучшения:
+ Редактор карт показывает количество рыбы в водоемах. + В редакторе карт улучшен инструмент изменения высот. + Зажим клавиши "shift" при размещении домов позволит строить сразу несколько зданий подряд, без переключения на строительство дороги. + Советы теперь легче прочитать на темном фоне. + При выборе дома на стадии строительства, будет показано количество поставляемых строительных материалов. + Ограниченно число строителей, которые могут одновременно строить одно здание (чтобы предотвратить ситуации, когда 20 строителей пытались построить золотой рудник)
Пожалуйста, продолжайте сообщать об ошибках нам. Многие из ошибок исправлены благодаря отчетам, присланным по электронной почте.
Lewin и Кром.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
Stetnoel | Дата: Пятница, 14.06.2013, 10:56 | Сообщение # 241 |
Копейщик
Группа: Проверенные
Сообщений: 37
Награды: 0
Репутация: 1
Статус: Offline
| Кстати, я когда потом в казарме включил режим доставки, слуги всё нормально перетащили в казарму. Реплей тоже вышлю вечером.
|
|
| | |
dimasik468 | Дата: Пятница, 14.06.2013, 13:15 | Сообщение # 242 |
Сквайр
Группа: Проверенные
Сообщений: 227
Награды: 2
Репутация: 9
Статус: Offline
| Немного напрягает когда деревья накапливаются в избах лесника, а доски в лесопилках, но из всех других зданий товар выносится стабильно, т.е. из этого следует вывод, что по приоритету избы лесника и лесопилки у слуг где-то в конце списка + еще они скорее всего будут являться "дальними" доставками по проекту города.. слуг в таких ситуациях у меня всегда больше 90 Я считаю, что не стоит делать все так критично, т.е. нужно все-таки добиться баланса в независимости от дальности построек... просто не всегда получается заметить, что у меня слуг недостаточно, например, если я не буду постоянно контролировать лесников, пусть товар накапливается и в других местах, но зато все товары будут потихоньку разноситься по местам назначенияДобавлено (14.06.2013, 13:15) --------------------------------------------- не знаю как сейчас, но скорее всего не так, поэтому еще такой моментик. Предположим что пекарня сделала хлеб, причем пекарня не забита до отказа мукой, т.е. муку еще можно внести в приоритете, так вот чтобы тот хлеб который сделала пекарня тащил не первый попавшийся слуга, а тот который будет нести муку или УЖЕ несет муку (замечал как слуга занеся муку выходил с пустыми руками, так вот пусть он получает цель забирать хлеб даже когда он уже несет муку) Добавлено (14.06.2013, 13:15) --------------------------------------------- ну и по аналогии проделать такое не только с пекарней
skype: dimask468 - добавляйтесь для совместных игр в KaM Remake
|
|
| | |
Krom | Дата: Пятница, 14.06.2013, 13:47 | Сообщение # 243 |
Воитель
Группа: Супер Модераторы
Сообщений: 1833
Награды: 19
Репутация: 88
Статус: Offline
| dimasik468, Интересно что ты усмотрел такую закономерность (что бревна и доски на низком приоритете), тогда, когда ее нет. Все товары равноценны кроме золота в школы, еды в харчевню и, кажется, оружия в казармы.
Товар будет накапливаться на переферии города, так что общее правило следить за переферией и если там скапливается товар и нет безработных слуг - нанимать новых.
Идея требует обсуждения, т.к. мы не можем легко узнать время прибытия слуги с мукой, может он придет раньше другого слуги, а может и позже. Сейчас считается что позже, и такого уж большого недостатка в этом нет.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
Stetnoel | Дата: Пятница, 14.06.2013, 13:50 | Сообщение # 244 |
Копейщик
Группа: Проверенные
Сообщений: 37
Награды: 0
Репутация: 1
Статус: Offline
| Цитата (dimasik468) не знаю как сейчас, но скорее всего не так, поэтому еще такой моментик. Предположим что пекарня сделала хлеб, причем пекарня не забита до отказа мукой, т.е. муку еще можно внести в приоритете, так вот чтобы тот хлеб который сделала пекарня тащил не первый попавшийся слуга, а тот который будет нести муку или УЖЕ несет муку (замечал как слуга занеся муку выходил с пустыми руками, так вот пусть он получает цель забирать хлеб даже когда он уже несет муку) Это будет сложно... Вот допустим: в пекарне испекли хлеб, слуги идущего с мукой нет, ещё никто из слуг её не успел взять, выбирается свободный слуга, и он отправляется за хлебом, но тут другой слуга, берёт муку на складе или на мельнице (он туда что-то принёс) и направляется в пекарню. Допустим, что слуга с мукой, находится ближе, и получается, что он если зайдёт в пекарню, отдаст муку, и должен будет забрать хлеб, но первый, который и шёл за хлебом, что он будет делать? Ему надо дать команду ОТБОЙ! То есть, это лишняя проверка. Я ещё не разбирался, как именно Кром и Левин построили алгоритм ИИ, но думается, что это усложнит проверку!
|
|
| | |
Krom | Дата: Пятница, 14.06.2013, 14:09 | Сообщение # 245 |
Воитель
Группа: Супер Модераторы
Сообщений: 1833
Награды: 19
Репутация: 88
Статус: Offline
| Stetnoel, все примерно так и есть, только что к ИИ это не относится. ИИ в нашей терминологии то что заменяет игрока. Все части которые одинаковы у игрока и у ИИ - общая логика игры.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
Stetnoel | Дата: Пятница, 14.06.2013, 14:47 | Сообщение # 246 |
Копейщик
Группа: Проверенные
Сообщений: 37
Награды: 0
Репутация: 1
Статус: Offline
| Цитата (Krom) Stetnoel, все примерно так и есть, только что к ИИ это не относится. ИИ в нашей терминологии то что заменяет игрока. Все части которые одинаковы у игрока и у ИИ - общая логика игры. То есть, под ИИ вы понимаете, только как должен развиваться, так сказать, компьютерный игрок, что строить и где? Поясни, пожалуйста, "все примерно так и есть", т.е. слуга приносящий муку в пекарню, если он пришёл первым, может перехватить хлеб у другого слуги?
|
|
| | |
AntonP | Дата: Пятница, 14.06.2013, 15:22 | Сообщение # 247 |
Дозорный
Группа: Проверенные
Сообщений: 339
Награды: 1
Репутация: 3
Статус: Offline
| Krom. Хорошо, а что если слугам разрешить две "последовательные" задачи (Тоесть ко второй он приступает, только тогда, когда завершил первую). Приведу пример с тойже пекарней.Слуга несет в пекарню мешок с мукой. До того как слуга с мешком муки дошел до пекарни, в пекарни испекли 2 хлеба. Значит пекарне нужны слуги которые будут нести этот хлеб. Тогда, что нам нужно? Нужно сначало проверить, а идет ли какой-нибудь слуга в эту пекарню. Да? Значит добавляем ему вторую задачу, отнести хлеб в Харчевню\Склад. Теперь ищем второго слугу для второго хлеба. Проверяем, есть ли слуга,который направляется в эту пекарню. и т.п. Понятно, что если у слуги уже есть две задачи, то его исключаем из проверки.Надеюсь понятно изложил:)Лаги лаги...
Война и мир лучшая!
Сообщение отредактировал AntonP - Пятница, 14.06.2013, 15:23 |
|
| | |
dimasik468 | Дата: Пятница, 14.06.2013, 18:12 | Сообщение # 248 |
Сквайр
Группа: Проверенные
Сообщений: 227
Награды: 2
Репутация: 9
Статус: Offline
| Цитата (Stetnoel) Ему надо дать команду ОТБОЙ! То есть, это лишняя проверка. Я ещё не разбирался, как именно Кром и Левин построили алгоритм ИИ, но думается, что это усложнит проверку! да причем здесь отбой.. я о том, что изначально не надо отправлять первого слугу, т.е. задавать проверку на то, собирается ли пойти в пекарню слуга, которому нужно доставить туда муку
skype: dimask468 - добавляйтесь для совместных игр в KaM Remake
|
|
| | |
Stetnoel | Дата: Пятница, 14.06.2013, 20:05 | Сообщение # 249 |
Копейщик
Группа: Проверенные
Сообщений: 37
Награды: 0
Репутация: 1
Статус: Offline
| Цитата (Krom) Stetnoel, лучше в таких случая реплей присылай. Скрин - жду. Выслал... ...и жду ответа
|
|
| | |
Krom | Дата: Пятница, 14.06.2013, 21:09 | Сообщение # 250 |
Воитель
Группа: Супер Модераторы
Сообщений: 1833
Награды: 19
Репутация: 88
Статус: Offline
| С разрешения Stetnoel, [20:48:49] Krom Stern: в чем было дело - у тебя мало слуг, и как только ты построил казармы они все дуругие дела бросили и понесли оружие в казармы [20:49:46] Krom Stern: пока носили - везду появился излишек товаров [20:50:20] Krom Stern: они стали их разносить в первую очередь, т.к. брони на складе много, а всего остального везде мало [20:50:38] Krom Stern: что я забыл - чем больше товара принесено, ем нижие его приоритет [20:51:00] Krom Stern: т.е. на складе было 35 брони и ее приоритет был ниже сем например колбас или зерна [20:51:45] Stetnoel: Ясно. спс В общем всё дело в приоритете [20:52:46] Krom Stern: щас проверю на всяк случай в коде, но дело похоже в этом [20:55:42] Krom Stern: сколько должно быть слуг? обычно в городе должно быть минимум 5 бездельников [20:56:36] Krom Stern: т.е. смотришь, если товар пылится, то слуг очень мало. если бездельников нет - то просто мало. если бездельники есть, значит все правильно [20:58:41] Stetnoel: Я обычно, в ВК, делаю слуг по кол-ву товара, производимого в зданиях. Например, пекарня производит 2 хлеба, делаю 2 слуг; мясной цех проихводит 3 колбаски, делаю 3 слуг, и т.д. [21:00:09] Krom Stern: значит надо еще сколько то добавить, например по 5 штук на каждый экран застройки [21:00:31] Stetnoel: А сейчас в ремейке я делал по одному на здание, т.к. они эффективнее работают, чем в ВК. [21:00:55] Krom Stern: =) [21:01:06] Krom Stern: и все равно недостаточно эффективно ) [21:01:34] Stetnoel: Всё же лучше чем в оригинале, значит уже плюс!
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
Pingui | Дата: Суббота, 15.06.2013, 03:42 | Сообщение # 251 |
Ополченец
Группа: Проверенные
Сообщений: 18
Награды: 0
Репутация: 0
Статус: Offline
| Krom, а если мы возьмём гипотетический довольно большой город, где идёт производство, и посадим туда только одного слугу, товары буду перемещаться, но только очень медленно, или этот слуга будет таскать в основном только еду, ибо её будут потреблять очень активно? Алгоритм учитывает некую очередь заданий или, грубо говоря, бревно с дальней избы дровосека никогда не попадёт в лесопилку, если слуг в городе не хватает? Очень интересно) И интересно, как было в оригинале.
|
|
| | |
Krom | Дата: Суббота, 15.06.2013, 10:25 | Сообщение # 252 |
Воитель
Группа: Супер Модераторы
Сообщений: 1833
Награды: 19
Репутация: 88
Статус: Offline
| Pingui, примерно так и будет, сначала 1 слуга будет выбирать ближайшие к нему доставки, а как только появится 1 приоритетная - возьмется за нее.
Какой алгоритм был в оригинале не знаю, а ты можешь проверить? )
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
Pingui | Дата: Суббота, 15.06.2013, 14:36 | Сообщение # 253 |
Ополченец
Группа: Проверенные
Сообщений: 18
Награды: 0
Репутация: 0
Статус: Offline
| Цитата (Krom) Pingui, примерно так и будет, сначала 1 слуга будет выбирать ближайшие к нему доставки, а как только появится 1 приоритетная - возьмется за нее. А много ли приоритетных заданий? Читал, что в приоритете "золото в школу" и "еду в харчевню". У остальных приоритет одинаковый или есть некий список приоритетов для всех товаров? Прошу прощения, если задаю слишком много вопросов) Сам программист (правда сильно прикладной), и интересно, как это работает изнутри)
Цитата (Krom) Какой алгоритм был в оригинале не знаю, а ты можешь проверить? ) Хм... А есть совместимый со "Второй короной" редактор карт? Можно попробовать, хотя город вымрет с голоду, наверное, до того как будет понятен алгоритм)
|
|
| | |
Krom | Дата: Суббота, 15.06.2013, 15:00 | Сообщение # 254 |
Воитель
Группа: Супер Модераторы
Сообщений: 1833
Награды: 19
Репутация: 88
Статус: Offline
| Pingui, приоритет считается как "стоимость" доставки. Слуга выберет ту доставку, у которой стоимость ниже. Вот вся функция: Код function TKMDeliverQueue.CalculateBid(iO,iD:Integer; aSerf: TKMUnitSerf):Single; begin //Basic Bid is length of route if fDemand[iD].Loc_House <> nil then begin Result := KMLength(fOffer[iO].Loc_House.GetEntrance, fDemand[iD].Loc_House.GetEntrance) //Resource ratios are also considered + fPlayers[fOffer[iO].Loc_House.Owner].Stats.Ratio[fDemand[iD].Ware, fDemand[iD].Loc_House.HouseType]; end else Result := KMLength(fOffer[iO].Loc_House.GetEntrance, fDemand[iD].Loc_Unit.GetPosition);
//For weapons production in cases with little resources available, they should be distributed //evenly between places rather than caring about route length. //This means weapon and armour smiths should get same amount of iron, even if one is closer to the smelter. if (fDemand[iD].Loc_House<>nil) and fResource.HouseDat[fDemand[iD].Loc_House.HouseType].DoesOrders and (fOffer[iO].Count < 3) //Little resources to share around and (fDemand[iD].Loc_House.CheckResIn(fDemand[iD].Ware) < 2) then //Few resources already delivered Result := 10 + KaMRandom(20);
//Also prefer deliveries near to the serf if aSerf <> nil then Result := Result + KMLength(aSerf.GetPosition,fOffer[iO].Loc_House.GetEntrance);
//Add some random element so in the case of identical bids the same resource will not always be chosen (e.g. weapons storehouse->barracks should take random weapon types not sequentially) Result := Result + KaMRandom(5);
//Modifications for bidding system if (fDemand[iD].Ware = wt_All) //Always prefer deliveries House>House instead of House>Store or ((fOffer[iO].Loc_House.HouseType = ht_Store) //Prefer taking wares from House rather than Store... and (fDemand[iD].Ware <> wt_Warfare)) then //...except weapons Store>Barracks, that is also prefered Result := Result + 1000;
if (fDemand[iD].Loc_House <> nil) //Prefer delivering to houses with fewer supply and (fDemand[iD].Ware <> wt_All) and (fDemand[iD].Ware <> wt_Warfare) then //Except Barracks and Store, where supply doesn't matter or matter less Result := Result + 20 * fDemand[iD].Loc_House.CheckResIn(fDemand[iD].Ware);
//Delivering weapons from store to barracks, make it lowest priority when there are >50 of that weapon in the barracks. //In some missions the storehouse has vast amounts of weapons, and we don't want the serfs to spend the whole game moving these. //In KaM, if the barracks has >200 weapons the serfs will stop delivering from the storehouse. I think our solution is better. if (fDemand[iD].Loc_House <> nil) and (fDemand[iD].Loc_House.HouseType = ht_Barracks) and (fOffer[iO].Loc_House.HouseType = ht_Store) and (fDemand[iD].Loc_House.CheckResIn(fOffer[iO].Ware) > 50) then Result := Result + 10000;
//When delivering food to warriors, add a random amount to bid to ensure that a variety of food is taken. Also prefer food which is more abundant. if (fDemand[iD].Loc_Unit <> nil) and (fDemand[iD].Ware = wt_Food) then Result := Result + KaMRandom(5+(100 div fOffer[iO].Count)); //The more resource there is, the smaller Random can be. >100 we no longer care, it's just random 5. end;
А вот уровни приоритета. Доставки с высоким приоритетом всегда предпочтительнее: Код TDemandImportance = ( diNorm, //Everything (lowest importance) diHigh4, //Materials to workers diHigh3, //Food to Inn diHigh2, //Food to soldiers diHigh1 //Gold to School (highest importance) );
Старый KaM Editor и Mission Editor by Lewin совместимы с ВК.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
dimasik468 | Дата: Суббота, 15.06.2013, 15:32 | Сообщение # 255 |
Сквайр
Группа: Проверенные
Сообщений: 227
Награды: 2
Репутация: 9
Статус: Offline
| Krom, куда прислать реплей с доказательством того, что слуги не носят оружие на склад при закрытом вносе в казарму? (на момент наблюдения имелись свободные слуги с вопросом над башкой)
skype: dimask468 - добавляйтесь для совместных игр в KaM Remake
|
|
| |
|