MysteriesRL
Модератор: Alchemist
Re: MysteriesRL
Я понял, что это такое!
Гильдияподобный рогалик.
Гильдияподобный рогалик.
- Alchemist
- Мастер
- Сообщения: 203
- Зарегистрирован: 13 дек 2006, 09:15
- Откуда: Нижний Тагил, Иваново
- Контактная информация:
Re: MysteriesRL
Спасибо, стараюсь!Anfeir писал(а):Выглядит клёво


Тут всё простоAnfeir писал(а):Производительность - может, профайлером пройтись? Просто когда стоишь , кушает 10-20% проца (посмотрел, равномерно раскидывается между 4мя ядрами). В режиме миникарты 0%. Когда ничего на экране не изменилось, перерисовывать ведь нет смысла? Не помню как оно в жаве,.. но если запросило событие отрисовки, можно подсунуть на blit готовый буфер. А обновлять его когда обновляется содержимое. (Подозреваю, что быстрей всего рисовало бы с хардварной акселлерацией.) Или оно над чем-то ещё думает? Т.к. время-то считает.


С путями - наверное в батнике уберу по-умолчаниюAnfeir писал(а):По поводу путей до жавы - у себя просто убрал путь до javaw. Почти гарантированно оно уже есть в PATH
null is attacking Jesus Gomes
Jesus gomes took 5 damage
Смешение времён небольшое. Впрочем, наверное, сейчас это неважно.

Смешение времен и прочие нестыковки позже буду тщательно контролировать, скорее всего при помощи коллег и игроков, когда ближе подберусь к сюжетным плюшкам. Сейчас-то есть только прототип типичного скелета рогалика без особых уникальных характеристик... Да и с разговорным английским у меня не очень, читаю еще неплохо. А вот написать грамотно - уже проблема

Подскажи конкретную ссылку на игру, плиз!Denox писал(а):Я понял, что это такое!
Гильдияподобный рогалик.



