ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
| » UEF -- виртуальный мир и игра на его основе. | страница 47 |
|
|
|
|
Канал Игры Мечты: «UEF -- виртуальный мир и игра на его основе.» |
|
| В силах ли мы сделать такую игру, или будем ждать попутного ветра с запада? |
| Нужно много денег чтоб это осуществить. |
|
32% |
[ 30 ] |
| Не боги горшки обжигают, мы не хуже других. |
|
67% |
[ 61 ] |
|
| Всего проголосовало : 91 |
|
|
|
бухой джедай
183 EGP
  Рейтинг канала: 2(19) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007
 |
|
функциональное програмирование это взрыв на макаронной фабрике
добавлено спустя 32 секунды:
его единственое приемушество оно чучуть быстрее ооп ...
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист...
Последний раз редактировалось: бухой джедай (01:38 16-06-2009), всего редактировалось 1 раз |
|
|
|
ZZZ
70 EGP
 Рейтинг канала: 2(22) Репутация: 13 Сообщения: 225 Откуда: Краснодарский край Зарегистрирован: 20.03.2009
 |
|
Ни то, ни другое не верно.
1. Просто в него въехать надо.
2. Язык, это только набор правил, а как и насколько оптимизировано, ты его потом в машинный код перегонять будешь, это вопрос отдельный. Нельзя говорить, что скорость краски запорожца быстрее скорости краски ферарри...
P.S. Да, кстати, а что с названием темы? "Вопрос" ей не к лицу...
_________________ It's good to be bad...
Последний раз редактировалось: ZZZ (03:31 16-06-2009), всего редактировалось 1 раз |
|
|
|
бухой джедай
183 EGP
  Рейтинг канала: 2(19) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007
 |
|
| ZZZ : |
|
Язык, это только набор правил, а как и насколько оптимизировано, ты его потом в машинный код перегонять будешь, это вопрос отдельный. Нельзя говорить, что скорость краски запорожца быстрее скорости краски ферарри...
|
любая иерархия жрет время на то чтоб в ней разбирались буть то люди или компьютеры ... ооп медленннее функционального кода ... правда для современных кмпьютеров это не сушественно
| ZZZ : |
|
Просто в него въехать надо.
|
вьезжай не вьезжай всеравно рано или поздно у тебя будет слишком много функций и глобальных переменных ...
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист... |
|
|
|
ZZZ
70 EGP
 Рейтинг канала: 2(22) Репутация: 13 Сообщения: 225 Откуда: Краснодарский край Зарегистрирован: 20.03.2009
 |
|
| бухой джедай : |
|
любая иерархия жрет время на то чтоб в ней разбирались буть то люди или компьютеры ... ооп медленннее функционального кода ... правда для современных кмпьютеров это не сушественно
|
Это уже проблемы реализации перевода кода языка программирования в машинный код. Пойми, нельзя сравнивать ЯП по скорости. Ну просто нельзя. Нет у ЯП такого параметра, не будет и не надо.
А если уж сравнивать скорость, то сравни Си_с_плюшками от GNU и тот же OCAML. Боюсь, что последний проиграет в большинстве тестов. В подавляющем большинстве.
| бухой джедай : |
|
вьезжай не вьезжай всеравно рано или поздно у тебя будет слишком много функций и глобальных переменных ...
|
Я же говорю, для небольших задач замечательно использую OCAML. И мне нравится результат. Но не более.
_________________ It's good to be bad... |
|
|
|
бухой джедай
183 EGP
  Рейтинг канала: 2(19) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007
 |
|
в топку все.....
смотрим мы на задачу пока с разных уровней я смотрю с уровня человека кой чего знаюшего но не пользуюшегося (ибо учеба некогда )
а ты с точки зрения профи ...
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист... |
|
|
|
ZZZ
70 EGP
 Рейтинг канала: 2(22) Репутация: 13 Сообщения: 225 Откуда: Краснодарский край Зарегистрирован: 20.03.2009
 |
|
| бухой джедай : |
в топку все.....
смотрим мы на задачу пока с разных уровней я смотрю с уровня человека кой чего знаюшего но не пользуюшегося (ибо учеба некогда )
|
Ну вот я тебя и направляю на путь истины и просветления... Аминь.
| бухой джедай : |
|
а ты с точки зрения профи ...
|
И чего ж мне так не весело?
_________________ It's good to be bad... |
|
|
|
бухой джедай
183 EGP
  Рейтинг канала: 2(19) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007
 |
