29 мая 2018 г.

Платежи по контрактам

Добавлен переход из списка контрактов в платежи: при клике на сумме платежей по контракту открывается список платежей и фильтруется по контракту и клиенту.

При добавлении нового платежа подтягиваются данные из фильтра по контракту и клиенту; если указан контракт, то в поле "Сумма" заносится остаток суммы по контракту.

22 мая 2018 г.

Обратная сторона Земли


Эпизод: «В начале»
Режим: Скриптовая сцена.
Время: 1 день, 12:00
Место: Гринтаун, Лаборатория «Эдем»
Действующие лица: ГГ, Аэлита
Цель: погружение игрока в атмосферу игры.


Крупным планом показан водопад. Затем камера отъезжает, скользя вдоль глади озера, захватывая панораму леса на берегу. Плотность деревьев достаточно высока, чтобы скрыть стенки купола и вначале создается ощущение, что мы находимся на берегу обычного лесного озера. Но вот камера снова скользит к берегу, сквозь деревья начинают проступать агрегаты и приборы, стоящие возле стены. Небольшой проход вдоль агрегатов, затем камера разворачивается и дается общий вид лаборатории. Камера постепенно поднимается вверх, вдоль купола, и зрителю открывается вся панорама: кольцевые ярусы, голубоватый купол, площадки на первом ярусе. Поднявшись до второго яруса, камера перемещается к площадке с компьютерным терминалом, где мы видим ГГ и Аэлиту, ведущих свой диалог.

ГГ: Я получил очень интересные результаты в последнем эксперименте, посмотри…
А: Да, количество вырабатываемого кислорода стало выше.
ГГ: Мне надо сделать ещё одну серию. Я хочу заменить ген ADR-543 на TRS-78, а затем испытать…
А: Извини, мне нужно сказать тебе что-то очень важное… Не знаю, как сказать тебе, но… я нарушила запрет Отца…
ГГ: Что? Ты открывала Запретный Контейнер? Как ты могла?!... Но… Что произошло?
А: Я узнала то, что может изменить нашу жизнь навсегда…
ГГ: И… что же в этом контейнере?

Аэлита протягивает руку. На ладони у неё блестит алмаз – 8-гранный искусственный кристалл, который используют для записи информации на атомарном уровне. ГГ берёт кристалл и устанавливает его в специальное гнездо на терминале. Затем он нажимает несколько кнопок на пульте управления. На экране пробегают какие-то надписи, геометрические фигуры, а затем начинается видеоряд.  В это время камера переводится на дисплей терминала, который расширяется на весь экран.



Эпизод: «Подавление бунта»
Режим: Скриптовая сцена.
Время: неизвестно
Место: Гринтаун, центральная площадь.
Действующие лица: несколько человек, логосы: Фобос, Деймос
Цель: Завязка, шок, конфликт.


Это запись, полученная с камеры видеонаблюдения, установленной на городской площади рядом со входом в лабораторию «Эдем». Слева видна толпа людей, они что-то кричат, размахивая руками, некоторые вооружены ручными бластерами. Справа – вход в лабораторию, возле закрытых дверей стоят два тяжеловооруженных логоса. Вокруг них светится защитное поле. Два человека пытаются приблизиться ко входу. Логос открывает огонь на поражение, яркая вспышка, и на месте человека остаётся только неясная тень, которая медленно растворяется в воздухе. Затем следует несколько выстрелов из бластеров, которые были отражены защитным полем логосов и опять серия вспышек… Весь экран становится белым.

Камера отъезжает от дисплея терминала и мы снова видим застывшие фигуры ГГ и Аэлиты.


Эпизод: «*»
Режим: Скриптовая сцена.
Время: 1 день, 12:10
Место: Гринтаун, Лаборатория «Эдем»
Действующие лица: ГГ, Аэлита
Цель:  переход к обучающему эпизоду «Белые одежды»


ГГ: В это невозможно поверить… Логосы никогда не применяли силы против людей... Что произошло? Почему?..
Аэлита: Я не знаю... Мне страшно…
ГГ: Мы можем использовать защитные костюмы… Я видел несколько на нашем складе, я сейчас принесу… Оставайся здесь…