Совершенство - это не тогда, когда уже нечего добавить,
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
Re: MysteriesRL
Похоже Денокс про Guild War говорил, тоже очень социальная игрушка. Я правда её так и не осилил, вылетала она у меня.
Всё вышесказанное - ИМХО, если не указано обратное.
- Alchemist
- Мастер
- Сообщения: 203
- Зарегистрирован: 13 дек 2006, 09:15
- Откуда: Нижний Тагил, Иваново
- Контактная информация:
Re: MysteriesRL
Выпускаю релиз версии v0.0.3! Скачать можно отсюда: https://www.dropbox.com/s/tzoyu3r2vp60k ... 3.zip?dl=0.
В этой версии реализовано (снизу-вверх):
(+) Добавлен алгоритм и экран выбора персонажа, которым будет управлять игрок. Это "реальный" житель
города, с именем, возрастом, внешностью и характеристиками. Возможно, даже с женой и детьми
Позже добавится возможность отсеивать кандидатов по полу и возрасту. Сейчас только простой выбор.
(+) Реализован алгоритм отбора подходящих протагонистов и новый класс контроллера игрока вместо класса
самого игрока. Таким образом игрок теперь - 100% обычный житель города. Всё внешнее управление
выведено в класс контроллера. Возможны небольшие глюки после перестройки взаимосвязей.
(!) Принято окончательное решение о структуре UI: интерфейс будет строиться по классическому
solid-принципу. Т.е. каждый экран самостоятельно обрабатывает все свои события,
никаких окошек, контролов и т.п. Никакой иерархии классов пользовательского интерфейса.
Будет только комплект предопределенных примитивов, помогающих отрисовывать повторяющиеся элементы,
типа прогрессии, списка или меню.
(+) Реализовано первое простенькое меню и первая прогрессия генерации игры.
(*) Улучшена проработка иерархии экранов, изменено переключение и некоторые вызовы.
(*) Найдены три причины крупной утечки производительности при отрисовке терминала, введены оптимизации.
(+) Добавлен новый тип и генератор района - кладбище. Есть могилы, правда размер кладбища неправдоподобен.
Крайне необходим алгоритм генерации правдоподобных церквей. Где взять?!
(+) Горожанам добавлена религия (пока нигде не используется и не выводится).
(*) Устранен баг с генерацией дверей, попадающих в поперечную стену.
(*) Устранен баг с блокировкой деревьями входных дверей зданий.
(+) Реализовано простейшее заполнение дома игрока базовыми объектами: печь, кровати.
(+) Реализованы предварительные типы комнат жилых домов (назначаются только при наличии жильцов),
реально подключены только типы: "холл", спальня, кухня. В случае маленьких хижин, типы совмещаются.
Спальни в особняках всегда выделяются из состава комнат с окнами.
Список тем будущих версий:
- полировка интерфейса уже сделанных экранов;
- возможность выбора пола и диапазона возраста протагониста;
- подключение, по возможности, остальных типов комнат жилых зданий (учитывая, что вплоть до середины 20-го века в ряде стран Европы мылись в лохани, а ванных не существовало... придется в бедных зданиях вводить именно такое)));
- возможно именно в этой версии подумаю над влиянием пола и возраста на SPECIAL-статсы (если кто-нибудь имеет подходящие материалы - может поделитесь?);
- можно подумать над формулами боя и предварительным наброском навыков (но вероятнее - отложу еще на пару версий);
- нужно увеличить размер кладбища, слишком маленький район;
- нужно найти алгоритм формирования внутренней планировки хотя бы простенькой церкви, в этой игре вера будет играть важную роль и церковь будет нужна;
- подумать - вводить в этой версии или следующей, генерацию подвалов у некоторых зданий;
- подумать - в какой версии ввести катакомбы под городом, подумать над критериями запрета на катакомбы в городе;
- подумать - с какой версии начинать генерацию полной популяции города?
- набросать предварительный список "фракций" горожан, или специальностей; основной упор на то, что можно будет сделать видимым для игрока, а что будет учитываться только эмулятором города неявно;
- в городе нужен "каретный транспорт", как сделать? как игрок будет "ловить попутку"? уже нужны деньги?
- реализовать бег;
- нужна предварительная реализация экипировки, предметов, веса;
- продукты и голод, быть или не быть?
- система "страха" - нужна обязательно, когда и как реализовать?
Кому интересно - приглашаю к обсуждению
В этой версии реализовано (снизу-вверх):
(+) Добавлен алгоритм и экран выбора персонажа, которым будет управлять игрок. Это "реальный" житель
города, с именем, возрастом, внешностью и характеристиками. Возможно, даже с женой и детьми

