1. В распределённой базе данных хранятся все без исключения данные,
это константы, формулы и простые алгоритмы (подпрограммы, функции,
процедуры), а также статичные и динамические данные отражающие текущее
состояние зарегестрированных в системе объектов и сущностей
виртуального мира UEF. Объекты (и сущности) имеют наборы постоянных и
изменяемых свойств, возможность применения функции к объекту или
сущности зависит от определённого набора этих свойств и диапазона их
состояний.
2. Децентрализованная система менеджеров обработчиков событий,
запускающая экземпляры обработчиков событий в соответствие с
потребностью системы (возникновение новых событий) прекращающая их
деятельность при простое либо зависании (зацикливании), а также
осуществляющая сравнение версий обработчиков событий на устойчивость и
эффективность работы.
3. Обработчики событий не содержат в себе функций и алгоритмов, а
поэтому имеют небольшой объём кода, обработка события происходит за
счёт выборки подходящих функций из базы данных вместе с другими
данными и комбинирования их между собой в зависимости от решаемой
задачи. Применённые комбинации функций и использованные данные
кешируются в оперативной памяти для ускорения доступа к постоянно
используемым данным и функциям.
4. Для повышения быстродействия системы прилагаются максимальные
усилия для оптимизации кода на выполнение паралельных вычислений.
Основная вычислительная мощь направляется на ускорение вывода и ввода
данных в СУБД. Для повышения быстродействия и устойчивости системы
виртуальный мир делится на логически обособленные группы объектов
(звёздные системы, крупные объединения, возможно отдельные
высокоразвитые планеты) которые обслуживаются своим комплектом
менеджеров системы.
5. Каждое действие над объектами легко документируется средствами
СУБД, что позволяет на основе журналов обращений к базе и модификации
значений просматривать историю. Создание новых объектов легко
контролируемо, нет необходимости в их уничтожении. При физическом
уничтожении экземпляра объекта, записи о нём не уничтожаются, а просто
записывается, что объект был уничтожен когда и по какой причине.
Система не будет содержать больших программ. Каждая программа
(менеджер системы, обработчик события) легко модифицируется. Любая
функция может менятся на лету, может иметь варианты (версии) по
быстродействию и точности. Данные доступны для любого обработчика
событий, что позволяет менять логику работы элементов системы на ходу
без правки кода вообще! Добавил новый алгоритм (функцию) и
определённое событие обрабатывается по новому алгоритму.
Ищу подходящий язык для реализации системы виртуального мира, думаю
что наиболее подходит функциональный язык, один из опытных
программистов предложил обратить внимание на Erlang.
Какие будут мнения у участников группы на этот счёт?
On 21 июн, 23:12, Дмитрий Омелечко <dvar...@gmail.com> wrote:
> а сколько землекопо-часов отведено заказчиком на этот кусок работы?
>
> 21 июня 2009 г. 13:55 пользователь Zachesa <zach...@ya.ru> написал:
http://python.su/forum/viewtopic.php?id=3996
и еще несколько форумов.
прожектёр.
Я не оч большой спец в эрланге но не припомню в нем намеков на мета
программирование.
Эрлангу можно предоставит роль управлять всем этим.
On Jun 23, 2:24 am, Дмитрий Омелечко <dvar...@gmail.com> wrote:
> почитал питоновский форум. к-то злые стали, наверное задели за джангу :)
> ядро системы похоже на грань ИИ + экспертная система. А посему нужна
> _ЧЕТКАЯ_ мат.задача после чего выбор языка вопрос прежде всего к команде.
> Напрашивается LISP для "мозга" :) На нем такие вещи легко пишутся, но тут
> вопрос снова таки последующей поддержки и кадров. Математика лучше пишется
> на языках для математиков.
>
> Веб-морда. Хоть рассылка и по Erlang тут я бы джангу так быстро тоже не
> сбрасывал. Если откинуть дурацкий ORM (а любой ORM есть зло) и все завязки к
> нему - то получаем достаточно не плохой фрейм, и разработчиков расплодилось
> что php-ков.
>
> Тут у меня попутно вопрос ewgi:http://code.google.com/p/ewgi/wiki/EWGISpecificationможно использовать в
> продакшн?
>
> SQL. Postgresql + plproxy + pgbouncer + londiste. - эта связочка не плохо
> бесплатно трудится на нагрузках.
>
> Опыт по использованию erlang в больших проектах у меня не большой, но он мне
> очень понравился, и все потенциальные дыры в производительности отписываю
> исключительно на нем. Было бы в команде больше увлеченных людей, может и
> большую часть веба тоже на erlang отписал.
>
> ЗЫ: Как знать, возможно у Вашего проекта большое будущее, при условии что
> задачи Вы будете ставить конкретнее.
>
> Удачи :)
>
> 22 июня 2009 г. 19:56 пользователь Mikhail Kashkin <mkash...@gmail.com>написал:
Более конкретные вопросы возможно появятся позже. Главная идея проекта
моделирование мира вместе с продвинутыми NPC с сильным упором на
алгоритмы искусственного интеллекта.
Вот ещё вопрос: дружит ли Эрланг с CUDA от NVIDIA?
Не обижайтесь, но я тоже придерживаюсь мнения о прожектёре
относительно вас.
--
Mikhail Kashkin
http://www.devcult.ru/
http://www.mediavirus.ru/
2009/8/4 Zachesa <zac...@ya.ru>:
--
Igor V Artamonov | www.artamonov.ru | ICQ: 120170178 | Skype: splixed
On 4 авг, 20:09, Igor Artamonov <i...@artamonov.ru> wrote:
> В каком конкретно месте у тебя возникли проблемы с производительностью ОСи?
> Приведи конкретный пример, его можно решать, иначе проблемы нет.
>
> 2009/8/4 Zachesa <zach...@ya.ru>:
Самое интересное, что это всё я писал до того, как мне предложили
обратить внимание на Эрланг :)
Программирование на Эрланге я изучаю для общего развития так сказать,
сам писать программы для проекта не буду, так как не имею достаточно
опыта программирования. Для проекта проработаны структура и
взаимосвязи объектов и сущностей виртуального мира, написан концепт.
Сделаны наброски по экономической и социальной моделям мира. Возможно
программисту работа геймдизайнера не совсем понятна, но это уж не мои
проблемы, а ваши. Вопросы задаю конкретные, не знаете что отвечать
молчите...
В общем конкретного вопроса, по делу, еще не было.
А вопросы типа "посоветуйте чтонить чтобы было круто, пока не знаю
зачем" ни в коем разе не считаются конкретными, даже наоборот.
2009/8/6 Zachesa <zac...@ya.ru>:
--