Обновляемый туман войны уже в этой версии
|
Jery | Дата: Суббота, 20.07.2013, 20:51 | Сообщение # 1 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| Некоторые просят динамический туман войны, предлагаю вам поиграть в наиболее приближенную версию вашей карты с динамическим туманом войны. Сейчас скрипт пока не учитывает ваших союзников и вы их не будете видеть СОВСЕМ. Но для игры 1 на 1 или каждый сам за себя вполне подходит. Так же некоторые нюансы еще не учтены, но это дело времени и кром до сих пор не дал мне инфы о радиусах видимости юнитов и зданий.=)
Чтобы поиграть с динамическим туманов войны: 1. Скопируйте файл из архива в папку с вашей любимой картой. 2. Переименуйте файл следующим образом НазваниеВашейКарты.script 3. Играйте.
ЗЫ: форум почему-то экранирует расширение .script выложил .zip файл
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
Сообщение отредактировал Jery - Суббота, 20.07.2013, 23:37 |
|
| | |
andreus | Дата: Суббота, 20.07.2013, 21:18 | Сообщение # 2 |
Sir James Vagabond
Группа: Администраторы
Сообщений: 3876
Награды: 21
Репутация: 391
Статус: Offline
|
Нашли баг на моей карте? Есть идеи по улучшению карт? Дайте мне знать
|
|
| | |
Jery | Дата: Суббота, 20.07.2013, 23:08 | Сообщение # 3 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| Добавил учет союзников и общей видимости. Инструкция по установке такая же. Прошу протестировать все ли работает при союзной игре, если нет то отписать сюда. Похоже есть некоторые неточности в работе PlayerAllianceCheck.
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
|
|
| | |
ibeast | Дата: Воскресенье, 21.07.2013, 01:17 | Сообщение # 4 |
Ополченец
Группа: Проверенные
Сообщений: 25
Награды: 0
Репутация: 8
Статус: Offline
| Не тестил, но предполагаю, что зона видимости была взята из "исходников".
Суть идеи: Башни "видят" в два раза дальше. Они станут актуальнее не только в плане защита, но и в плане предупреждения. Станут актуальны не только для дефенса, но еще и как развед точки в рандомных частях карты.
Дискасс.
|
|
| | |
Jery | Дата: Воскресенье, 21.07.2013, 20:55 | Сообщение # 5 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| Ну я заметил, что зона видимости башен сильно отличается от других построек и просто посчитал ее в игре =) Все остальные постройки в моем скрипте видят на 7 клеток вокруг своей главной точки. Как реально сделано в ремейке хз, и какой радиус видимости у остальных построек тоже хз, кром пока не дал этих данных. Радиус рабочих и слуг я тоже просто посчитал, он вроде у всех одинаковый. У воинов вроде тоже одинаковый, но не такой как у слуг, а дальше в 2 раза.
Еще не учтено то, что пока здание строится оно видит меньше, но это я просто не успел сделать =) Насколько я помню все рычаги для того чтобы это сделать уже реализованы в скриптах.
Попробуйте хотя бы начать, мне важно узнать видят ли союзники друг друга. У меня нет второго человека чтобы проверить. Если все хорошо, то это первый дельный скрипт, который собрала моя прога и я буду очень доволен=)Добавлено (21.07.2013, 20:55) --------------------------------------------- Выяснилось, что когда на карте много объектов игра начинает люто тормозить. Думаю как исправить.
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
Сообщение отредактировал Jery - Воскресенье, 21.07.2013, 01:41 |
|
| | |
Krom | Дата: Воскресенье, 21.07.2013, 23:15 | Сообщение # 6 |
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
| Непонятный кусок:
Код procedure AssignVariableInitValues(); var iterator : integer; begin end;
наверно стоит только для активных игроков это делать?
Код procedure udt_CoverAll(); begin for udv_TempPlayer := 0 to 7 do begin Actions.FogCoverAll(udv_TempPlayer); end; end;
эпично
Код end; end; end else begin end; end; end; end;
вот это к чему?
Код ConstructedStructure : integer; DestroyedStructure : integer; Destroyer : integer; DefeatedPlayer : integer; VictoriousPlayer : integer; DiedUnit : integer; Killer : integer; TrainedUnit : integer; EquippedWarrior : integer; EquippedWarriorsGroup : integer; TriggeringUnit : integer;
procedure OnHouseBuilt(aHouseId : integer); begin ConstructedStructure := aHouseId; TriggeringHouse := aHouseId; end;
procedure OnHouseDestroyed(aHouseId : integer; aDestroyerIndex : integer); begin DestroyedStructure := aHouseId; Destroyer := aDestroyerIndex; TriggeringHouse := aHouseId; TriggeringPlayer := aDestroyerIndex; end;
procedure OnPlayerDefeated(aIndex : integer); begin DefeatedPlayer := aIndex; TriggeringPlayer := aIndex; end;
procedure OnPlayerVictory(aIndex : integer); begin VictoriousPlayer := aIndex; TriggeringPlayer := aIndex; end;
procedure OnUnitDied(aUnitId : integer; aKillerIndex : integer); begin DiedUnit := aUnitId; Killer := aKillerIndex; TriggeringUnit := aUnitId; triggeringPlayer := aKillerIndex; end;
procedure OnUnitTrained(aUnitId : integer); begin TrainedUnit := aUnitId; TriggeringUnit := aUnitId; end;
procedure OnWarriorEquipped(aUnitId : integer; aGroupId : integer); begin EquippedWarrior := aUnitId; EquippedWarriorsGroup := aGroupId; TriggeringUnit := aUnitId; end;
а вот это лучше сделать по одному игроку за тик, что-то типа PlayerToUpdate := TickCount mod MAX_PLAYERS; нагрузка сразу в 8 раз меньше
Код procedure OnTick(); begin udt_CoverAll(); udt_OpenHouses(); udt_OpenUnits(); end;
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| | |
Jery | Дата: Понедельник, 22.07.2013, 23:33 | Сообщение # 7 |
Мечник
Группа: Модераторы
Сообщений: 568
Награды: 2
Репутация: 50
Статус: Offline
| Я конечно понимаю, что ты открыл код и посмотрел =) Но этот код сгенерирован, я не писал его руками(собственно по отсутствию табов и комментарию в начале можно было догадаться, претифаер я пока не нашел). Если он был бы написан естественным образом, ненужных кусков не было бы. Я проверял производительность и без "лишних" кусков, различий минимум. Грешил на собирание всех юнитов каждый тик, в итоге собирал их только при загрузке все равно люто тормозит.
Пока дельная мысль только разнести по одному тику на игрока и учитывать активных.Добавлено (22.07.2013, 23:33) --------------------------------------------- Попробовал разнести по игроку на тик, теперь стало видно, что я не знаю точных радиусов видимости объектов и появилось мерцание=) Но тормоза прекратились.
«Художник не тогда знает, что он достиг совершенства, когда нечего добавить, но когда нечего больше отнять». (Антуан де Сент-Экзюпери)
Сообщение отредактировал Jery - Понедельник, 22.07.2013, 23:18 |
|
| | |
Krom | Дата: Вторник, 23.07.2013, 09:03 | Сообщение # 8 |
Воитель
Группа: Супер Модераторы
Сообщений: 2526
Награды: 25
Репутация: 153
Статус: Offline
| Jery, оставь обновление только для человеческих игроков, ИИ все равно смотрит без тумана.
Нашли баг в КаМ Ремейке? Отправьте отчет на с пометками, желательно на английском, в какой версии, что и когда случилось, приложите реплей или сохраненную игру в которой этот баг воспроизводится.
|
|
| |
|