Позже добавится возможность отсеивать кандидатов по полу и возрасту. Сейчас только простой выбор.
(+) Реализован алгоритм отбора подходящих протагонистов и новый класс контроллера игрока вместо класса
самого игрока. Таким образом игрок теперь - 100% обычный житель города. Всё внешнее управление
выведено в класс контроллера. Возможны небольшие глюки после перестройки взаимосвязей.
(!) Принято окончательное решение о структуре UI: интерфейс будет строиться по классическому
solid-принципу. Т.е. каждый экран самостоятельно обрабатывает все свои события,
никаких окошек, контролов и т.п. Никакой иерархии классов пользовательского интерфейса.
Будет только комплект предопределенных примитивов, помогающих отрисовывать повторяющиеся элементы,
типа прогрессии, списка или меню.
(+) Реализовано первое простенькое меню и первая прогрессия генерации игры.
(*) Улучшена проработка иерархии экранов, изменено переключение и некоторые вызовы.
(*) Найдены три причины крупной утечки производительности при отрисовке терминала, введены оптимизации.
(+) Добавлен новый тип и генератор района - кладбище. Есть могилы, правда размер кладбища неправдоподобен.
Крайне необходим алгоритм генерации правдоподобных церквей. Где взять?!
(+) Горожанам добавлена религия (пока нигде не используется и не выводится).
(*) Устранен баг с генерацией дверей, попадающих в поперечную стену.
(*) Устранен баг с блокировкой деревьями входных дверей зданий.
(+) Реализовано простейшее заполнение дома игрока базовыми объектами: печь, кровати.
(+) Реализованы предварительные типы комнат жилых домов (назначаются только при наличии жильцов),
реально подключены только типы: "холл", спальня, кухня. В случае маленьких хижин, типы совмещаются.
Спальни в особняках всегда выделяются из состава комнат с окнами.
Список тем будущих версий:
- полировка интерфейса уже сделанных экранов;
- возможность выбора пола и диапазона возраста протагониста;
- подключение, по возможности, остальных типов комнат жилых зданий (учитывая, что вплоть до середины 20-го века в ряде стран Европы мылись в лохани, а ванных не существовало... придется в бедных зданиях вводить именно такое)));
- возможно именно в этой версии подумаю над влиянием пола и возраста на SPECIAL-статсы (если кто-нибудь имеет подходящие материалы - может поделитесь?);
- можно подумать над формулами боя и предварительным наброском навыков (но вероятнее - отложу еще на пару версий);
- нужно увеличить размер кладбища, слишком маленький район;
- нужно найти алгоритм формирования внутренней планировки хотя бы простенькой церкви, в этой игре вера будет играть важную роль и церковь будет нужна;
- подумать - вводить в этой версии или следующей, генерацию подвалов у некоторых зданий;
- подумать - в какой версии ввести катакомбы под городом, подумать над критериями запрета на катакомбы в городе;
- подумать - с какой версии начинать генерацию полной популяции города?
- набросать предварительный список "фракций" горожан, или специальностей; основной упор на то, что можно будет сделать видимым для игрока, а что будет учитываться только эмулятором города неявно;
- в городе нужен "каретный транспорт", как сделать? как игрок будет "ловить попутку"? уже нужны деньги?
- реализовать бег;
- нужна предварительная реализация экипировки, предметов, веса;
- продукты и голод, быть или не быть?
- система "страха" - нужна обязательно, когда и как реализовать?
Кому интересно - приглашаю к обсуждению

Совершенство - это не тогда, когда уже нечего добавить,
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
Re: MysteriesRL
А еще стамину и чтобы запыхавшийся герой часто и громко дышал, выдавая себя в стелс ситуациях.- реализовать бег;
- нужна предварительная реализация экипировки, предметов, веса;
- продукты и голод, быть или не быть?
- система "страха" - нужна обязательно, когда и как реализовать?
Продукты и голод актуальны в сурвайвл зомби апокалипсисах, наверное "страх" больше подойдет на роль "голода". И обязательно возможность для восстановления - пивные, бордели, церкви. Darkest Dungeon уже видел?
- Alchemist
- Мастер
- Сообщения: 203
- Зарегистрирован: 13 дек 2006, 09:15
- Откуда: Нижний Тагил, Иваново
- Контактная информация:
Re: MysteriesRL
Это нужно будет обязательно! Что-то мне чрезмерно хочется стелс, не знаю уж почему. Но при этом хочется обложить его такой данью, чтобы стелс был сложныйOreyn писал(а):А еще стамину и чтобы запыхавшийся герой часто и громко дышал, выдавая себя в стелс ситуациях.

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

Нет. Первый раз слышу. Сейчас начну искать и смотретьOreyn писал(а):Darkest Dungeon уже видел?

Совершенство - это не тогда, когда уже нечего добавить,
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
Re: MysteriesRL
Там есть система sanity, которую можно поправлять между миссиями в церкви или пивной с шансом дополнительных случайных событий. Плюс интересна сама механика этой вменяемости во время миссии. После черты в 100 страха (который как накидывают ивенты в подземелье так и спец атаки мобов) персонаж переходит в особое состояние. Это может быть как плохое так и хорошее состояние - эгоистичность, параноя, героизм или обреченность и еще какие-то, всех не знаю. Что в свою очередь реализовано не просто изменением статов. Эгоистичный будет ныть "он точно что-то прикарманил" и портить другим санити если не он лутил сундук. Параноик увернется от хила от сопартийца и кинет обвинение, мол "искала возможность ударить меня в спину!". Обреченный не будет уворачиваться от атак печально констатируя что все равно умрем. И все это в сеттинге грим дарк Ван Хелсинг и чумных докторов средневековой Европы.
Скрытый текст: ПОКАЗАТЬ
Последний раз редактировалось Oreyn 15 фев 2015, 20:34, всего редактировалось 1 раз.
- Alchemist
- Мастер
- Сообщения: 203
- Зарегистрирован: 13 дек 2006, 09:15
- Откуда: Нижний Тагил, Иваново
- Контактная информация:
Re: MysteriesRL
Прикольно!
Нужно будет обдумать!

Совершенство - это не тогда, когда уже нечего добавить,
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
- Харука-тян
- Мастер
- Сообщения: 544
- Зарегистрирован: 29 ноя 2006, 00:23
- Контактная информация:
Re: MysteriesRL
Oreyn писал(а):После черты в 100 страха (который как накидывают ивенты в подземелье так и спец атаки мобов) персонаж переходит в особое состояние.

Качаю рулбуки по рпг с вменяемостью, если найду что-то примечательное - сообщу.
- Alchemist
- Мастер
- Сообщения: 203
- Зарегистрирован: 13 дек 2006, 09:15
- Откуда: Нижний Тагил, Иваново
- Контактная информация:
Re: MysteriesRL
Спасибо!Харука-тян писал(а):Качаю рулбуки по рпг с вменяемостью, если найду что-то примечательное - сообщу.Oreyn писал(а):После черты в 100 страха (который как накидывают ивенты в подземелье так и спец атаки мобов) персонаж переходит в особое состояние.
У меня сейчас такой план на неделю:
- Я сейчас отвлекся от текущей разработки с видимыми результатами и прорабатываю характеристики неписей в соответствии с SPECIAL-системой. Очень мне нравится эта система, четкая и понятная. Все формулы конкретные. Так что, если всё пойдет нормально, через недельку уже будут нормальные статсы, атрибуты и немного навыков - какие бесспорно подойдут.
- Из той-же оперы - хочу предварительно инвентарь накидать и какие-то первые предметы.
- Бег и стамину.
- Добавлю показатель страха, но он пока ни на что влиять не будет и триггеров для него пока тоже не будет.
- Очень хочу сделать подвалы и катакомбы (видимо привычка к рогаликам с подземельями сказывается). Генераторы для этого есть. Но тут небольшая проблема: сейчас карта в 2000*2000 тайлов выделяется в памяти согласно профилировщику 1.5 секунды, плюс миникарта 200*200 - еще с полсекунды. Если добавлю уровень подвалов, да уровень катакомб - будет еще 4-5 секунд. Либо выносить выделение памяти под уровни из загрузки программы в генерацию новой игры, либо придумывать новый способ управления уровнями. Пока мысли крутятся вокруг выделения памяти блоками по 10*10 тайлов, когда к ним обращение идет. Но и тут: в момент инициализации основного слоя травой идет заполнение всего уровня и выделение будет опять-же монолитным. Засада какая-то. Подземелья - то же самое... Да еще каждый уровень в 2*2 тыс. тайлов лопает по 120 мегов оперативки. Как ни крути, но еще уменьшить размер тайла некуда... И так самый минимум

В общем прототип потихоньку обрастает всякими плюшками. Как сделаю характеристики персонажа, предметы с инвентарем и первых враждебных персонажей - можно будет обозначить версию 0.1

Тут еще одна идея для затравки была, кому интересно. Может понравится некоторым. Суть в том, что если сделать внятный API города и игры, плюс логичный способ путешествия протагониста между подгружаемыми городами, плюс возможность добавления модулей с новыми городами и правилами их обработки.... В общем можно будет реализовать возможность сделать, к примеру, Silent Hill, фанатами этой игры



