Re[22]: [геймдев] C++ сдает позиции
От: _ABC_  
Дата: 03.12.09 07:34
Оценка: 6 (5) +2
Здравствуйте, Turyst, Вы писали:

T>Ета спецыфика называется "Аэродинамика", я подсказывать буду


Симулировать законы аэродинамики можно по разному. А это не только геометрия, развесовка самолета и прочее, определяющее ЛТХ самолета, но и воздействие на него атмосферных явлений, таких как ветер, его порывы, осадки, обледение и многое другое. Кроме того, помимо аэродинамики физический движок отвечает за симуляцию работы двигателей, и т.п. У некоторых учитываются еще и геодезические и астрономические факторы, такие как магнитное склонение, положение звезд и Солнца в частности и т.п. И вот что учитывать при симуляции, а что нет и определяется спецификой игры.

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

У MSFS и CFS — свой, древний, доставшийся по наследству. У него есть известные глюки, которые приходится обходить для создания похожей симуляции. Например, у них не предусмотрена симуляция турбовинотового двигателя, а вертолеты проработаны не очень удачно. Достаточно удовлетворительно проработана атмосфера. Штопор — сполшная фикция. Для удержания самолета на оси на земле требуются неправильные действия элеронами. И многое другое. Как итог, популярным стало создание своих (или использование сторонних) внешних надстроек над физическим движком для обхода этих условностей.

У X-Plane — свой, достаточно оригинальный движок — у него многие параметры и, как следствие, ЛТХ самолета, вычисляются исходя из 3D модели самолета. Наверное, самый интересный и достоверный физ. движок из гражданских симов на сегодня. Это если не брать в расчет симуляторы планеров, там все еще сложнее и интереснее с этой точки зрения.

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

У Ил-2 тоже свой физ. движок. И тоже с кучей ограничений и условностей. Например, некоторые события моделируются весьма условно или вообще скриптами. Так, есть эффект затягивания в пикирование при чрезмерно высокой скорости, при помощи которого можно было сделать обратную петлю. А при приземлении срабатывает триггер, который переключает обработку физики с "воздушной" на "земную". Особенно это было заметно в старых версиях на не очень мощных ПК — был ощутимый рывок в изображении. Атмосфера — вакуум. Ветер — фикция в виде болтанки у земли без малейшего влияния на навигацию. И так далее.

У Storm of War будет другой физический движок. По словам Мэддокса они намеренно не стали брать за основу старый свой движок. В новом при моделировании будет учитываться больше параметров, особенно это будет касаться ВМГ самолета. Кроме этого обещается вроде как полноценная атмосфера. Старый, иловский был в основном на Java написан, при этом кто-то из мэддоксовских в интервью говорил, что они ошиблись с выбором языка с точки зрения производительности. Поэтому при создании SoW будет использован другой язык.

А как у Rise of Flight, похоже mrTwitter может рассказать. По крайней мере, мне больше не известно российских фирм, связанных с разработкой более-менее заметных авиасимов на C++. У них тоже свой движок, весьма продвинутый, как говорят. Народ от него в восторге, но в бешенстве от всего остального.

P.S. Из популярных есть еще серия Falcon с отпрысками и некоторые другие серии. У них тоже собственный движок в основе. При чем иногда движок при смене версии симулятора не просто дорабатывается, а пишется с нуля.
Re[2]: [геймдев] C# скриптовый язык?!
От: User239 Россия  
Дата: 03.12.09 07:54
Оценка:
Здравствуйте, a.v.v, Вы писали:

AVV>Это game logic который всегда писался на каком то скриптовом языке


Вот все здесь пишут. А с какого перепугу-то? Точно так же надо компилить, как и C++. Или я чего-то недопонимаю?
Re[3]: [геймдев] C# скриптовый язык?!
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 03.12.09 08:11
Оценка: :))
Здравствуйте, User239, Вы писали:

U>Здравствуйте, a.v.v, Вы писали:


AVV>>Это game logic который всегда писался на каком то скриптовом языке


U>Вот все здесь пишут. А с какого перепугу-то? Точно так же надо компилить, как и C++. Или я чего-то недопонимаю?