Эпизод: «Белые одежды»
Режим: игровая сцена.
Время: 1 день, 12:11
Место: Гринтаун, Лаборатория «Эдем»
Действующие лица: ГГ
Цель:  обучение игрока перемещению в игровом мире и простому взаимодействию с предметами: воздействовать на предмет, подобрать предмет, использовать предмет.

Наш герой отправляется на поиски необходимого снаряжения. Для этого ему нужно пройти по мостику до первого яруса, немного пройтись по кругу и спуститься вниз. Если игрок внимательно смотрел эпизод «В начале», он сможет быстро сориентироваться, в каком месте лаборатории находится нужный ему шкаф с комбинезонами. Он имеет прозрачные дверцы. Внутри находятся 2 костюма, 2 пояса (интерфейс ношения предметов). При открывании шкафа ГГ оказывается полностью «укомплектованным»: костюм и пояс,  второй костюм – в левой руке, пояс – в правой. Эти предметы он должен отдать Аэлите, которая тут же  облачиться в новый костюмчик, что и послужит сигналом к переходу к следующей сцене. Ограничений по времени нет – теоретически ГГ может болтаться в лаборатории до бесконечности, наблюдая смену дня и ночи, наслаждаясь прекрасными видами сада. Ну, вполне может быть, что он не поддался на провокацию и хочет провести всю свою жизнь в этом прекрасном месте J.
Чтобы наш игрок не забывал о своем положении, музыкальный фон несколько меняется: шелест и плескание воды звучат тише, вместо жужжания пчел появляется тихий, но тревожный музыкальный фон, похожий временами на военный марш, временами на заупокойную песню.



Эпизод: «Изгнание»
Режим: Скриптовая сцена.
Время: 1 день
Место: Гринтаун, Лаборатория «Эдем»
Действующие лица: ГГ, Аэлита, логосы: Адонай, Фобос, Деймос
Цель:  развитие сюжета, дальнейшее погружение.

После того, как Аэлита облачается в комбинезон, камера переключается на главный вход в лабораторию. Массивные двери расходятся и в лабораторию входят два вооруженных логоса: Фобос и Деймос. За ними на небольшой платформе плывет по воздуху Адонай. Фобос и Деймос становятся справа и слева от входа, платформа проплывает над  поверхностью озера, поднимается  до уровня первого яруса и приближается к месту, где находятся ГГ и Аэлита.

Адонай: Рад видеть вас, друзья. Но что за странное облачение? Новые эсперименты?
ГГ: В нем мы чувствуем себя… безопасней.
Адонай: Я слышу страх и недоверие в твоем голосе. Неужели ты нарушил единственное условие, поставленное мной? Я дал тебе интересную работу, я оберегал тебя от любых неприятностей, создал лучшие условия для твоей жизни, а теперь… ты боишься меня? Ты не доверяешь мне, твоему Создателю?
ГГ: Я видел… Я не понимаю, почему логосы убивали людей, это… Ведь есть Закон – не убей, почему же логосы…
Адонай: Остановись, пока ты окончательно не разочаровал меня своими речами. Ты захотел узнать, что такое Добро и Зло. Что ж, ты вполне готов к этому и волен идти своей дорогой. Но знай, что с этой минуты дорога в лабораторию для тебя закрыта. Теперь ты сам будешь заботиться о себе и о своей…безопасности. Перед тем, как мы расстанемся, я хочу что бы ты знал – мои чувства к тебе не изменились. Я люблю тебя как сына и надеюсь, что ты найдешь правильные ответы на все свои вопросы. Я многому научил тебя, но многое тебе ещё предстоит узнать. Я уверен, тебе это пригодится…

С этими словами Адонай отдает ГГ тайм-кодер (через него реализуется механизм записи-восстановления игры). Он появляется в интерфейсе ГГ.

Адонай: Аэлита, я знал, что с твоим появлением в «Эдеме» возникнут неприятности. Произошло то, что рано или поздно должно было произойти. Для тебя у меня есть особый подарок, но получишь ты его не сейчас…  А теперь – уходите!