Совершенство - это не тогда, когда уже нечего добавить,
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
Re: MysteriesRL
Это пахнет все сериализацией и загрузкой и выгрузкой чанков карты на ходу. Возможно еще и их генерацией во время загрузки.либо придумывать новый способ управления уровнями
- Alchemist
- Мастер
- Сообщения: 203
- Зарегистрирован: 13 дек 2006, 09:15
- Откуда: Нижний Тагил, Иваново
- Контактная информация:
Re: MysteriesRL
Кстати, вопрос к тем, кто пробовал новую версию: тормоза и нагрузка на проц уменьшились? Стало лучше или нововведения эффекта не дали?
Совершенство - это не тогда, когда уже нечего добавить,
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
Re: MysteriesRL
Неет) The Guild, симулятор средневекового жителя)Alchemist писал(а): Подскажи конкретную ссылку на игру, плиз!Ты Guild имеешь в виду или что-то другое? Т.к. я сейчас почитал описание Guild на roguebasin и не увидел ничего похожего
Я правда в него не играл, но описание не вдохновило и не показало ничего похожего... Наверное описание плохое
http://www.ag.ru/games/guild-2
- Cfyz
- Сообщения: 776
- Зарегистрирован: 30 ноя 2006, 10:03
- Откуда: Санкт-Петербург
- Контактная информация:
Re: MysteriesRL
Советы по решению таких проблем всегда получаются какие-то капитанские =_=. Если уровень в память не помещается, то не надо его там хранить целиком. Можно сделать менеджер карт, при котором у карты будет обычный интерфейс, но внутри массив будет разбит на блоки и автоматически свапиться с диском. Самым простым вариантом будет держать в памяти только 3x3 блоков карты с центральным в котором в данный момент находится игрок. Но это, правда, может плохо работать для живого мира, где надо постоянно обсчитывать множество объекты в произвольных участках карты. Возможно, имеет смысл на данном этапе забить на проблему потребления памяти (в конце концов совеременные ОС тоже свапить умеют) и сотредоточиться на механике. Когда будет окончательно известно что и в какой момент может потребоваться от карты, можно будет подменить ее оптимизированной штукой, сохранив интерфейс -- это уже более-менее обычная инженерная задача.Alchemist писал(а):Но тут небольшая проблема: сейчас карта в 2000*2000 тайлов выделяется в памяти согласно профилировщику 1.5 секунды, плюс миникарта 200*200 - еще с полсекунды. <...> Да еще каждый уровень в 2*2 тыс. тайлов лопает по 120 мегов оперативки. Как ни крути, но еще уменьшить размер тайла некуда...
В "простое" загрузка CPU стала меньше; при движении, особенно на исследованной карте -- все так же, под целое ядро. Меня правда смущает, что при беге как-будто бы проскакивают клетки и это создает эффект подтормаживания (низкого FPS). Причем выглядит это одинаково что на десктопе (5-25% CPU), что на хилом нетбуке (50%+), так что вероятно это не проблема потолка производительности.Alchemist писал(а):Кстати, вопрос к тем, кто пробовал новую версию: тормоза и нагрузка на проц уменьшились? Стало лучше или нововведения эффекта не дали?
Кстати, про нетбуки. В 1024x600 окошко заметно не влазит: карта еще с горем пополам, а вот панели уже не очень. Причем при 9" экрана, 8x8 пикселей это площадь повехности макового зернышка =).
В свете чего есть пара вопросов, весьма праздных впрочем, но уж чтоб два раза не вставать: а какую минимальную конфигурацию предполагаешь поддерживать? CPU, RAM, размер экрана (порядок). Планируется ли использовать GPU? Каков минимальный размер, в клетках, карты на экране?
Пытается раскуклиться
- Alchemist
- Мастер
- Сообщения: 203
- Зарегистрирован: 13 дек 2006, 09:15
- Откуда: Нижний Тагил, Иваново
- Контактная информация:
Re: MysteriesRL
Не видел, но теперь весьма заинтересовалсяDenox писал(а):Неет) The Guild, симулятор средневекового жителя)
http://www.ag.ru/games/guild-2

