Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > нейтрино-мир


Автор: neutrino 19.6.2010, 10:41
Приветствую! 

Что-то мне надоело писать компиляторы smile Подучил немного openGl. Вроде научился быстро отрисовывать что надо. Но самое главное понял как им вообще пользоваться. Теперь есть такие вопросы:
1) Для реальных игр подойдет ли openGL? Я вижу подавляющее большинство все же юзают технологии мелкомягких... Хотя хотелось бы кросс-платформенности...
2) Какую MMORPG вы знаете наиболее близкую к реальному миру? Есть у меня большой интерес написать физический симулятор, чтобы учитывал атомную структуру, магнитные и электрические поля и даже нейтрины. Подождите, выкиньте гнилые помидоры из рук, кидать ими будете потом smile Я все прекрасно понимаю на счет перформанса. Однако есть идеи как локализовать вычисления и сделать реально работающий мир.

Знаю, что разработку MMORPG для конечного числа кодеров - задание невыполнимое или как минимум очень трудное. Есть идеи как применить модель википедии для этого мира.

Мир хочется сделать реальным, и чтобы игроки в нем делали настоящие открытия и изобретения. В принципе это и будет являться своего рода "магией". В последствии думал сдлать по аналогии романа Вита - "Эпоха переселения душ" - переход в другие миры с другими базовыми физическими константами позволяющие использовать другие законы и следовательно "магию". 

Вот такой я наркоман. smile

Автор: DenWPF 19.6.2010, 10:48
я всегда мечтал MMORPG с симуляторами гонок самолетов вертолетов экшен.
что бы каждый прокачивал своё умение, ну там мастер вождения, мастер боя и т.д. и все это на карте планеты. начать с одной страны или города и все развиваться и развиваться.

Автор: neutrino 19.6.2010, 11:25
Может это звучит дико, но, по-моему вся эта фигатень с "прокачиванием" - полный отстой. Прокачивание должно быть в реальном мире, т.е. если ты много режешься в гоночки, то и следовательно умеешь хорошо управлять своей тачкой в игре. 

И так со всем. Серьезно. Для того, чтобы тебе "прокачать" скилл магии тебе надо почитать книгу в игре, тогда ты обзаведешься знаниями и "прокачаешься" в реале. Меня бесит вся эта фигатень с циферками. Коль мир должен быть реален, то и циферки тут нафик ненужны.

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

Автор: DenWPF 19.6.2010, 12:28
НУ ТАК делай там типо для программистов...прочитал книжку... программку написал  левал ап)
а без цифорок не выжить в нашем мире =p

Автор: bems 19.6.2010, 17:09
я джва года ждал такую игру

Автор: Bitter 19.6.2010, 17:37
Полностью согласен с neutrino. Прокачивание это и есть опыт игрока, а не персонажа в игре. Взять, например онлайн шутеры, в которых игроки со старта обладают одинаковыми характеристиками. Ведь всё равно кто-то играет плохо, а кто-то мастер в этой игре. Вот вам и прокачивание

Автор: Rickert 19.6.2010, 19:55
neutrino, собирался я как-то делать игрушку такую: есть мир магов, в нём четыре стихии этой магии. Изначально игроки ничего не умеют и попадают в академию, где им объясняют как "делать магию". Каждый игрок сам создаёт свои заклинания. Проделав их однажды и записав в книгу, потом он их воссоздаёт автоматом и таким образом кастует. Заклинания можно было бы комибинировать в более сложные, а также допускать в ритуал создания заклинаний магов дргуих стихий. Вот бы где всё зависело от людей и умений, а не от тупых циферек.
Дело тогда так и не начал писать, не было с кем.

Я вообще считаю, что век блокбастеров заканчивается, через лет 5 игры будут на новом уровне, гораздо более сложном по геймплею.

Автор: Rpahut 20.6.2010, 13:04
DX ближе к винде, соответственно и преимуществ у него больше при разработке для этих ОС. OpenGL может не хуже, но те вспомогательные которые у DX уже есть для него нужно писать ручками.

Все сегодняшние MMORPG это MUD с графикой. Из реального мира там только три измерения (а то и псевдо-3) и гравитация, на большее, кажется, никто пока не замахивался. Профит требует низкой нагрузки на сервер и возможности корректировать баланс мира - отсюда простота и те же циферки.

Я тоже циферки не люблю. Реально качается только кликательный палец. Но по поводу физики на уровне атомных структур не очень понял. Это же надо будет давать игроку возможность этими структурами как-то управлять, а иначе просчитывать их смысла не будет.

Автор: Rickert 20.6.2010, 17:52
Rpahut, об этом и речь.

Автор: neutrino 21.6.2010, 01:09
Привет!

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

Немного о физике. В игре думаю можно сделать два режима - основной (собственно ролевуха) и режим "мастера". В режим мастера переходим по нажатии на какую-нить кнопку. В этом режиме начинают действовать как раз те самые законы физики. В основном режиме они ( в основном) учитываться не будут. В режиме "мастера" можно мастерить все что угодно из подручных средств. Основной закон этой игры - сохранение материи. Можно сделать все что угодно, но объем материи до манипуляции с ней и после остается неизменным. Таким образом, чтобы построить избу из дерева, надо повалить лес, напилить и собрать. В процессе манипуляции материей обсчитывается физика, но нет интеракции этих физических законов с окружающим миром. Однако производная режима мастера - конечный продукт (изба) наделяется характеристиками которые используются в последствии для интеракции. Пример: Допустим урон от удара меча есть функция от его массы, остроты лезвия. В режиме "мастера" выплавляется меч и высчитывается урон. Но в процессе боя такие характеристики как масса и острота уже не учитываются, только урон учитывается. Еще пример - Мощь каменной стены зависит от размера блоков ее составляющих, типа материала... после постройки все это "компилируется" в "мощь". Ну и т.д. Идея думаю ясна. 

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

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

Я думаю это все нужно для того, чтобы дать игрокам уникальность. Если кто-то сделает себе меч сам, то второго такого не будет. Проблема: модели всех этих вещей должны быть у всех клиентов. Ну или у клиентов, которые с большой вероятностью смогут увидеть эту вещь (например находящиеся поблизости). Получается, что целый отстроенный город придется перекачивать на клиент. С другой стороны, поскольку строиться он будет постепенно, то и трафик особо это нагружать не должно.

Как по вашему вся эта мудотень? Конечно это не затрагивает пока истории. Может история будет развиваться сама по себе?

Автор: gcc 21.6.2010, 07:16
neutrino

1) надо написать алгортмы которые сами будут писать мир, а то писать очень много...

2) говорят что компьютеры для таких целей очень слабые, сначало надо сделать аналоговый компьютер!

http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%A4%D0%B5%D0%B9%D0%BD%D0%BC%D0%B0%D0%BD%D0%B0

http://www.opennet.ru/docs/RUS/perl_obzor/files/quantium.html

3) http://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D1%86%D0%B5%D0%BF%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C

http://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D1%83%D0%BF%D0%B5%D1%80%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D1%8F

http://ru.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BC%D0%B5%D1%85%D0%B0%D0%BD%D0%B8%D0%BA%D0%B0

http://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%8F_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%86%D0%B8%D1%8F

Автор: Rickert 21.6.2010, 07:18
neutrino, а теперь представь что в твой мир пришли 1000 первых игроков и каждый начал точить своё копьё, делать мечь, строить избу. Трафика надо немеряно, требование по объёмоспособности канала сразу возрастают. И дай бог 1/3 игроков с нашими каналами отвалится. Сразу встаёт вопрос: вот есть дерево, вот на нём текстура, теперь я пилю дерево пополам: откуда брать текстуру для места распила? Как пересчитать UV координаты?
А если игрок не начал играть с релиза игры, а присоединился через год? Сколько гигов контента ему надо будет долить?
Идея интересная, спору нет, но как решить хотябы перечисленные выше проблемы - мне в голову с разбега не приходит.

Автор: ksili 21.6.2010, 07:42
Rickert, текстура сгенерится во время распила! Так же как и в реальной жизни.  smile 

neutrino, ты, по сути, собрался сделать генератор виртуальной реальности. Вбить туда законы физики, а дальше должно само всё работать. Типо, почувствуй себя богом. Научно-популярным языком это в некоторой степени описано в книге Д.Дойча "Структура реальности".

Я сам немного об этом задумывался, только сложно всё это. Например я задумывал сделать подобный симулятор, но не глобальный, а медицинский. Даётся игроку тело с исходными, и надо его например вылечить от чего-то. Такой бы мог использоваться медиками для обучения или для тестирования лекарств, без использования реального подопытного материала. Но представь, как бы происходила разработка такого симулятора? Я ж не медик. Пришлось бы подключать огромное количество врачей и учёных, чтобы "вбить" правильные законы и не накосячить. Хотя, если делать всё на самом-самом низком уровне, то медики, пожалуй, и не нужны, только квантовые физики  smile 

Автор: DenWPF 21.6.2010, 09:49
скептик! не возможно

Автор: Bitter 21.6.2010, 11:20
neutrino, я думаю тут дело даже не в том, что не возможно, а в том, что не нужно. Я, например, играя в игру хочу уничтожить всех ненавистных человеков, при этом отдохнув от работы и реальных проблем. А ты пытаешься навязать кроме обычных житейских проблем еще и виртуальные, точно такие же. А именно - построй дом, найди еду и т.д. С оружием немного интереснее, но опять же, человек который не понимает как его делать, не будет играть в эту игру, а человек который понимает как делается оружие, не будет его делать, так как ему это не интересно.
В общем очень сомнительная задумка. А тем более генерить распил дерева как в реальной жизни, это вообще глупо. Кому это надо вообще? А распил металла тоже генерить, а разлом ветки, камня и т. д. тоже генерить? На это всё не хватит ресурсов, знаний и времени на разработку. А если и хватит, в итоге - никому не нужно.

Автор: ksili 21.6.2010, 12:20
Bitter, я выше привёл пример, для чего такой симулятор может реально пригодиться. Вполне реальная польза.

Автор: Bitter 21.6.2010, 13:51
Да согласен, эмулятор реальности в отдельно взятой области знаний вполне может пригодиться, но в качестве игры, думаю нет

Автор: Rpahut 21.6.2010, 14:08
Ясно что требования выше - и к соединению и к клиенту и к серверу.  Ведь сама идея другого уровня. В старых рамках ничего нового не сделать.

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

Есть другая проблема - так, из подручных средств, у игроков дальше колюще-режущих прогресс не пойдёт. Абсолютный предел - простая механика вроде водяной мельницы. ИМО пока сложность реализации не оправдывается объёмом новых возможностей.

Автор: bars80080 21.6.2010, 14:19
Цитата(Bitter @  21.6.2010,  11:20 Найти цитируемый пост)
никому не нужно. 

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

Автор: Bitter 21.6.2010, 14:46
Цитата(bars80080 @  21.6.2010,  14:19 Найти цитируемый пост)
а очень бы хотелось создать набор блоков и построить виртуальный дом, вплоть до вытачивания архитравов и балюстрад.потом ещё и ещё дома, чтобы в итоге застроить город.


Запустите 3D Max и наслаждайтесь. Кто мешает Вам моделить экстерьеры? Вы даже заработаете на этом. Но это ж не игра уже получается

Автор: bars80080 21.6.2010, 19:32
Цитата(Bitter @  21.6.2010,  14:46 Найти цитируемый пост)
Запустите 3D Max и наслаждайтесь. Кто мешает Вам моделить экстерьеры? Вы даже заработаете на этом. Но это ж не игра уже получается 

в том то и дело. хочется играть, а не работать

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

Автор: neutrino 21.6.2010, 22:47
Цитата(Rpahut @  21.6.2010,  13:08 Найти цитируемый пост)
Скажем, если изначально в мире не будет ничего кроме земной поверхности и леса, суммарный вес данных игры не таким уж и большим получается. К примеру 3к игроков, в среднем по 1-2 мб с человека (без сжатия). Параметры процедурной текстуры не так много места занимают. Детальностью геометрии можно до некоторой степени пожертвовать.
Не обязательно и даже бессмысленно всё время хранить все данные на каждом клиенте. Среднестатистический игрок никогда не увидит на экране всех имеющихся в игре ресурсов. И докачивать можно только те данные, которых конкретно не хватает - дополнительная нагрузка на соединение минимальная. А на сервере данные можно хоть терабайтами хранить.

Вот и я о том же думаю.


Цитата(Rpahut @  21.6.2010,  13:08 Найти цитируемый пост)
Есть другая проблема - так, из подручных средств, у игроков дальше колюще-режущих прогресс не пойдёт. Абсолютный предел - простая механика вроде водяной мельницы. ИМО пока сложность реализации не оправдывается объёмом новых возможностей. 

Скажем так, генератор электрического тока - достаточно сложная хрень? 

Автор: Rpahut 22.6.2010, 08:09
Если упростить тут да там, то не такая и сложная наверное. Вряд ли кому будет интересно наматывать сто метров проволоки =) Значит нужно упрощать процесс крафтинга. И законы природы заодно.

Вообще если что и разрабатывать, так для начала симулятор этого самого процесса создания предметов. Посмотреть чего и сколько из него можно выжать. А там уже как пойдёт - или самостоятельная игра "умелые ручки", или ММО вокруг него строить, или может мир пока не готов принять такую игру...

Автор: neutrino 22.6.2010, 09:04
Цитата(Rpahut @  22.6.2010,  07:09 Найти цитируемый пост)
Вообще если что и разрабатывать, так для начала симулятор этого самого процесса создания предметов. Посмотреть чего и сколько из него можно выжать. А там уже как пойдёт - или самостоятельная игра "умелые ручки", или ММО вокруг него строить, или может мир пока не готов принять такую игру... 

Согласен. Конечно надо начинать с самого сложного.

Автор: ksnk 22.6.2010, 10:23
Цитата(neutrino @  21.6.2010,  22:47 Найти цитируемый пост)
Скажем так, генератор электрического тока - достаточно сложная хрень?  

смотря откуда начинать  smile если от каменного топора я ямы с медной рудой - то охрененно сложная 

Автор: Abyx 22.6.2010, 11:14
у меня складывается впечатление, что ТС плохо знает физику.
даже нормальную кинематику нереально сложно сделать %) трафик для синхронизации мира просто не пролезет в канал
вы и разрушаемые объекты-то не сделаете, которые не будут исчезать после разрушения - памяти не хватит

если что-то такое начинать - то с материальных точек в вакууме.

Автор: ksili 22.6.2010, 13:02
Целый мир для начала, я думаю, это слишком...

Для простоты стоит начать с комнаты с мягкими стенами  smile 

Автор: Bitter 22.6.2010, 13:11
Для начала надо понять кому это нужно! Если только для себя, то стоит ли это делать? Я думаю у вас будет (если вообще такая игра когда нибудь будет) большая текучка игроков. Те кто поиграл один день, будут её удалять, а те кто почитает описание будут её устанавливать. Удалять будут потому что ну не интересно играть в сделай сам на компе, если можно то же самое делать в жизни!

Автор: neutrino 22.6.2010, 15:41
Цитата(ksnk @  22.6.2010,  09:23 Найти цитируемый пост)
смотря откуда начинать   если от каменного топора я ямы с медной рудой - то охрененно сложная  

Конечно возьмет некоторое время, чтобы дойти до генератора. 


Цитата(Abyx @  22.6.2010,  10:14 Найти цитируемый пост)
у меня складывается впечатление, что ТС плохо знает физику.
даже нормальную кинематику нереально сложно сделать %) трафик для синхронизации мира просто не пролезет в канал
вы и разрушаемые объекты-то не сделаете, которые не будут исчезать после разрушения - памяти не хватит

Как ты заключил о моих знаниях физики? Что сложно сделать? Я видел студенческие работы подобные этому симулятору. Трафика много не надо. Ты невнимательно читал мои посты. 


Цитата(ksili @  22.6.2010,  12:02 Найти цитируемый пост)
Целый мир для начала, я думаю, это слишком...

Да, да, несомненно! Я вообще приверженец итеративной разработки. 



Bitter, Я всегда хотел, чтобы игра давала гораздо больше чем заранее запрограммированные возможности. Ведь по сути все получается довольно плоско. Да, графика у современных игр крутая. Я также осознаю тот факт, что десятки миллионов все же режутся в ММОРПГ с их настоящими возможностями. Я уверен, что эти игры должны перейти совсем в другое измерение. В настоящую виртуальную реальность smile

Автор: Abyx 22.6.2010, 16:22
Цитата(neutrino @  22.6.2010,  15:41 Найти цитируемый пост)
Ты невнимательно читал мои посты. 

перечитал.
ММОРПГ - это взаимодействие игроков, а не одиночные мини-игры "спили дерево". не интересно %)

Автор: Bitter 22.6.2010, 16:53
neutrino,  а как вы будете реализовывать физику мягких и жидких тел? Это же крайне сложно с точки зрения вычислительных затрат. Да и трафик передачи вновь сгенерированой модели реки или лужи, это ж очень много. Вот я собрал колесо с лопостями и подставил его под водопад. Оно должно крутиться, а вода должна по нему стекать, так ведь? как это всё сделать и тем более сообщить другим игрокам информацию об этой деформации?

Автор: Rickert 22.6.2010, 17:43
neutrino, проблемы сформулированные мной ты проигнорировал smile

Автор: Pilger 25.6.2010, 21:10
Цитата

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


Это какой же процессор надо O_O

Цитата

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


Конечно на клиенте хранить всю информацию не получится, да и игроки всё время изменяются. Заранее всё что надо не загрузишь и подгадать не выйдет. Мне кажется, что для реализации выше описанных возможностей 2 МБ на человека маловато, но ладно. Заходим в город, там 1000 человек - крындык.
ИМХО. Описанные возможности в single реализовать нереально трудно, а что бы еще и online... но это имхо. Что касается идеи, то там есть интересные моменты.

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

Автор: Rpahut 25.6.2010, 23:54
Хватанул. Я бы посмотрел как клиент любой современной МООшки потянет 1000 человек  smile  Да что там - и для оффлайна это число нереальное.
Потом - чем больше толпа, тем больше повторяющихся ресурсов. Об уникальной экипировке для каждого игрока никто не говорит. При регулярном посещении игры контент будет накапливаться у клиента постепенно, ну а уж если забил на пол года и потом вернулся - извини и жди закачки. Опять же современные ММОшки - либо не развиваются, либо требуют периодической загрузки апдейтов. И никого не волнует, если ты на пять минут хочешь зайти с чужого компьютера - нужно сначала загрузить и установить весь имеющийся в игровом мире контент.

Про 2 мб на человека - простой предмет, скажем меч, со всеми параметрами уляжется килобайт в десять. Это уже даёт нам больше 200 предметов на человека. Крафтинг - процесс кропотливый и результат часто не соответствует ожиданиям. Крафтить интересно не всем, хорошо получается далеко не у всех. Как результат - бОльшая часть игроков предпочтёт купить существующий предмет нежели создать новый. Скажем, один профессиональный крафтер обеспечивает необходимым хотя-бы двадцать человек, избавляя их от необходимости что-то создавать. Тогда его ресурс - 40000 плюс-минус несколько тысяч уникальных предметов. Жизни не хватит столько наклепать.
И эти числа - для оценки общего объема данных, а не для оценки трафика.

Короче, если отрешиться от просчёта на уровне атомов, предлагаемый вариант отличается от прочих двумя особенностями:
1) Контент создают игроки, всё время с момента запуска и до закрытия игры
2) Контент пересылается для кеширования клиенту по мере надобности

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

Вы заметили кстати? У нас тут в разделе маленькая модель российского геймдева образовалась smile Предпочитаем перечислять проблемы, а о том что у них, вероятно, есть решение, стараемся не думать. "Крайне сложно", "нереально трудно". Легко тетрис написать.

Автор: neutrino 26.6.2010, 11:28
Цитата(Bitter @  22.6.2010,  15:53 Найти цитируемый пост)
neutrino,  а как вы будете реализовывать физику мягких и жидких тел? Это же крайне сложно с точки зрения вычислительных затрат. Да и трафик передачи вновь сгенерированой модели реки или лужи, это ж очень много. Вот я собрал колесо с лопостями и подставил его под водопад. Оно должно крутиться, а вода должна по нему стекать, так ведь? как это всё сделать и тем более сообщить другим игрокам информацию об этой деформации?

На пальцах ответ будет такой. Когда ты соберешь колесо с лопостями и оно будет кутится в режиме крафтинга (т.е. тогда, когда все будет вычисляться), никто его не увидит. Ну или увидит, что ты что-то там мастеришь. Физика просчитывается на твоем компе локально. По завершению крафтинга модель отправляется на сервер дабы проверить, что ты ниче не напакостил в коде клиента и "компилируется", т.е. высчитываются физ. параметры. После того, как ты его поставишь в водопад, оно будет крутиться, но вычисления будут просты, т.к. уже не надо будет вычислять на сколько поток воды вокруг лопастей неламенарный. На примере мельницы - скорость вращения - функция от скорости ветра вот и все. Т.е. никаких страшных вычислений. Страшные вычисления были сделаны, когда мельница строилась.
Цитата(Rickert @  22.6.2010,  16:43 Найти цитируемый пост)
neutrino, проблемы сформулированные мной ты проигнорировал 

Я их скорее упустил. Сейчас гляну.
Цитата(Rickert @  21.6.2010,  06:18 Найти цитируемый пост)
neutrino, а теперь представь что в твой мир пришли 1000 первых игроков и каждый начал точить своё копьё, делать мечь, строить избу. Трафика надо немеряно, требование по объёмоспособности канала сразу возрастают. И дай бог 1/3 игроков с нашими каналами отвалится. Сразу встаёт вопрос: вот есть дерево, вот на нём текстура, теперь я пилю дерево пополам: откуда брать текстуру для места распила? Как пересчитать UV координаты?
А если игрок не начал играть с релиза игры, а присоединился через год? Сколько гигов контента ему надо будет долить?

На это ответил Rpahut. Собственно трафика немного. Мы будем качать на клиент некоторую область в которой он находится. Вычисления смотри выше. 

Цитата(Pilger @  25.6.2010,  20:10 Найти цитируемый пост)
Это какой же процессор надо O_O

Не такой и мощный. Ты думаешь я буду обсчитывать все 10^в такой то степени атомов? Я имел в виду, что материя из мира в режиме крафтинга обсчитывается как взаимодействие маленьких частей (атомов). Таким образом и жидкости и твердые тела могут взимодействовать. Я самолично видел симуляторы в которых эта модель работает в риал тайме. Конечно, если количество атомов - миллиарды, то и говорить не о чем. Скажем так, можно сделать что количество атомов - функция от мощностей компа клиента. Так нормально?

Как вообще это пишется? Программируется одна единица материи (атом) и взаимодействие между двумя такими единицами. Это на пальцах. 
Цитата(Rpahut @  25.6.2010,  22:54 Найти цитируемый пост)
Крафтинг - процесс кропотливый и результат часто не соответствует ожиданиям. Крафтить интересно не всем, хорошо получается далеко не у всех. 


Rpahut, Как ты меня круто просек smile Да, я именно на эти поинты ставлю ударение. Но почему-то меня все отговаривают.

Автор: Rpahut 26.6.2010, 15:53
Цитата

я именно на эти поинты ставлю ударение

Ну это довольно очевидные ограничения.
Хорошо бы ещё подумать об ограничении времени жизни предмета.

Автор: Pilger 26.6.2010, 16:59
Цитата

Про 2 мб на человека - простой предмет, скажем меч, со всеми параметрами уляжется килобайт в десять. Это уже даёт нам больше 200 предметов на человека.


Цитата

Перечислю несколько плюсов:
Для создания игры не требуется армия художников и взвод руководителей. +$ дзинь
Нет необходимости ограничивать общий объём данных игры до нескольких гигабайт чтобы втиснуть их на ДВД или относительно быстро передать по сети.


Цитата

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


Цитата

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


Цитата

1) Контент создают игроки, всё время с момента запуска и до закрытия игры
2) Контент пересылается для кеширования клиенту по мере надобности


Цитата

Потом - чем больше толпа, тем больше повторяющихся ресурсов.


Давайте внесем ясность... насколько я понял идею, тут хотят к физике подойти очень серьезно таким образом, что бы из любого материала можно было бы создать любой инструмент. Взял дерево, выпилил палку или сделал рогатку. Смешал сталь, расплавил, вылил меч, заточил... при чем формы это дело может быть любой. Захотел, сделал крест с трезубцами на каждом конце. Или пистолет с  квадратными пулями. То же касается и всего остального. Как по мне, так 10 кб на оружие будет слишком мало...

Теперь касательно экипировки. Я уже говорил, что игроков в игре может быть много. Как ты правильно заметил сливать всё и вся каждый раз никак не выйдет, учитывая, что экипировка постоянно изменяется, добавляется новая и т.п. и т.д., а это происходить безусловно будет. Ты никак не предугадаешь, что надо заранее подгрузить, что не надо. Пусть ты сталкиваешься не с 1000 человек, пусть будет их там всего лишь 10. Но этого уже будет достаточно, что бы пришлось ожидать, пока подгрузится вся необходимая униформа (мечи, топоры, рогатки, трезубцы, шлемы, панцири, бронежилеты). Даже если с человека по 2 мб, то скачивать в этот момент придется 20 мб. То что их заранее не загрузишь, я уже пояснил почему.

А то, что не понадобятся дизайнеры^^, ибо каждый игрок сам себе дизайнер и физик, это конечно здорово, но вот этот вот плюс:

Цитата

Минимальный объем клиентской установочной программы. Пять минут на загрузить и установить.


по мне превращается в минус, ибо Вы не учли, сколько придется докачивать неизвестно как, не известно когда.

Цитата

Не такой и мощный. Ты думаешь я буду обсчитывать все 10^в такой то степени атомов?


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

Есть одна игра Spore. Там тоже внесли довольно неплохие возможности по созданию различный объектов и существ и идея похожа. Создаешь скажем танк, приделываешь к нему разные прибамбасы и прочее. И в зависимости от того, что ты ему приделал, меняются его характеристики. Таким образом там создается всё - самолеты, существа, воины, постройки и т.п. и т.д. В какой то момент создавать всё это дело становится скучно и игра становится похожа на конструктор... но думаю, что создатели стремились реализовать именно нечто похожее и дать игрокам возможность самим создавать свою цивилизацию, не похожую на другие. Но там не на атомы всё делится, а на готовые модельки и это всё меняет. Игра одиночная, но все созданные объекты в самой игре загружаются из интернета и ты в своей одиночной игре в довольно таки крупной галактике сталкиваешься с другими цивилизациями, существами, проходишь миссии и всё это создано кем то и постоянно создается (даже миссии)...
Но онлайн игра с теми возможностями, что вы описали... у меня пока нет представления, как это бы работало.

Цитата

Предпочитаем перечислять проблемы, а о том что у них, вероятно, есть решение, стараемся не думать.


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

Автор: Rpahut 26.6.2010, 19:29
Я говорю о том, что на любую с ходу обнаруженную проблему можно также с ходу найти решение. Если есть такое желание конечно.

Да, геометрия объекта может быть произвольной, но и легко можно ограничить её сложность. Стоит ли мне упоминать каждую очевидную вещь? Объект с тысячей треугольников может весить больше 10кб, но не всякий объект требует такой детализации. Речь идет о средних числах. Я ещё не говорю об оптимизации геометрии и о сжатии передаваемых по сети данных ввиду просто астрономической очевидности.

И снова про 2мб. Этот объем - среднее количество памяти, требуемой под все предметы которые один игрок может создать. Среднее. Примерное. Рассчитанное на вскидку. Количество памяти. Столько они занимают при хранении на сервере.
Попробуйте сначала создать две сотни уникальных предметов. Следите за тем чтобы они не попали в кэш других клиентов. Потом попробуйте надеть их на своего персонажа все сразу. Теперь найдите ещё девять человек которым удалось проделать то же самое. Проще в лотерею выиграть. А вообще нам никто не мешает ограничить количество надеваемых одновременно на перса предметов и переносимого веса, так что карачун идее трафик-бомбы. По-моему ни одной гениальной идеи и в этом абзаце я не высказал, всё банальности и очевидности.

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

Автор: Pilger 26.6.2010, 20:30
Цитата

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


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

Цитата

Минимальный объем клиентской установочной программы. Пять минут на загрузить и установить.


Клиент то да, а вот всё остальное.

Мне кажется куда реальнее и проще сделать заготовки, из которых можно было бы "объединять" предметы, как это сделано в Spore. В общем удачи.

Автор: Rpahut 26.6.2010, 22:02
Pilger, какой у тебя IQ?

Автор: Pilger 26.6.2010, 22:06
В чем проблема?

Автор: Rpahut 26.6.2010, 22:09
Просто интересно не трачу ли я своё время впустую.

Автор: Pilger 26.6.2010, 22:16
Это ты сам для себя решай^^

Автор: neutrino 27.6.2010, 00:52
Ребят, давайте без наездов.
Цитата(Pilger @  26.6.2010,  19:30 Найти цитируемый пост)
Какая же может быть основа, если всё постоянно меняется, удаляется, дополняется... 

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

Автор: Pilger 27.6.2010, 16:06
Само собой нет. Проще повеситься.

Автор: Bitter 29.6.2010, 00:13
Ну давайте, начните уж что-нить делать, интересно же.  smile  А все главные вопросы возникнут во время написания.

Автор: Pilger 29.6.2010, 15:01
Если вопросы будут возникать по мере написания, то точно ничего путного не выйдет...
1). Идею надо основательно продумать, иначе большой риск(в данном случае), что игра будет где то оригинальной, но не интересной. Надо действительно до основания все продумать, что бы было интересно. Это же главная составляющая часть игры. К ней надо подойти очень серьезно.
2). К реализации надо тоже серьезно подойти т.к. она тоже не проста и должна быть очень качественной, учитывая сложность. Воплотить все (необходимые) идеи тут не просто, а если их не воплотить или воплотить плохо или коряво, то это равносильно некачественной идеи. (с.в.)
3). Проблемы и вопросы, которые могут возникнуть, могут потребовать слишком упростить саму идею так, что от нее и мокрого места не останется (обидно будет, если случится слишком поздно). Да и решения не охватывают все случаи. Проблема может расти в зависимости от кол-ства игроков и от того, как часто они пользуются этим самым режимом "мастера" и как им это позволено делать (это дело можно прирезать вместе с основной идеей и частично решить проблему (с.в.)).

ИМХО. Если всё заранее основательно не продумать и упорно не трудиться, то проект быстро развалится или будет не удачным. Еще раз ИМХО.

Автор: neutrino 10.7.2010, 14:14
Привет!

Насмотрелся я взякого на ютубе. Меня убедили, что сегодня железо может считать 1 миллион атомов. А по завершении проекта сможет еще больше, посему я озадачился с чего начать. Я понял, что без достаточной теории в этой области я не справлюсь.

Знает ли кто-нибудь о каких-то книгах по Particles Simulations? То, что я нашел датировано 80-ми годами.

Автор: Rpahut 11.7.2010, 01:38
Думаю сегодняшнее железо на GPU вполне потянет миллион атомов в реальном времени smile По крайней мере для отдельных случаев.
Более современной отечественной литературы скорее всего не существует. Не думаю чтобы наши много над этим работали в 90-е или после.
На забуржуйской Вики есть длинный список названий книг по discrete element method и finite element method - это то что сразу нашлось. Там же куча ссылок на See also. Есть и про n-Body simulation.
Ценные документы можно выцепить в гугле по filetype:pdf, например www.strw.leidenuniv.nl/~spz/act/students/JBedorf.pdf . В общем почитать есть.

Автор: gcc 11.7.2010, 08:07
neutrino, говорят, квантовые алгоритмы могут ускорить вычисление квадратически на стандартном компьютере, это довольно не плохо? (и экспотенциально быстро на квантовом... ) 

кванта построенно на вероятности, может быть не точно, но быстро

например, поиск по неупорядоченно базе данных с помощью квантовой логики (http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%93%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B0) может ускорить очень быстро... а такой алгоритм придумали только в 1997 году...

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



Автор: Чупакабро 12.7.2010, 15:10
Идея интересная, но все завиит от реализации.
Главная проблема, что чтобы что-то сделать в этой игре, нужно будет приложить примерно такие же интеллектуальные усилия и затратить столько же времени, сколько и в реальной жизни (поменьше конечно, но все равно очень много).
Если режим мастера делать как СAD по конструированию всего из элементарных частиц, то для 99,999 % игроков это будет просто скучно. И просто жалко времени будет на это.
Есть другой вариант: выполнять манипуляции над макрообъектами.
Например, нужно сделать меч. Изначально у игрока есть только руки и светлая голова. Он видит дерево. Ломает сук. Роет им землю, выкапывает руду. Разводит костер высеканием искр из камней. Плавит железо, кует его опять же булыжником. И получает что? Нет, не лезвие меча, а лопату, чтобы процесс добычи полезных ископаемых стал проще. Ну и так далее, до победного.
Со временем в игре будут появляться все более совершенные инструменты для создания новых вещей.
Преимущество такого подхода в том, что для создания чего-либо не нужно будет быть семи пядей во лбу. Достаточно просто выменять у кого-то необходимый инструмент и с его помощью, опять же, безо всякой высшей математики сделать то, для чего он предназначен.
Вот... А работать с машиной по созданию всего смогут очень немногие интеллектуалы, так что игра в таком виде много пользователей может не собрать.
Но в любом случае, удачи. Собери команду программеров, дизайнеров и инженеров человек 1000)

Автор: neutrino 13.7.2010, 20:04
Чупакабро, Привет!

Цитата(Чупакабро @  12.7.2010,  14:10 Найти цитируемый пост)
Есть другой вариант: выполнять манипуляции над макрообъектами.
Например, нужно сделать меч...

В принципе я именно это имел в виду, так что тут мы сходимся.


Цитата(Чупакабро @  12.7.2010,  14:10 Найти цитируемый пост)
Но в любом случае, удачи. Собери команду программеров, дизайнеров и инженеров человек 1000) 

Пока по теме теории мне помогает мой препод по комп. графике и наш завед. физикой. Их заинтересовала идея. Но мне не нужны 1000 программеров! Идея такова:
Имея симулятор частиц, что есть штука выполнимая для меня, Все, что нам надо - это только создать мир природы. Дизайнеры не нужны. Я даже подумывал брать через API с GoogleEarth просто поверхность земли. 

Идея вся в том, что сами пользователи будут создавать вещи, строить дома. и т.д. Я пока не знаю насколько выполнимо это все. Сейчас я сконцентрирован на физическом симуляторе, на выборе опен-соурс физ. движка (или буду писать свой), на выборе платформы (с одной стороны, кросплатформенность - штука нужная, но я как программист C#, задумываюсь о XNA.

Автор: gcc 18.7.2010, 07:49
в perl6 есть компилятор Rakudo, название которого с Японского языка переводиться как "рай"
может на perl6 писать?

http://en.wikipedia.org/wiki/Rakudo_Perl
Цитата

The name "Rakudo" for the Perl 6 on Parrot compiler was first suggested by Damian Conway [6]. "Rakudo" is short for "Rakuda-dō" (with a long 'o'; 駱駝道), which is Japanese for "Way of the Camel". "Rakudo" (with a short 'o'; 楽土) also means "paradise" in Japanese.




Автор: neutrino 24.4.2023, 20:44
Ребят, отбой. Minecraft уже написали

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)