Аэлита со слезами на глазах (бедные программеры-аниматоры J) сбегает вниз, к выходу из лаборатории и выбегает наружу. Платформа Адоная поднимается ещё выше, почти к самому куполу.

Эпизод: «*»
Режим: игровая сцена.
Время: 1 день
Место: Гринтаун, Лаборатория «Эдем»
Действующие лица: ГГ, Аэлита, логосы: Адонай, Фобос, Деймос
Цель:  завершение вступления, переход к основному эпизоду


ГГ ничего не остаётся делать, как покинуть «Эдем». Играет трагическая музыка, шелеста листьев и журчания не слышно – отключены системы вентиляции и циркуляции воды. Роботы-дроиды замерли. Многие приборы и установки не работают. Общая картина трагичного расставания. У игрока  должно возникнуть желание как можно скорее покинуть это место, которое уже не кажется ему столь привлекательным. Как только ГГ входит в коридор, ведущий на городскую площадь, Фобос и Деймос следуют за ним, преграждая путь назад. Закрываются створки внутренних дверей. Аэлита стоит возле наружных створок. Слышися её неразборчивое всхлипывание и бормотание. Посреди коридора имеется четкая красная черта. Как только ГГ переходит за неё, сцена завершается.

Волшебное дерево

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


Пожалуй, оставлю для рассмотрения. Хотя не понятно, как это использовать для открытого игрового пространства. Например, можно изменять значения ключей (игровых переменных).

Отдельно стоит "Гиперкнига" - практически готовая система для создания и чтения гиперкниг. Однако, она требует улучшений: нужен нормальный формат хранения данных (html или xml), и со шрифтами что-то надо сделать - сейчас они выглядят безобразно, заползая за границы листа.

Сетевой сканер

Забавная штука, сделанная для администрации МАО "Седин". Фиксирует время включения/выключения компьютера, используя для этого команду PING


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

Попробовать сделать ремейк на платформе MyVisualDatabase (запускать с правами администратора, иначе пинг не работает). Кстати, давно хотел такую штуку, чтобы контролировать время, которое тратят дети на компьютерные игры. Правда, это будет работать до тех пор, пока они не догадаются отключить сетевой кабель :)

Пегас

Очередная засушенная живность. На это раз - база данных для хранения стихов с сайта стихиры. Уж не знаю, для чего это даже может быть нужно... Видимо, всё ещё ожидаю краха глобальной сети ))

Хотя, как инструмент для литературоведа или лингвиста - это вполне можно использовать: частотный анализ слов, звуков. Ритмический анализ (ударения). Так сказать, проверить искусство математикой.


Чуть раньше засушил анализатор текста: эта программа должна была понимать структуру текста, производить морфологический анализ слов, затем строить семантические деревья...


Oxigen. Art


Концепция юнита: модульность (движитель, корпус, вооружение, сенсоры и т.д) позволяет создавать юниты с различными характеристиками.




Варианты представления лабиринта. 

Впрочем, можно его сделать действительно многомерным. С другой стороны плоские карты никто не отменял. Очевидно, что человеку гораздо проще воспринимать плоские изображения, чем различные 3D визуализации.

Oxigen


Концепция