|
| ZZZ : |
|
И чего ж мне так не весело?
|
хз ...
| ZZZ : |
|
Ну вот я тебя и направляю на путь истины и просветления... Аминь.
|
пока для меня сей путь закрыт ибо ........
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист... |
|
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
| бухой джедай : |
|
ооп медленннее функционального кода ... правда для современных кмпьютеров это не сушественно
|
Это несущественно для одного объекта. А когда их в памяти тыщщи, это существеннее в тыщщу раз
Сам я объекты не очень люблю, по той причине, что это вещи в себе, управление которыми выполняется недрами компилятора, линкера и прочего RADа Хотя некоторые задачи имеют великолепное решение именно на ООП и корявое без них. Кстати псевдоинтелект реализуется на объектах зачастую проще и прозрачнее, хотя сильно зависит от специфики этого самого ПИ. А для эмпирик и прочих задач по оперированию знаниями иногда действительно более юзабелен Пролог и иже с ним.
_________________ У меня бисера не доxеpа. |
|
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1421 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
| ZZZ : |
|
Мне остаётся лишь повторить то, что я уже сказал: вы просто не понимаете ООП и поэтому вам кажется, что "функциональный стиль" легче.
|
Вопрос не в том что легче или понятнее для меня, а в том что считаю более всего подходит для реализации моей задачи.
Называйте это ересью, святотатством или просто моим личным помешательством, но вот как я вижу структуру проекта UEF:
1. В распределённой базе данных хранятся все без исключения данные, это константы, формулы и простые алгоритмы (подпрограммы, функции, процедуры), а также динамические данные отражающие текущее состояние каждого зарегестрированного в системе объекта вселенной UEF.
2. Децентрализованная система менеджеров обработчиков событий, запускающая экземпляры обработчиков событий в соответствие с потребностью системы, прекращающая их деятельности при простое либо зависании (зацикливании), а также осуществляющая сравнение версий обработчиков событий на устойчивость и эффективность работы.
3. Обработчики событий не содержат в себе функций и алгоритмов, а поэтому имеют небольшой объём кода, обработка события происходит за счёт выборки подходящих функций из базы данных вместе с другими данными и комбинирования их между собой в зависимости от решаемой задачи.
4. Для повышения быстродействия системы прилагаются максимальные усилия для оптимизации кода на выполнение паралельных вычислений. Основная вычислительная мощь направляется на ускорение вывода и ввода данных в СУБД.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
|
Digited
271 EGP
   Рейтинг канала: 4(99) Репутация: 49 Сообщения: 932
Зарегистрирован: 24.08.2004
 |
|
| Zachesa : |
|
вот как я вижу структуру проекта UEF: (мысли по архитектуре серверной части игры)
|
| Zachesa : |
|
Уже не раз говорил о том, что я не программист и не математик, а скорее философ.
|
...
Последний раз редактировалось: Digited (11:39 16-06-2009), всего редактировалось 1 раз |
|
|
|
Ashen
135 EGP
  Репутация: 4 Сообщения: 101 Откуда: Омский сектор Зарегистрирован: 20.05.2004
 |
|
| Rattus : |
| Ashen : |
|
Есть мнение, что для этого больше подходят логические языки (Prolog, Curry)
|
А может сразу Рефал или ЛиспЪ?
|
Пролог таки православнее Ну а лиспъ, ну а почему не хаскелл?
_________________ filterM (const [True, False]) |
|
|
|
ZZZ
70 EGP
 Рейтинг канала: 2(22) Репутация: 13 Сообщения: 225 Откуда: Краснодарский край Зарегистрирован: 20.03.2009
 |
|
| Zachesa : |
|
Вопрос не в том что легче или понятнее для меня, а в том что считаю более всего подходит для реализации моей задачи.
|
Интересный подход. Очень напоминает детскую или женскую логику. Не примите за оскорбление, но это прямо по принципу:
-- Хочу так и всё!
-- А почему?
-- Потому что считаю, что так будет лучше!
-- Но ведь... -- тут следует перечень недостатков этого "так".
-- Хочу так и всё!
Знаете, Павел, я ведь высказал общую мысль. Не я один так думаю, а подавляющее большинство людей, читающих эту тему. И всё потому, что вы ни разу внятно не аргументировали свою позицию. Да, я хорошо подумал, прежде чем это написать, почитал посты... Больше часа времени между прочим. Моего времени, которым я, кстати, дорожу, даже не смотря на моё нынешнее положение.
Хорошо, я готов понять то, что вы в голове уже давно всё это представили и понимаете каждый закоулок системы, но объяснить свою мысль нормально не можете. Знаний не хватает, да и язык не как у наших политиков. Ладно. Хорошо. Тогда вот вы постройте простую систему по перечисленным выше четырём пунктам. И можно будет реально думать о том, правы вы, или ошибаетесь. Стоит вам помогать, или так и будем флудить ни о чём.
| Zachesa : |
|
Называйте это ересью, святотатством или просто моим личным помешательством, но вот как я вижу структуру проекта UEF:
|
Дело не в том, что это ересь, или не ересь. Просто невозможно таким образом получить сколько-нибудь маштабируемую систему, со сколько-нибудь удовлетворительной производительностью. Это я вам говорю как специалист, который сумел разглядеть в этой идее разумное зерно. Но не сегодня. Лет через десять. И не одним программистом философом, а каким-нить гууглом с многолетним опытом разработки.
Павел, который раз вам об этом говорю: сделайте маленькую систему, от которой сможете оттолкнуться. Просто без графики, одними цифрами. Чтобы можно было замерить производительность. Уверяю вас, вы сразу же забудете о таком подходе и, если не откажетесь от игры, начнёте искать более реальный подход.
| Ashen : |
|
Ну а лиспъ, ну а почему не хаскелл?
|
Много вы знаете программ на хаскеле? Ну да, был какой-то тайловый оконный менеджер для иксов... Что ещё?
А на лиспе Emacs. Почти операционная система.
_________________ It's good to be bad... |
|
|
|
Rattus
951 EGP
       Рейтинг канала: 4(57) Репутация: 119 Сообщения: 3072 Откуда: в этом предложении двоеточие? Зарегистрирован: 11.03.2004
 |
|
| ZZZ : |
|
Много вы знаете программ на хаскеле?
|
Вот! Именно поэтому! Будет первая в Истории игра на хаскеле!
_________________ ככצק גתמ גןככסקкאן! |
|
|
|
ZZZ
70 EGP
 Рейтинг канала: 2(22) Репутация: 13 Сообщения: 225 Откуда: Краснодарский край Зарегистрирован: 20.03.2009
 |
|
Я уже лёг спать и мне влом выслушивать ответы на вопрос гууглу: haskell+game... Другое дело, что ничего крупного нет и не предвидится... Но это уже частности...
Мне перед сном в голову пришла мегамысль: ведь когда (и если!) начнёт организовываться система, описанная Павлом, то всё равно будут введены понятия объекта и их наследования. Не важно на каком языке это будет написано, просто эти объекты хранятся в СУРБД, имеют свои атрибуты... Блин, мозги уже не варят, но будет оно именно так. И всё-таки это всё через /dev/
_________________ It's good to be bad... |
|
|
|
Ashen
135 EGP
  Репутация: 4 Сообщения: 101 Откуда: Омский сектор Зарегистрирован: 20.05.2004
 |
|
| Rattus : |
|
Будет первая в Истории игра на хаскеле
|
Будет не первая и даже далеко не вторая. А вот на лиспъ, игр, действительно не припоминаю.
| ZZZ : |
|
Много вы знаете программ на хаскеле?
|
Вы много знаете игр на лиспе? С удовольствием бы посмотрел на их код.
_________________ filterM (const [True, False])
Последний раз редактировалось: Ashen (07:22 17-06-2009), всего редактировалось 1 раз |
|
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1421 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
| ZZZ : |
|
когда (и если!) начнёт организовываться система, описанная Павлом, то всё равно будут введены понятия объекта и их наследования. Не важно на каком языке это будет написано, просто эти объекты хранятся в СУРБД, имеют свои атрибуты...
|
Да объекты и их атрибуты будут, более того именно с разруливания видов объектов и сущностей я и начал разработку системы и соответственно описание объектов и их атрибутов размещается непосредственно в базе данных, но вот всего остального что присуще ООП -- методов, интерфейсов, наследования и прочее в системе не предвидется.
Самое главное почему я хочу сделать так, а не иначе именно в том отличии ООП от функционального программирования, что функции (методы) в ООП привязываются к объекту намертво, а в моей системе необходимо чтоб функции были независимы от объектов, существовали сами по себе.
Такой пример из ООП: камень -- объект, бросить камень -- метод. Кирпич объект производный от камня (искусственный камень), построить из кирпича, бросить кирпич (унаследованно). Тут вроде всё просто, но бросить можно и любой другой предмет помещающийся в руку и имеющий подходящую плотность и массу. Как поступит программист ООП? В каждый объект который можно бросить пропишет этот метод или будет использовать наследование, а когда объектов тысячи и методов ещё больше!? Множественное наследование или какие там ещё бывают ухищрения...
В UEF функции (методы объектов) не привязанны к конкретному объекту, а как бы имеют собственные атрибуты (не совсем грамотно, просто не пришло больше ничего в голову) и применение каких либо функций к конкретному объекту определяет обработчик событий. То есть бросить можно будет и камень и кирпич и стакан и отрубленную голову противника...
добавлено спустя 8 минут:
По поводу простой системы без графики всё правильно, одни цифры и текст именно с этого проект и начинается. Привесить к этому графику и звук это уже следующий этап.
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
Последний раз редактировалось: Zachesa (08:06 17-06-2009), всего редактировалось 1 раз |
|
|
|
Sh.Tac.
151 EGP
  Рейтинг канала: 5(108) Репутация: 14 Сообщения: 1426
Зарегистрирован: 27.07.2005
 |
|
| Zachesa : |
|
именно в том отличии ООП от функционального программирования, что функции (методы) в ООП привязываются к объекту намертво, а в моей системе необходимо чтоб функции были независимы от объектов, существовали сами по себе.
|
| Цитата: |
|
Множественное наследование или какие там ещё бывают ухищрения...
|
кроме ООП и функциональной есть ещё одна парадигма, - обобщённое программирование ОП (GP)
там алгоритм может работать вообще с любыми объектами
главное, чтобы тип/класс объекта имел т.н. "контракт"
т.е. фактически определял сигнатуру метода, вызываемого из обощённого алгоритма
классическим примером служит концепция (контракт) LessThanComparable, который сводится к наличию оператора "<" (меньше) для алгоритма сортировки
_________________ This is what you get ...
(c) Radiohead
Последний раз редактировалось: Sh.Tac. (02:02 18-06-2009), всего редактировалось 1 раз |
|
|
|
ZZZ
70 EGP
 Рейтинг канала: 2(22) Репутация: 13 Сообщения: 225 Откуда: Краснодарский край Зарегистрирован: 20.03.2009
 |
|
Ashen: http://tinyurl.com/n2ydgj
Но в общем-то, не на много дальше тетриса...
Ну что ж, настало время вам прозреть! Такой подход даже название своё имеет (не помню, не спрашивайте)... Вот только им уже никто не пользуется. Потому что изжил себя. Посмотрите, например, на gtk. Он написан на чистом Си, где нет объектов и при этом даёт довольно неплохую (для своего времени) объектную систему. И в противовес ему Qt. Тогда ещё Qt2. Написанный на C++, пусть и имеющий множество недостатков... И где сегодня gtk? Был переписан и переименован в gtk+. Угадайте-ка с трёх раз, что означает этот плюс? И тогда ребята потеряли кучу времени на переработку, а Qt вырвалась вперёд и сегодня является дочерней компанией Nokia.
Это было так, немного истории.
| Zachesa : |
|
Как поступит программист ООП?
|
Как я и говорил, вы даже приблизительно не представляете то, о чём говорите. Да, если мне придётся добавить одинаковый метод для набора объектов, я добавлю его в общем родителе. И это единственно правильный и понятный подход.
Кстати, прошу заметить, что методы объектов, которые находятся где-то в родителях, там и находятся. они не копируются каждый раз (если вы боитесь забить ими память), а просто вызываются в нужное время с нужным окружением. Но всё это основы ООП, которые лучше один раз увидеть, чем семь раз отрезать.
Мой большой совет. Возьмите питон и попробуйте по-программировать на нём. ИМХО, там самая простая и человекопонятная объектная система. Если будут вопросы -- пишите, подскажу. Но пока вы не поймёте, как оно работает, мечты так и останутся мечтами из-за незнания "других путей".
| Zachesa : |
|
По поводу простой системы без графики всё правильно, одни цифры и текст именно с этого проект и начинается. Привесить к этому графику и звук это уже следующий этап.
|
Вы меня не поняли, либо ушли от ответа. Разработайте маленькую систему. Понимаете? Без тысяч объектов и сотен формул, а самый минимум. По принципу Скальпеля Оккама, или, если вам так больше нравится, KISS.
| Sh.Tac. : |
|
кроме ООП и функциональной есть ещё одна парадигма
|
И не одна...
_________________ It's good to be bad...
Последний раз редактировалось: ZZZ (02:58 18-06-2009), всего редактировалось 2 раз(а) |
|
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1421 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
| ZZZ : |
|
Вы меня не поняли, либо ушли от ответа. Разработайте маленькую систему.
|
Скорее всего ушёл от ответа если честно Маленькие и большие системы ведут себя по разному. Не ставлю перед собой задачу глубоко изучить все возможные методы и подходы в программировании и построении систем. У меня цель одна сделать -- виртуальный мир.
| ZZZ : |
|
настало время вам прозреть! Такой подход даже название своё имеет
|
Не расчитываю ни на какое первенство и до названия мне глубоко пораллельно. Важно то что что такой путь мне кажется (представляется, видется) наиболее подходящим и удобным для решения моей задачи. Основные доводы я уже приводил. Повторю ещё раз (с некоторыми дополнениями):
Структура серверной части проекта UEF:
1. В распределённой базе данных хранятся все без исключения данные, это константы, формулы и простые алгоритмы (подпрограммы, функции, процедуры), а также статичные и динамические данные отражающие текущее состояние зарегестрированных в системе объектов и сущностей виртуального мира UEF. Объекты (и сущности) имеют наборы постоянных и изменяемых свойств, возможность применения функции к объекту или сущности зависит от определённого набора этих свойств и диапазона их состояний.
2. Децентрализованная система менеджеров обработчиков событий, запускающая экземпляры обработчиков событий в соответствие с потребностью системы (возникновение новых событий) прекращающая их деятельность при простое либо зависании (зацикливании), а также осуществляющая сравнение версий обработчиков событий на устойчивость и эффективность работы.
3. Обработчики событий не содержат в себе функций и алгоритмов, а поэтому имеют небольшой объём кода, обработка события происходит за счёт выборки подходящих функций из базы данных вместе с другими данными и комбинирования их между собой в зависимости от решаемой задачи. Применённые комбинации функций и использованные данные кешируются в оперативной памяти для ускорения доступа к постоянно используемым данным и функциям.
4. Для повышения быстродействия системы прилагаются максимальные усилия для оптимизации кода на выполнение паралельных вычислений. Основная вычислительная мощь направляется на ускорение вывода и ввода данных в СУБД. Для повышения быстродействия и устойчивости системы виртуальный мир делится на логически обособленные группы объектов (звёздные системы, крупные объединения, возможно отдельные высокоразвитые планеты) которые обслуживаются своим комплектом менеджеров системы.
5. Каждое действие над объектами легко документируется средствами СУБД, что позволяет на основе журналов обращений к базе и модификации значений просматривать историю. Создание новых объектов легко контролируемо, нет необходимости в их уничтожении. При физическом уничтожении экземпляра объекта, записи о нём не уничтожаются, а просто записывается, что объект был уничтожен когда и по какой причине.
Система не будет содержать больших программ. Каждая программа (менеджер системы, обработчик события) легко модифицируется. Любая функция может менятся на лету, может иметь варианты (версии) по быстродействию и точности. Данные доступны для любого обработчика событий, что позволяет менять логику работы элементов системы на ходу без правки кода вообще! Добавил новый алгоритм (функцию) и определённое событие обрабатывается по новому алгоритму.
Это основные аргументы моей идеи, ZZZ что в ней не так, без всяких там парадигм и прочих высоких материй?
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
Последний раз редактировалось: Zachesa (09:24 18-06-2009), всего редактировалось 2 раз(а) |
|
|
|
Zachesa
151 EGP
  Рейтинг канала: 4(95) Репутация: 13 Сообщения: 1421 Откуда: Хабаровск Зарегистрирован: 12.11.2007
 |
|
Objective CAML -- интересный язык, обязательно почитаю про него...
_________________ Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины. |
|
|
|
|
|
|
|
|
Канал Игры Мечты: «UEF -- виртуальный мир и игра на его основе.» |
|
|
| К списку каналов | Наверх страницы |
Цитата не в тему: Ибо логично предположить, что если недостаточно чего-либо для запуска чего-либо, то второе чего-либо, а именно то, для которого не хватает - вообще не должно запускаться. (неизвестный пилот)
|
| » UEF -- виртуальный мир и игра на его основе. | страница 47 |
|