Конечно не понимаешь.
1)Скорость компиляции у C# (или другого .NET языка) гораздо выше
2)Модульность получше
3)Автоматическия сборка мусора, более мощная система типов
Re[15]: [геймдев] C++ сдает позиции
От: neFormal Россия  
Дата: 03.12.09 08:12
Оценка: +2
Здравствуйте, Ikemefula, Вы писали:

T>>А игру это то только ограничивает. То, что мы заем, что у нас на екране должно быть не больше 10 танков никак меня не спасет, если надо 200

I>Наоборот, это развязывает руки, т.к. ты можешь посчитать расход ресурсов.

посчитать, ужаснуться и перейти на цпп..

I>В БД ты можешь ориентироваться на некие среднепотолочные показатели, ни о каком рассчете говорить не приходится. Хватит или не хватит ресурсв — хрен знает. С игрой ты на этот ответ можешь ответить точно и сообщить, на что хватит, на что не хватит.


ага, особенно в ММО.. ты знаешь, что движок потянет вот-столько-моделей, а игроки с вероятностью >100% соберуться толпой раза в два большей..
...coding for chaos...
Re[12]: Офф
От: Sinix  
Дата: 03.12.09 08:24
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>А как ты думаешь, что будет более быстрым: interop с железом из C++ или из VM/managed?

CC>Сразу подскажу из опыта работы с PhysX и CUDA: из C++

Лёгкий оффтоп: а как там различалась производительность — на порядки или кратно? Что использовали?
Re[16]: [геймдев] C++ сдает позиции
От: neFormal Россия  
Дата: 03.12.09 08:28
Оценка:
Здравствуйте, Eugeny__, Вы писали:

E__>Кроме того, подобный финт позволяет разработчикам сценария вообще не знать плюсов, нафиг оно им упало — у них другая задача, и мысли другим заняты — им надо интересный игроку мир создавать, а не бороться с низкоуровневыми багами.


сразу видно человека, который не знаком с геймдевом..
в геймдеве кодеры только кодят, какие могут быть ещё мысли об интересном игроку мире?. для "мира" есть геймдизайнеры, которые настраивают мир уже в тулзах, написанных специально для этого..
...coding for chaos...
Re[16]: [геймдев] C++ сдает позиции
От: Sheridan Россия  
Дата: 03.12.09 08:55
Оценка:
Приветствую, neFormal, вы писали:

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

Если бы в два...
avalon 1.0rc3 rev 306, zlib 1.2.3 (02.12.2009 18:36:32 MSK +03:00)(Qt 4.6.0)
Matrix has you...
Re[4]: [геймдев] C# скриптовый язык?!
От: Sheridan Россия  
Дата: 03.12.09 08:55
Оценка: +1 -2
Приветствую, gandjustas, вы писали:

g> AVV>>Это game logic который всегда писался на каком то скриптовом языке

g> U>Вот все здесь пишут. А с какого перепугу-то? Точно так же надо компилить, как и C++. Или я чего-то недопонимаю?

g> Конечно не понимаешь.

g> 1)Скорость компиляции у C# (или другого .NET языка) гораздо выше
Точно это компиляция? Ты ничего не напутал?

g> 2)Модульность получше

Модульность чего?

g> 3)Автоматическия сборка мусора,

Если рук нет — и она не поможет, а если руки есть — она не нужна.

g>более мощная система типов

о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть.
avalon 1.0rc3 rev 306, zlib 1.2.3 (02.12.2009 18:36:32 MSK +03:00)(Qt 4.6.0)
Matrix has you...
Re[5]: [геймдев] C# скриптовый язык?!
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 03.12.09 09:01
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>Приветствую, gandjustas, вы писали:


g>> AVV>>Это game logic который всегда писался на каком то скриптовом языке

g>> U>Вот все здесь пишут. А с какого перепугу-то? Точно так же надо компилить, как и C++. Или я чего-то недопонимаю?

g>> Конечно не понимаешь.

g>> 1)Скорость компиляции у C# (или другого .NET языка) гораздо выше
S>Точно это компиляция? Ты ничего не напутал?
Точно.

g>> 2)Модульность получше

S>Модульность чего?
Вообще модульность — поддержка разбиения кода на отдельные бинарне модули.

g>> 3)Автоматическия сборка мусора,

S>Если рук нет — и она не поможет, а если руки есть — она не нужна.
Тебе это очевидно?

g>>более мощная система типов

S>о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть.
Даже не хочется тебе это объяснять.
Re[6]: [геймдев] C# скриптовый язык?!
От: Sheridan Россия  
Дата: 03.12.09 09:06
Оценка:
Приветствую, gandjustas, вы писали:

g> S>Точно это компиляция? Ты ничего не напутал?

g> Точно.
Пускай это ктото другой скажет

g> g>> 2)Модульность получше

g> S>Модульность чего?
g> Вообще модульность — поддержка разбиения кода на отдельные бинарне модули.
И у какого из языков C# этому научился?

g> g>> 3)Автоматическия сборка мусора,

g> S>Если рук нет — и она не поможет, а если руки есть — она не нужна.
g> Тебе это очевидно?
Дада, я знаю что както Синклер высказался в плане "раз тебе очевидно значит неверно".
Но тем не менее это очевидно. Качество кода напрямую зависит от мастерства программиста, а не от языка.

g> g>>более мощная система типов

g> S>о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть.
g> Даже не хочется тебе это объяснять.
Значит я прав, раз у тебя больше аргументов не нашлось.
avalon 1.0rc3 rev 306, zlib 1.2.3 (02.12.2009 18:36:32 MSK +03:00)(Qt 4.6.0)
Matrix has you...
Re[7]: [геймдев] C# скриптовый язык?!
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 03.12.09 09:26
Оценка:
Здравствуйте, Sheridan, Вы писали:

g>> g>> 3)Автоматическия сборка мусора,

g>> S>Если рук нет — и она не поможет, а если руки есть — она не нужна.
g>> Тебе это очевидно?
S>Дада, я знаю что както Синклер высказался в плане "раз тебе очевидно значит неверно".
S>Но тем не менее это очевидно.
Ну вот сам сказал — значит неверно.

S>Качество кода напрямую зависит от мастерства программиста, а не от языка.

Очнись, кто тут про качество кода кроме тебя говорил?


g>> g>>более мощная система типов

g>> S>о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть.
g>> Даже не хочется тебе это объяснять.
S>Значит я прав, раз у тебя больше аргументов не нашлось.
Ну да, это тоже для тебя очевидно.
Re[7]: [геймдев] C++ сдает позиции
От: IID Россия  
Дата: 03.12.09 09:36
Оценка: +6 :)
Здравствуйте, Ikemefula, Вы писали:

I>Это пока. Сейчас проще старые движки использовать, потому как портирование слишком много времени занимает.


I>Со временем экономия времени разработки перевесит убытки от портированя и игры будут манагед.


Эту мантру дотнетчиков я слышу уже лет 7, не меньше Что характерно — применительно к любому софту, не только к играм. А новые движки на С++ всё пишутся и пишутся. И никто не ноет про портирование
kalsarikännit
Re[7]: [геймдев] C++ сдает позиции
От: IID Россия  
Дата: 03.12.09 09:43
Оценка: +4 :))) :)
Здравствуйте, Ikemefula, Вы писали:

I>Единственно, памяти будет отожрано гораздо больше немного.


Отличная фраза! Немногим более чем вся!
kalsarikännit
Re[4]: [геймдев] C# скриптовый язык?!
От: IID Россия  
Дата: 03.12.09 09:50
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

сейчас в качестве языка скриптинга стандартом де-факто является LUA

G>Конечно не понимаешь.

G>1)Скорость компиляции у C# (или другого .NET языка) гораздо выше
чем у LUA ? а в C# от тормозов JIT-а можно отказаться при желании ? (например, если скорость скриптинга и так устраивает).

G>2)Модульность получше

Какая модульность у скрипта ? И чем она лучше чем у LUA ?

G>3)Автоматическия сборка мусора, более мощная система типов

сборка мусора есть у LUA, система типов тоже довольно мощная.

Более того, интерпретируемый (sic!) LUA в тестах ухитряется обходить JIT-еный C#(!) Как минимум, обходить по объёму отжираемой памяти. А если скомпилять LUA с помощью LLVM то и по производительности кое-где обгоняет, а кое-где на уровне или чуть хуже. Т.е. в этом плане сравним.
kalsarikännit
Re[8]: [геймдев] C# скриптовый язык?!
От: Sheridan Россия  
Дата: 03.12.09 09:51
Оценка:
Приветствую, gandjustas, вы писали:

g> g>> S>Если рук нет — и она не поможет, а если руки есть — она не нужна.

g> g>> Тебе это очевидно?
g> S>Но тем не менее это очевидно.
g> Ну вот сам сказал — значит неверно.
Аргументов тоже нет, ясно.

g> S>Качество кода напрямую зависит от мастерства программиста, а не от языка.

g> Очнись, кто тут про качество кода кроме тебя говорил?
Аналогий тоже не проводим, понятно.
Если программист — профессионал, то он с гораздо большей вероятностью напишет качественный код на любом из известных ему языков безотносительно поддержки управления памятью в них.
Или это тоже будешь оспаривать?

g> g>> g>>более мощная система типов

g> g>> S>о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть.
g> g>> Даже не хочется тебе это объяснять.
g> S>Значит я прав, раз у тебя больше аргументов не нашлось.
g> Ну да, это тоже для тебя очевидно.
Все ясно, аргументов точно нет.

Я вам завидую, у вас есть "железный" аргумент — "для тебя это очевидно".
avalon 1.0rc3 rev 306, zlib 1.2.3 (02.12.2009 18:36:32 MSK +03:00)(Qt 4.6.0)
Matrix has you...
Re[7]: [геймдев] C# скриптовый язык?!
От: Mamut Швеция http://dmitriid.com
Дата: 03.12.09 09:56
Оценка: +1
g>> S>Точно это компиляция? Ты ничего не напутал?
g>> Точно.
S>Пускай это ктото другой скажет

Тебе это в разное время говорило, наверное, два десятка человек.

g>> g>> 2)Модульность получше

g>> S>Модульность чего?
g>> Вообще модульность — поддержка разбиения кода на отдельные бинарне модули.
S>И у какого из языков C# этому научился?

Точно не у С++. А Java и Паскаля.

В частности, модульность C# проявляется в том, что каждый отдельный модуль является независимой единицей компиляции. В частности, из-за изменений в одном модуле не надо перекомпилировывать все модули, которые на него ссылаются (в отличие от С++, в котором не дай бог, что-то изменилось в каком-то достаточно общем .h)

g>> g>>более мощная система типов

g>> S>о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть.
g>> Даже не хочется тебе это объяснять.
S>Значит я прав, раз у тебя больше аргументов не нашлось.

Система типов != умение объявлять собственные типы

В частности, в C# гораздо более строгая типизация, чем в С++.


dmitriid.comGitHubLinkedIn
Re[8]: [геймдев] C++ сдает позиции
От: Sheridan Россия  
Дата: 03.12.09 09:57
Оценка: 1 (1) :))
Приветствую, IID, вы писали:

IID> Эту мантру дотнетчиков я слышу уже лет 7, не меньше Что характерно — применительно к любому софту, не только к играм. А новые движки на С++ всё пишутся и пишутся. И никто не ноет про портирование


Все просто...

Вера — признание чего-нибудь истинным без опоры на факты или логику, лишь на основании внутренней (субъективной) уверенности, которая не нуждается в доказательствах, хотя иногда и подыскивает их

avalon 1.0rc3 rev 306, zlib 1.2.3 (02.12.2009 18:36:32 MSK +03:00)(Qt 4.6.0)
Matrix has you...
Re[23]: [геймдев] C++ сдает позиции
От: mrTwister Россия  
Дата: 03.12.09 09:57
Оценка:
Здравствуйте, _ABC_, Вы писали:

_AB>А как у Rise of Flight, похоже mrTwitter может рассказать. По крайней мере, мне больше не известно российских фирм, связанных с разработкой более-менее заметных авиасимов на C++. У них тоже свой движок, весьма продвинутый, как говорят. Народ от него в восторге, но в бешенстве от всего остального.


Вот список его фич физического движка:

• Расчёт физических свойств атмосферы в широком диапазоне высот с учётом фактической температуры и давления у земли
• Многослойная модель ветрового поля и турбулентности атмосферы с учётом влияния земли
• Моделирование атмосферных турбулентных спутных следов за самолётами и взрывных волн при разрывах боеприпасов и топливных ёмкостей
• Расчёт аэродинамики воздушных винтов, самолётов и отдельных обломков в любых режимах обтекания, включая закритические
• Расчёт тензора инерции и координат центра тяжести самолётов и их отдельных элементов конструкции по 3D-модели
• Моделирование деформации и разрушения самолётов на основе механики систем конечных элементов
• Перерасчёт в реальном времени инерционно-массовых и аэродинамических характеристик самолётов и отдельных обломков с учётом их деформации и разрушения
• Моделирование траекторий движения самолётов и отдельных обломков на основе динамики системы элементов переменного состава
• Соответствие лётно-тактических характеристик самолётов их реальным прототипам с высокой степенью точности
• Термодинамическая модель двигателя внутреннего сгорания с учётом физико-химических процессов действительного цикла
• Модель столкновения самолёта с препятствием, землёй или водой на основе теории удара и гидродинамики
• Достоверная баллистика различных типов средств поражения для стрелкового оружия с учётом переменного рассеивания
• Моделирование боевых повреждений элементов конструкции и агрегатов самолётов в соответствии с типом средства поражения и дистанцией стрельбы
• Гибкая система настроек сложности управления самолётом и его системами на основе многоконтурных автоматов стабилизации заданных параметров

http://riseofflight.com/Forum/viewtopic.php?f=92&t=209&p=1875#p1875
лэт ми спик фром май харт
Re[8]: [геймдев] C# скриптовый язык?!
От: Sheridan Россия  
Дата: 03.12.09 10:10
Оценка:
Приветствую, Mamut, вы писали:

M> g>> S>Точно это компиляция? Ты ничего не напутал?

M> S>Пускай это ктото другой скажет
M> Тебе это в разное время говорило, наверное, два десятка человек.
Имеется ввиду данное конкретное применение, в качестве скриптового языка в играх.

M> g>> Вообще модульность — поддержка разбиения кода на отдельные бинарне модули.

M> S>И у какого из языков C# этому научился?
M> Точно не у С++. А Java и Паскаля.
Это уже неважно

M> В частности, модульность C# проявляется в том, что каждый отдельный модуль является независимой единицей компиляции. В частности, из-за изменений в одном модуле не надо перекомпилировывать все модули, которые на него ссылаются (в отличие от С++, в котором не дай бог, что-то изменилось в каком-то достаточно общем .h)

И в чем проблема? о0
Компиляция это разовая задача.

M> g>> g>>более мощная система типов

M> g>> S>о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть.
M> g>> Даже не хочется тебе это объяснять.
M> S>Значит я прав, раз у тебя больше аргументов не нашлось.
M> Система типов != умение объявлять собственные типы
Почитал тут, но так и не увидел преимуществ ни у шарпа ни у с++

M> В частности, в C# гораздо более строгая типизация, чем в С++.

Помоему это наоборот минус...
avalon 1.0rc3 rev 306, zlib 1.2.3 (02.12.2009 18:36:32 MSK +03:00)(Qt 4.6.0)
Matrix has you...
Re[8]: [геймдев] C++ сдает позиции
От: Mamut Швеция http://dmitriid.com
Дата: 03.12.09 10:15
Оценка: :))) :)
I>>Это пока. Сейчас проще старые движки использовать, потому как портирование слишком много времени занимает.

I>>Со временем экономия времени разработки перевесит убытки от портированя и игры будут манагед.


IID>Эту мантру дотнетчиков я слышу уже лет 7, не меньше Что характерно — применительно к любому софту, не только к играм. А новые движки на С++ всё пишутся и пишутся. И никто не ноет про портирование


Вообще-то объяснение элементарное.

В геймдеве разработчиков на С/С++ — пруд пруди. Более того, доступно просто огромное количество различных разработок (от алгоритмов до библиотек), заточенных именно под C/C++.

Дальше включается калькулятор и считается, сколько денег будет затрачено на:

— Взять С++, известные наработки в области, необходимость разработки на более, чем одной платформе (PC + консоли)
— Взять С# и разрабатывать все с нуля



Managed игры будут. Думаю, года через 3-4, когда нарастет мясо.


dmitriid.comGitHubLinkedIn
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.