«Oxigen» - стратегия реального времени для PC, в которой игрок переносится в шахты марсианской энергетической системы, сталкивается с мощным интеллектом создателей этого комплекса, для покорения которого требуются не только сила, но и смекалка.
Описание игры. После нескольких лет колонизации Марса, недалеко от бурового комплекса обнаруживается развитая система шахт. Вначале она кажется заброшенной и пустынной, но вскоре выясняется, что это – энергетическая система, построенная неизвестной цивилизацией. Более того, она действует! В некоторых местах были обнаружены просторные пещеры правильной формы, внутри которых находится оборудование, назначение и принципы действия которого вполне очевидны: улавливание из окружающего пространства любых форм энергии и преобразование ее в электрическую! Бесценная находка – неистощимый источник энергии, мощность которого ограничена только размерами планеты. Управление генераторной станцией оказалось не сложным: нужно постепенно задействовать все 8 уловители рассеянной энергии, подключить дополнительные аккумуляторы электроэнергии. Для исследований сплетения тоннелей вы можете использовать нейтринный детектор, «просвечивающий» толщи базальта вокруг станции и генератор плазмы, который создает сгустки энегрии – шаровые молнии. Эти плазмоиды обладают способностью двигаться по лабиринтам тоннелей, а детектор анализирует их излучение, отображая всю полученную информацию на карте. Ваша цель – активировать другие станции и получить контроль над энергосистемой. Задача усложняется тем, что эта энергосистема оснащена мощным нейрокомпьютером, который, заметив ваши действия, начал активно сопротивляться, пытаясь вернуть контроль над системой себе.
Основные особенности игры. «Oxigen» отличается от других RTS тем, что это не военная стратегия, в игре не подразумевается никаких деструктивных действий. Топология игрового пространства представляет из себя граф, где каждый узел имеет 8 связей. Эти связи имеют различную длину, соединяя не только соседние, близко расположенные узлы, но могут вести в самые дальние точки карты. Таким образом, имитируется 4-х мерное «клеточное» поле со сложной геометрией, хотя сами связи отображены на плоскость. Юниты, которыми управляет игрок, неподвижны. Они изначально присутствуют на карте и новые не создаются, но в процессе игры необходимо получать над ними контроль и производить улучшение этих объектов по нескольким характеристикам. Визуально отображаются взаимодействия юнитов – перемещающиеся сгустки энергии, которые двигаются по лабиринтам между станциями. Таким образом, внимание игрока сосредотачивается в основном на принятии стратегических решений и планов развития. В игре присутствует и тактическая составляющая: для эффективного отражения «атак» противника используется возможность локального изменения топологии лабиринтов: некоторые выходы тоннелей внутри базы можно соединять временными переходами для «перенаправления» чужих зарядов. Интуитивно понятный, интерфейс позволяет быстро освоить управление игровым процессом. Игра обладает нелинейным сюжетом и несколькими финалами. Проигрыш эпизода не всегда означает окончание игры, иногда это приводит к дополнительному ветвлению сюжета. Факторами, определяющими победу в эпизоде, могут быть: захват всех юнитов, захват определённого юнита, ограничения времени, собранные ресурсы, получение информации о топологии игрового пространства. Поддерживается сетевая игра. Имеется возможность игры для 2-х игроков на одном компьютере.
Жанр игры: стратегия реального времени, космическая эра.
            Платформа реализации:  PC

Путешествие в кубе

Классический трёхмерный лабиринт, хотя не исключено и большее число
измерений...

Игра начинается с путешесвию по обычному дому, например, некой научной
лаборатории или институту. Комнаты, коридоры, лестницы, лифт...
Приключения начинаются с необычной лаборатории, где...

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

Мир представлен как двумерный массив, точнее, как шахматная доска:
8х8 клеточек. Каждая клеточка - тоочка наблюдения. Из каждой точки видно
4 стены, пол и потолок.

Размеры комнат:
1х1
2х1
1х2
2х2

Коридоры:
5х1
1х5

Если это коридор, и мы смотрим вдоль него, то видна перспектива, боковые повороты и двери.

На первом этаже (а действие будет ограничено пока только этим этажом)
находится 10 комнат, имеющих номер на двери:
1-7 лаборатории (закрыты на ключ)
8 библиотека
9 конференц-зал
10 столовая

Тип игры (игрушки): конструктор квестов. 

По внешнему виду напоминает Майнкрафт, дополнен удобными инструментами для создания новых игровых элементов, декорирования и создания квестовой составляющей.  

Игровой процесс. Перемещение по игровому пространству и взаимодействие с игровыми элементами.

Игровое пространство: лабиринт, наподобие того, который получается в майнкрафте. Состоит из кубиков-стен, которые можно декорировать различными текстурами и небольшими предметами (картины, полки, шкафы, окна и т.д.). Специальные блоки - двери. Они соединяют комнаты/коридоры. Могут запираться на ключи. 

Игровые элементы: некоторые кубики - это игровые предметы (наподобие печки или стола заклинания в майнкрафте). Каждый такой предмет может иметь свой игровой интерфейс. Он может быть простым, либо включать консоль для ввода текстовых или цифровых данных. Через игровые элементы производится обучение игрока реальным знаниям или умениям. 