Пока что меня больше беспокоит не расход памяти, а накладные расходы по времени, которые образуются в момент запуска игры. Пока-то они невелики, но если я добавлю еще три слоя карты (подвалы, катакомбы и минимум - один дополнительный этаж зданий) - это будет хана. Основная идея, вокруг которой крутятся мысли - именно введение менеджера карт с сегментированной подгрузкой. Насчет живого мира, тут своя идея: дело в том, что у меня все объекты карты, здания к примеру, представлены как рендеренным образом в тайлах на карте, так и отдельными объектами с дополнительными свойствами. Поэтому при сегментированной обработке, в памяти можно держать только отдельные сегменты карты, и всю модель города. Это позволит городу "жить", с минимумом обращений к карте. А рендеринг изменений карты (открытие/закрытие дверей и т.п.) обрабатывать только тогда, когда это происходит в поле зрения игрока. Но это задел на будущее, буду думать пока...Cfyz писал(а):Если уровень в память не помещается, то не надо его там хранить целиком. Можно сделать менеджер карт, при котором у карты будет обычный интерфейс, но внутри массив будет разбит на блоки и автоматически свапиться с диском. Самым простым вариантом будет держать в памяти только 3x3 блоков карты с центральным в котором в данный момент находится игрок. Но это, правда, может плохо работать для живого мира, где надо постоянно обсчитывать множество объекты в произвольных участках карты. Возможно, имеет смысл на данном этапе забить на проблему потребления памяти (в конце концов совеременные ОС тоже свапить умеют) и сотредоточиться на механике. Когда будет окончательно известно что и в какой момент может потребоваться от карты, можно будет подменить ее оптимизированной штукой, сохранив интерфейс -- это уже более-менее обычная инженерная задача.
Насчет загрузки проца при движении, и проскакивания тайлов - жальCfyz писал(а):В "простое" загрузка CPU стала меньше; при движении, особенно на исследованной карте -- все так же, под целое ядро. Меня правда смущает, что при беге как-будто бы проскакивают клетки и это создает эффект подтормаживания (низкого FPS). Причем выглядит это одинаково что на десктопе (5-25% CPU), что на хилом нетбуке (50%+), так что вероятно это не проблема потолка производительности.
Кстати, про нетбуки. В 1024x600 окошко заметно не влазит: карта еще с горем пополам, а вот панели уже не очень. Причем при 9" экрана, 8x8 пикселей это площадь повехности макового зернышка =).
В свете чего есть пара вопросов, весьма праздных впрочем, но уж чтоб два раза не вставать: а какую минимальную конфигурацию предполагаешь поддерживать? CPU, RAM, размер экрана (порядок). Планируется ли использовать GPU? Каков минимальный размер, в клетках, карты на экране?

По разрешению: текущие размеры окна подбирались только на время прототипа, чтобы можно было видеть как можно большую площадь карты. Уже сейчас это излишне. Размер окна эмулятора терминала сейчас = 160*80 символов. GPU использовать не хочу. Вся соль текущего проекта - сделать рогалик заданного сеттинга на чистой яве, без дополнительных библиотек. Оперативки уже сейчас игра ест от 280 до 400 мегов. Из профилировщика знаю, куда тратится память, но пока ничего оптимизировать не буду. Планирую расти вплоть до 1.5 гигов, потом это будет перебор


Размер окна терминала буду уменьшать. Вдобавок буду увеличивать размер тайла минимум до 10*10. Сейчас использую растровый шрифт 866 кодировки с размером символа 8*8. Карта выглядит еще вполне ничего. Но подряд идущие строки текста, для моего зрения превращаются в нечитабельное нечто, от которого болят глаза. Пробовал использовать ttf шрифт с юникодом, но даже у лучших моноширинных шрифтов нет равенства ширины и высоты, не подходят, т.к. мне обязательно нужны квадратные символы. Буду собирать мысли и силы в кучку, и рисовать новый шрифт. В идеале - нужны все три шрифта: 8x8, 10x10 и 12x12, с возможностью выбора пользователем. В 437 кодировке есть все три растра, нашел в инете. Но для русского текста - удалось найти только 8x8 (и 866, и КОИ, и другие). Подошла бы любая альтернативная нужных размеров - и КОИ, и RUSCII. Но нету

Пока что, в черновом варианте прорабатывались мысли о минимальном размере окна игры под разрешение 800*600. В идеале бы сделать возможность настройки, но это весь внутренний гуй придется делать плавающим. Такой гемор...

Совершенство - это не тогда, когда уже нечего добавить,
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
но тогда, когда уже ничего нельзя убрать.
Антуан де Сент-Экзюпери.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей