Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопросы по модификации
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
Etoprostoya
Ну, например, можно в маяке учить водные заклинания, которых нет в гильдии магов города. Что-то вроде библиотеки Башни.
+1 к радиусу обзора посетившего героя в течении недели.
Не знаю, можно ли такое реализовать. Четвёртая стрелковая башня при отстройке замка и маяка.
Algor
Цитата(feanor)
Его, в принципе, можно вытащить поверх верфи при невозможности постройки, но какое свойство ему при этом дать, учитывая что стандартное применимо примерно в том же количестве игр?

Ну нет, на водных рандомках при невозможности построить верфь маяк всяко будет полезен.
А так... при осаде в начале каждого раунда фонарь маяка может ослеплять на 1 раунд случайный отряд осаждающего, например.
feanor
На водных рандомках я все планирую привязать верфь замка к ближайшей обычной верфи.
Algor
Эм, верфь ведь захватываемый объект, что если ее враг захватит? Или болт на такие условности?
Но опять же, ближайшая (координатно) верфь может и на соседнем острове быть...
feanor
Я бы и не против другой механики, но как бы её еще придумать.
feanor
Вообще, заменить верфь на маяк - !#UN:C8612393/1/17;
Причем оно и автоматически сброситься при рестарте должно.
feanor
Камраден, я опять продолбал крайние сорцы альфы.
Сохранились у кого?
Berserker
Держите, рыцарь: лошадь
Альфа 2, сорцы 1.х.
feanor
К слову, относительно загрузки-выгрузки спрайтов для отдельных кадров

Код
//----- (0055D3B0) --------------------------------------------------------
void __thiscall Def_Deref(_Def_ *this)

Код
//----- (0055C9C0) --------------------------------------------------------
_Def_ *__fastcall LoadDEF(char *DefName)

Код
// 63D6B0: using guessed type int (__thiscall *TDef_VTable)(void *, char);

ну и перехватывать лучше не всяческие

Код
int __thiscall DefCadre_DrawType1_interface(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirror, char NoSpecColorsFromPalette);
int __thiscall DefCadre_DrawType1_combat(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirror, int selectionColor, char halfTransparent);
int __thiscall DefCadre_DrawType3(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirror, int flagColor);
int __thiscall DefCadre_DrawType3_HalfTransparent(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, unsigned __int16 flagColor, char mirror);
int __thiscall DefCadre_DrawType3_Shadow(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int a12, char mirror);
int __thiscall DefCadre_DrawType0or2(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirrorX, int mirrorY);
int __thiscall DefCadre_DrawType0or2_Shadow(_DefCadre_ *this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirrorX, int mirrorY);
int __thiscall DefCadre_DrawType1_interface_MayHalfTransp(int this, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int a8, int destW, int destH, int scanlineSize, _DevicePalette_ *palette, int mirror, char halfTransparent);

а

Код
int __thiscall Def_Draw_Interface_Group(_Def_ *this, int group, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int maxX, int maxY, int scanlineSize, int mirror, char getSpecColorsFromPalette);
signed int __cdecl sub_0047B670();
int __thiscall Def_Draw_Combat(int this, int group, int frame, int srcX, int srcY, int w, int h, int a8, int destX, int destY, int a11, int a12, int a13, int mirror, int a15);
int __thiscall Def_DrawType3_NoFlag(int this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirror); // idb
int __thiscall Def_DrawType3_Flag(int this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int flagColor, int mirror); // idb
int __thiscall Def_DrawType3_Shadow(int this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int a7, int a8, int destW, int destH, int a11, char mirror); // idb
int __thiscall Def_Draw_Interface_Whole(_Def_ *this, int cadre, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirror); // idb
int __thiscall Def_Draw_Interface(_Def_ *this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirror);
int __thiscall Def_DrawType0or2(_Def_ *this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirrorX, int mirrorY);
int __thiscall Def_DrawType0or2_Shadow(int this, int cadre, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10, int a11, int a12, int a13, int a14); // idb
int __thiscall Def_DrawType0or2_WithShadow(int this, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirrorX, int mirrorY); // idb
int __thiscall Def_DrawType3_Group(int this, int group, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, int mirror);
int __thiscall Def_DrawType3_Group_Shadow(int this, int group, int cadre, int a2, int srcY, int w, int h, int drawBuffer, int a7, int a8, int destW, int destH, int a11, char mirror); // idb
int __thiscall Def_DrawType3_Group_HalfTransp(int this, int group, int cadre, int srcX, int srcY, int w, int h, int drawBuffer, int destX, int destY, int destW, int destH, int scanlineSize, char mirror); // idb
int __thiscall Def_Draw_Interface_MayHalfTransp(int this, int group, int cadre, int a4, int a5, int a6, int a7, int a8, int a9, int a10, int a11, int a12, int a13, int a14, char a15); // idb

их чуть больше, но зато там можно ловить отрисовку по имени дефа-группе-кадру, а не по имени кадра
dr0n
Поясни для особо тупых, что это дает?
Разнообразие в экране городов можно делать?
feanor
Нет, это к альфе.длл
feanor
Цитата
Разнообразие в экране городов можно делать?
А сильно надо, кстати?
feanor
Идея по повышению привлекательности отстройки ГМ: в начале хода ГМ дает заночевавшим героям +100/250/400/700/1000 XP.
Orzie
и чо, регулярно что ли? так можно миллион папок раскормить)
feanor
Регулярно, да.
Algor
Цитата(Orzie @ 08 Aug 2015, 20:32) *
и чо, регулярно что ли? так можно миллион папок раскормить)

20 уровень ~ 80к экспы. Т.е. целенаправленно отстраивая ГМ при первой же возможности мы получим 2х "недопапок" аккурат к 4му месяцу.
Не то, что бы имбово, правда?

А вот для домоседов плюс будет солидный. Давно уже подумывал о том, чем занимаются герои, которые неделями караулят замок. Но из похожих идей было только зачисление неизрасходованных мувпойнтов в опыт с привязкой % к "Обучению".

Проблему стимуляции отстройки ГМ даже не рассматривал. Сейчас гильдию раскачивать смысла нет тупо из-за того, что базовые вкусняшки типа слоу можно получить быстро и не одним способом.
Имхо, именно в этом корень зол, который очень боятся рубить. У себя проблему решил давно:вынес эту хрень на третий уровень и сразу цена кусается, доступность понизилась, воины подобломаны.
Orzie
Ну вот в том и дело, что перенос слоу на более высокие уровни - решение куда более красивое.
feanor
На самом деле проблему ненужности ГМ это все равно не решает, потому что пандорки и книжки.
Orzie
Книжки - лесом из утоп, пандорки - не знаю, как влияют. smile.gif
Iv
Цитата(Orzie @ 09 Aug 2015, 11:53) *
пандорки - не знаю, как влияют. smile.gif

В пандорках может быть вся магия какого-либо уровня или определенной школы. При запоминании Мудрость героя учитывается
Algor
Цитата(feanor @ 08 Aug 2015, 20:27) *
Идея по повышению привлекательности отстройки ГМ...

Идею позаимствовал по твоей лицензии "можно всё" как часть новой опции.
tolich
Цитата(feanor @ 09 Aug 2015, 01:10) *
потому что пандорки и книжки.
Пандорки же одноразовые. Это события могут быть многоразовыми, но они невидимы.
ЗВЕРОБОЙ
Извините, что не по теме.
Кто умеет работать в командой строке?
Мне нужно переконвертировать файл, но не могу понять, как это сделать в командой строке.
http://neill3d.com/quake-md3-import-into-3ds-max
Md3Convert — консольная утилита для конвертирования md3 в msh текстовый формат. Строка вызова имеет слудующий формат — <md3 input filename> <msh output filename>

Кто-то мог бы мне объяснить?


Файл .md3
Mortan
Привет,у меня к вам вопрос небольшой - как нормально сохранить картинку интерфейса,чтобы нормально в игре отображалось?Расскажу что я делаю и в чём проблема - открываю бмп в фш,перевожу в rgb,потом обратно в "индексированные цвета",после этих манипуляций в игре картинка получается с артефактами.Хочу NIM под обычный HD mod переделать.Подскажите что делать или чего не делать)
P.S.Могу скриншот приложить...
Docent Picolan
Нужна правильная палитра изображения. В большинстве оригинальных BMP из h3bitmap.lod (за некоторыми исключениями) в начале несколько заданных цветов. Вот эти, если конкретнее. Соответственно, чтобы получить при переводе обратно в 256 цветов правильное начало палитры, нужно: Изображения > Режим > Индексированные цвета > Принудительные: Заказные > Загрузить и открыть палитру по ссылке выше.

И да, когда в изображении не предполагается значительных изменений по цвету (ну, кривой пиксель поправить какой-нибудь, но не гамму) — можно не переводить в RGB вовсе или перевести, открыть дубликат оригинала, переместить туда новое изображение и сохранить под нужным именем. Стандартная палитра сохранится.
Mortan
Цитата(Docent Picolan @ 21 Oct 2015, 18:23) *
Нужна правильная палитра изображения. В большинстве оригинальных BMP из h3bitmap.lod (за некоторыми исключениями) в начале несколько заданных цветов. Вот эти, если конкретнее. Соответственно, чтобы получить при переводе обратно в 256 цветов правильное начало палитры, нужно: Изображения > Режим > Индексированные цвета > Принудительные: Заказные > Загрузить и открыть палитру по ссылке выше.

И да, когда в изображении не предполагается значительных изменений по цвету (ну, кривой пиксель поправить какой-нибудь, но не гамму) — можно не переводить в RGB вовсе или перевести, открыть дубликат оригинала, переместить туда новое изображение и сохранить под нужным именем. Стандартная палитра сохранится.

Спасибо за совет.И да,я понял в чем смысл "артефактов" - это синий цвет заменяется на цвет игрока)
edit: всё равно остаётся этот артефакт :


edit 2: уже разобрался,это из-за последних 32 цветов в палитре.Всё же на форуме очень много полезной инфы)
Mortan
Цитата(ЗВЕРОБОЙ @ 03 Oct 2015, 16:58) *
Извините, что не по теме.
Кто умеет работать в командой строке?
Мне нужно переконвертировать файл, но не могу понять, как это сделать в командой строке.
http://neill3d.com/quake-md3-import-into-3ds-max
Md3Convert — консольная утилита для конвертирования md3 в msh текстовый формат. Строка вызова имеет слудующий формат — <md3 input filename> <msh output filename>

Кто-то мог бы мне объяснить?


Файл .md3


создаешь bat файл и пишешь в нём MD3Convert название_файла_которое_нужно_конвертить а_теперь_имя_резуьтата
Обязательно нужно указывать имя расширения
feanor
ещеоднаидея.

Изменить положительную обратную связь в системе опыта на отрицательную: долгие боевые действия без пополнения войск ведут к ухудшению параметров отряда.
Понятно, надо решать баг с гарнизонами и шахтами и переосмыслять знамя.
tolich
Часть опыта (пардон, "усталости") теряется в конце каждого дня. Скажем, процент оставшегося хода от максимума хода. Т.е., если армия весь день не двигается, она полностью отдыхает.
Axolotl
Цитата(feanor @ 14 Nov 2015, 00:32) *
ещеоднаидея.

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


shock.gif Мне сразу ассоциативно представился ряд концепций в других жанрах. Например аркада - стартуешь молодым, здоровым, мускулистым воином. Сильным, ловким, быстрым. Враги умирают с "полтычка". К концу игры уже старый, больной, израненный. Цель, добежать до дракона еще будучи в меру здоровым, а не совсем дряхлым стариком. Мда.
Iv
Цитата(feanor @ 13 Nov 2015, 20:32) *
ещеоднаидея.

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

Не понимаю, какую проблему решает такая фича
Сулейман
Цепочки? Прокатил армию на другую часть карты будь добр отдохни после марша.
Iv
Цитата(Сулейман @ 14 Nov 2015, 01:05) *
Цепочки? Прокатил армию на другую часть карты будь добр отдохни после марша.

Не похоже. Ключевая часть идеи вроде как - " долгие боевые действия "
Algor
Цитата(Iv @ 14 Nov 2015, 00:37) *
Цитата(feanor @ 13 Nov 2015, 20:32) *
ещеоднаидея.

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

Не понимаю, какую проблему решает такая фича

+1
feanor, раскрой мысль, какие плюсы нововведения смогут перевесить неочевидность этой новой механики?
feanor
Цитата
Не понимаю, какую проблему решает такая фича

Ну как, прост попытка выкрутить из опыта что-то полезное.
Axolotl
Такие вопросы есть:

1 - Можно ли сделать расширенный формат дефов с бо́льшим кол-вом "анимаций"....Про сам формат дефов это наверное к Сергею вопрос. Но нужно же еще и чтобы Герои их потом понимали.

2 - Можно ли сделать два и более варианта Айдлов (анимаций кривляния). Желательно с разной вероятностью или еще какими-то условиями (т.е. более частые для простых, более редкие для более сложных). Например, есть несколько анимаций. Простые: существо переминается, поворачивает голову, поднимает руку с оружием и.т.п И более сложное и долгое - например смачно потягивается. Как и обычно, они случаются рэндомно, но более сложное(ые) соответственно реже.

3 - Можно ли сделать альтернативное движение в зависимости от расстояния перемещения (или еще от каких-то параметров)? Например как это сделано в King's Bounty - летающие существа с ногами (дракон например), как и положено, летают. Но если нужно переместиться всего на пару гексов, то просто идут пешком. Может и еще зачем-нибудь такое можно придумать, но на вскидку иных применений пока не вижу.

....

Пункты два и три конечно зависят от пункта один, но в теории, если первый пункт невозможен, можно пользоваться имеющимися в текущем формате дефов неиспользуемыми слотами.

Специально для Феанора)) - желательно ответ чуть подробнее чем просто (можно/нельзя)
Richter
Кто нибудь знает, где найти инструкцию на русском по Olly_dbg?
feanor
Щас хочу запилить минимод на поиск Грааля на рандомках.

При выборе одного игрока и нуля компьютерных условие победы меняется на "Получить артефакт - Грааль".



Предложения, критика?
tolich
Лучше на "Построить граальную структуру". Да, я помню, что грааль перехватить нельзя.
Algor
Цитата(feanor @ 21 Nov 2015, 16:05) *
Щас хочу запилить минимод на поиск Грааля на рандомках.
При выборе одного игрока и нуля компьютерных условие победы меняется на "Получить артефакт - Грааль".
...
Предложения, критика?

А условие поражения? Логично было бы ограничение по времени поставить, в зависимости от размера карты, например.

Вообще было бы отрадно видеть инструмент по управлению условиями победы/поражения. В т.ч. с возможностью менять условия прямо по ходу игры, если это технически возможно.
И если один игрок-человек и больше-совсем-никого это ситуация, эм, экзотическая, то "не потерять стартового героя" вполне уместно смотрелось бы на рандомках. При включении соотв. опции ессно ))
feanor
Цитата
А условие поражения? Логично было бы ограничение по времени поставить, в зависимости от размера карты, например.
Ахз.
Наверное, поставлю "утрату стартового героя" и смену ему имени на Галахад.

Цитата
Вообще было бы отрадно видеть инструмент по управлению условиями победы/поражения. В т.ч. с возможностью менять условия прямо по ходу игры, если это технически возможно.
чоб нет-то, UN:C как UN:C

Условия победы - массив хлама по адресу [699538]+1F8B4, байт типа спецусловия, байт разрешения нормальной победы, байт разрешения спецпобеды для ИИ, дальше настройки.
feanor
Ох, сколь же сомнительная там структура.
Пусть пока лежит здесь, погоняйте, если не лень, потом кросспостну в ИА

Кароч, блок условий победы и поражения лежит в [699538]+1F89C.

Через ERM:

!!UN:C6919480/4/?y10;
!!VRy10:+129180;
!!VRy11:Sy10+0;

Три байтовых параметра заголовка:

Тип победы
!!VRy11:Sy10 +0;
!!UN:Cy11/1/..; - -1 стандартная, 0 - получить артефакт, 1 - набрать существ etc

Разрешена ли нормальная дополнительно
!!VRy11:Sy10 +1;
!!UN:Cy11/1/..; - 0 или 1.

Разрешена ли спецпобеда для ИИ
!!VRy11:Sy10 +2;
!!UN:Cy11/1/..; - 0 или 1.

Дальше четырехбайтные параметры для свойств событий

Артефакт (для добытия, конвоя etc)
!!VRy11:Sy10 +4;
!!UN:Cy11/4/..;

Тип существа (для накопления и уничтожения определенного стека на карте)
!!VRy11:Sy10 +8;
!!UN:Cy11/4/..;

Количество существ (для накопления)
!!VRy11:Sy10 +12;
!!UN:Cy11/4/..;

ну принцип понятен, дальше в сокращенном виде

+16 - тип ресурсов для накопления
+20 - количество ресурсов
+24,28,32 - координаты города (отстройка, захват, конвой арта)
+36,37 - однобайтовые (!) параметры для задания "улучшить город" (00..02, 00..02)
+40,44,48 - координаты героя (для убийства). Вроде бы только справочное, где он был на момент начала игры.
+52 - ID героя
+56,60,64 - координаты монстра для убийства

Теперь блок поражения. Все чуть проще, потому что меньше.

+76 - байт для типа условия поражения. -1, 0, 1, 2
+80, 84, 88 - координаты замка для потери
+92, 96, 102 - координаты героя для потери
+106 - ID героя
+110 - дней отведено
feanor
Цитата
+92, 96, 102 - координаты героя для потери
+106 - ID героя
+110 - дней отведено

+92,96,100,
+104
+108

исправленному верить
hippocamus
Хм, а реально сделать для каждого игрока свои условия побед и поражений? Подменяя их при передаче хода... Было бы хорошо для сюжетной заскриптованной карты, где можно играть за разные стороны.
feanor
..вроде отвечал ведь даже
Цитата
а реально сделать для каждого игрока свои условия побед и поражений?

реально.
И динамические можно, только тут уже надо предметнее - некоторые кейсы могут быть не очевидны.


А теперь вопрос.
Вот, допустим, мод с PvE-стартом для рандомок, цель - поиск грааля.
Допустим, условие поражения - не успеть по времени.
Какие лимиты сделать (сравнительно с размером) или же не делать никаких?

А если, например, кто-то сможет предложить в общем виде, няшной формулой типа 7*(size/12)^2 - то вообще круто happy.gif
Algor
Цитата(feanor @ 11 Dec 2015, 16:03) *
Вот, допустим, мод с PvE-стартом для рандомок, цель - поиск грааля.
Допустим, условие поражения - не успеть по времени.
Какие лимиты сделать (сравнительно с размером) или же не делать никаких?

А если, например, кто-то сможет предложить в общем виде, няшной формулой типа 7*(size/12)^2 - то вообще круто happy.gif


f(size) - эт вообще ни о чем. Сделаешь мало - уйдет играбильность. Такой режим ведь будут предпочитать, предположительно, любители построить/поразвиваться. Тут проще не делать никакого ограничения. Оставить условием поражения только "потерять стартового героя".
Если все-же делать, то добавить в формулу параметр "уровень сложности" и сделать относительно большой разброс по нему. Так, чтобы на "легко" времени было с большим запасом, а на "невозможно" совсем в обрез или даже чуть меньше (на то он и "невозможно"), чтобы новый режим мог привлечь и более хардкорных игроков. А по остальным уровням сложности разделить пропорционально.

Да, собсно, и все. Завязываться на какие-либо параметры используемого шаблона (кол-во/наполнение/почвы зон, силы охраны проходов и пр.) даже если есть возможность их вытащить - смысла нет. Это, как говорил мой бывший начальник, "задачка для небольшого НИИ".
Учитывать какие-нить статистические данные карты (общая сила монстров на старте, кол-во обелисков, типы почв локаций и пр.) тоже вряд ли получится эффективно.

Ну и по формуле. Я, как любитель L+, могу предложить для уровня сложности "норма" 1/2/3/4 мес для S/M/L/XL. Ну или время_в_днях=линейный_размер_карты, как вариант.
Для карт с подземкой - множитель x1.5.
Множители по уровням сложности 2/1/0,85/0,65/0,5
Квадратичную зависимость времени от линейного размера карты, имхо, делать не стоит, т.к. развитие также не линейное.
Haart of the Abyss
Цитата
f(size) - эт вообще ни о чем. Сделаешь мало - уйдет играбильность. Такой режим ведь будут предпочитать, предположительно, любители построить/поразвиваться.
Насколько я понимаю, режим, который делает Феанор, ближе к King's Bounty, чем к "песочнице" из второго Данжн Кипера. На карте без сильных противников стартового героя очень легко не терять, а для бесконечной песочницы лучше подходят кастомные карты, где чем дальше в лес — тем толще лазурники, нежели рандомка-с-граалем, где его местонахождение особо не коррелирует со сложностью окружающего его участка карты.


Насчёт времени… А нельзя ползунок "время хода", в сингле всё равно не нужный, приспособить как регулятор лимита времени на таких картах? С логарифмической шкалой. Перехватывать, сколько там игрок проставил, и в зависимости от этого проставлять время игры. А то кто-то будет играть в турнирном стиле, с цепочками, побегонаймом и утопами в пятьдесят копейщиков, и ему для мотивации нужен лимит в месяц на оббегать XLку — а кто-то, например, включит скрипты на усиление нейтралов и будет долго расковыривать границы респов.
feanor
Цитата
Тут проще не делать никакого ограничения. Оставить условием поражения только "потерять стартового героя".

Оно что-то не ставится, зарраза.

Цитата
Ну и по формуле. Я, как любитель L+, могу предложить для уровня сложности "норма" 1/2/3/4 мес для S/M/L/XL. Ну или время_в_днях=линейный_размер_карты, как вариант.
Для карт с подземкой - множитель x1.5.
Множители по уровням сложности 2/1/0,85/0,65/0,5
Квадратичную зависимость времени от линейного размера карты, имхо, делать не стоит, т.к. развитие также не линейное.

На том, наверное, и порешу.

Цитата
Насколько я понимаю, режим, который делает Феанор, ближе к King's Bounty, чем к "песочнице" из второго Данжн Кипера.

Прост хоть какой-то challenge обеспечить хочется, под песочницу "выдали спеллбук и крутись как хочешь" тройка приспособлена не особенно, тем более на рмг.
ну и вообще, для начала бы прост забеги за граалем зарелизить (и proof of concept одного игрока на рандомках в целом), а наворотов (усиление монстров etc) можно и потом накрутить.
Ethereal
Столкнулся с проблемой переполнения листа городов в игре.
Собствено дело в том, что имея дело с картами размера XL мне нехватает городов (да и шахт с камнями познания). Раздобыв тут скрипт перестройки Утопий в города, сразу же понатыкал их вместо недостающих городов и... наткнулся на всё тот же проклятый ограничитель, но уже в игре, а не в редакторе.
Собственно вопрос: Есть ли возможность убрать эти ограничения по количеству объектов, или хотя бы их сдвинуть, каким нибудь способом?

С проблемой разобрался. Глючила Экономика на проверке городов. Придётся пожертвовать ей. Однако ограничители всё равно мешают.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.