Обязательно понадобятся карты  - хотя мир трехмерный, но с картами будет гораздо веселей :)









----------------
Велик соблазн написать мод или дополнение к стандартному Майнкрафту....

21 мая 2018 г.

АТС

Программа для просмотра содержимого памяти офисной АТС. Если не изменяет память, это был популярный в 2002 году Panasonic.

Цель - оперативный контроль звонков и расходов на междугороднюю связь. Заодно погонять менеджеров, чтобы не висели на телефоне по часу :)

3D склад


В 1998 году это казалось прикольным...

18 мая 2018 г.

Гусеница на дереве

Нашёл в своих архивах:


Представь себе дерево огромнейшей высоты. До неба. В самом низу сидит гусеница, которой очень хочется полакомиться листиками этого дерева. И она начинает ползти по этому дереву всё выше, выше, цепляясь лапками за веточки, сучёчки, кору… Зрение у гусеницы плохое, и всё приходится делать на ощупь: вытягиваться, переползать с ветки на ветку, искать подходящее местечко, чтобы закрепиться. И что обнаружила гусеница? Через каждый сантиметр на дереве растут 6 веток, на каждой ветке 9 листиков. Всего 54 листика, 6 из которых находятся на солнце, а остальные – в тени. Более того, все ветки, на которых растут листья – тоже в тени, да ещё переплетены самым причудливым образом … М-м-да… Конечно же гусенице хотелось понежиться на солнышке во время своего восхождения, но … совершенно было непонятно, как попасть на некоторые листья. Для этого нужно ползти по веткам, по другим листьям, то поднимаясь, то спускаясь. Да и к тому же хотелось попасть наверх как можно быстрее, т.е. нужно отыскать и запомнить самый быстрый путь наверх, к самым лакомым листочкам. Самые лакомые – это те, которые растут на солнце. Самое неприятное оказалось на высоте 150 метров: набежала тучка, и солнышко спряталось. Как же теперь отличить вкусные листья от невкусных? Все листья оказались в тени. Гусеница совсем опечалилась, но вдруг вспомнила, что пока она ползла наверх, она внимательно следила за тем, как растут ветки, и обнаружила весьма интересные факты, которые и помогли ей найти самую короткую дорогу наверх и более того! Она поняла, какие листья должны расти на солнце на каждом уровне.


       Ты скажешь: «Где же мы возьмём такую умную гусеницу?». А мы запустим на дерево десяток, сотню обычных. Пусть они там живут, едят листья и ползут наверх. Плодятся и размножаются, передавая потомкам информацию о дереве, на котором они живут. Выживать будут толь те, кто ползёт вверх: внизу-то все листья съедены. Ну, а те, которые доползут до самого верха будут умные-преумные. Главное, чтобы они не зазнались и рассказали нам с тобой, что же там на вершине дерева.


17 мая 2018 г.





Интересная планировка

Подсмотрел в каком-то видео про строительство домов в Германии. Планировка кажется очень удачной для такой площади дома.

На первом этаже прихожая, из которой ведут двери во все комнаты первого этажа и лестница на второй этаж. Общая комната соединена с кухней широкими дверями, что очень удобно для приёма гостей и позволяет создать большое пространство. В хозяйственной комнате - отопительная система, стиральная машина и сушилка для белья. В санузле кроме унитаза и раковины нашлось место для душевой  кабинки. Комната для гостей может быть рабочим кабинетом.

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


15 мая 2018 г.

14 мая 2018 г.

Рефакторинг

Доработана технология отображения форм. Теперь одну и ту же форму можно отображать как в модальном, так и в "приклееном" режиме. Это пригодится при вызове справочника для выбора значения, например, чтобы использовать штатные системы фильтрации/поиска, недоступные при выборе из выпадающего списка.


3 мая 2018 г.

Связывание



  • Добавлен переход между проектами и контрактами.
  • В статусной строке отображается путь подключения к базе данных
  • Формы редактирования доработаны так, что ввод данных можно начинать из любого списка. Например, можно добавить контракт, в котором определить нового клиента и новый проект: