Здравствуйте, Turyst, Вы писали:
T>Ета спецыфика называется "Аэродинамика", я подсказывать буду
Симулировать законы аэродинамики можно по разному. А это не только геометрия, развесовка самолета и прочее, определяющее ЛТХ самолета, но и воздействие на него атмосферных явлений, таких как ветер, его порывы, осадки, обледение и многое другое. Кроме того, помимо аэродинамики физический движок отвечает за симуляцию работы двигателей, и т.п. У некоторых учитываются еще и геодезические и астрономические факторы, такие как магнитное склонение, положение звезд и Солнца в частности и т.п. И вот что учитывать при симуляции, а что нет и определяется спецификой игры.
У каждой известной серии свой собственный физический движок, который во многом и определяет любовь или нелюбовь к серии со стороны любителей авиасимуляторов.
У MSFS и CFS — свой, древний, доставшийся по наследству. У него есть известные глюки, которые приходится обходить для создания похожей симуляции. Например, у них не предусмотрена симуляция турбовинотового двигателя, а вертолеты проработаны не очень удачно. Достаточно удовлетворительно проработана атмосфера. Штопор — сполшная фикция. Для удержания самолета на оси на земле требуются неправильные действия элеронами. И многое другое. Как итог, популярным стало создание своих (или использование сторонних) внешних надстроек над физическим движком для обхода этих условностей.
У X-Plane — свой, достаточно оригинальный движок — у него многие параметры и, как следствие, ЛТХ самолета, вычисляются исходя из 3D модели самолета. Наверное, самый интересный и достоверный физ. движок из гражданских симов на сегодня. Это если не брать в расчет симуляторы планеров, там все еще сложнее и интереснее с этой точки зрения.
У серии LockOn аж целых два физических движка для "летабельных" аппаратов, старый упрощенный и новый улучшенный. Плюс, традиционно для экономии выч. ресурсов практически у всех симуляторов действия ботов моделируются по весьма упрощенной схеме.
У Ил-2 тоже свой физ. движок. И тоже с кучей ограничений и условностей. Например, некоторые события моделируются весьма условно или вообще скриптами. Так, есть эффект затягивания в пикирование при чрезмерно высокой скорости, при помощи которого можно было сделать обратную петлю. А при приземлении срабатывает триггер, который переключает обработку физики с "воздушной" на "земную". Особенно это было заметно в старых версиях на не очень мощных ПК — был ощутимый рывок в изображении. Атмосфера — вакуум. Ветер — фикция в виде болтанки у земли без малейшего влияния на навигацию. И так далее.
У Storm of War будет другой физический движок. По словам Мэддокса они намеренно не стали брать за основу старый свой движок. В новом при моделировании будет учитываться больше параметров, особенно это будет касаться ВМГ самолета. Кроме этого обещается вроде как полноценная атмосфера. Старый, иловский был в основном на Java написан, при этом кто-то из мэддоксовских в интервью говорил, что они ошиблись с выбором языка с точки зрения производительности. Поэтому при создании SoW будет использован другой язык.
А как у Rise of Flight, похоже mrTwitter может рассказать. По крайней мере, мне больше не известно российских фирм, связанных с разработкой более-менее заметных авиасимов на C++. У них тоже свой движок, весьма продвинутый, как говорят. Народ от него в восторге, но в бешенстве от всего остального.
P.S. Из популярных есть еще серия Falcon с отпрысками и некоторые другие серии. У них тоже собственный движок в основе. При чем иногда движок при смене версии симулятора не просто дорабатывается, а пишется с нуля.
Здравствуйте, User239, Вы писали:
U>Здравствуйте, a.v.v, Вы писали:
AVV>>Это game logic который всегда писался на каком то скриптовом языке
U>Вот все здесь пишут. А с какого перепугу-то? Точно так же надо компилить, как и C++. Или я чего-то недопонимаю?
Конечно не понимаешь.
1)Скорость компиляции у C# (или другого .NET языка) гораздо выше
2)Модульность получше
3)Автоматическия сборка мусора, более мощная система типов
Здравствуйте, Ikemefula, Вы писали:
T>>А игру это то только ограничивает. То, что мы заем, что у нас на екране должно быть не больше 10 танков никак меня не спасет, если надо 200 I>Наоборот, это развязывает руки, т.к. ты можешь посчитать расход ресурсов.
посчитать, ужаснуться и перейти на цпп..
I>В БД ты можешь ориентироваться на некие среднепотолочные показатели, ни о каком рассчете говорить не приходится. Хватит или не хватит ресурсв — хрен знает. С игрой ты на этот ответ можешь ответить точно и сообщить, на что хватит, на что не хватит.
ага, особенно в ММО.. ты знаешь, что движок потянет вот-столько-моделей, а игроки с вероятностью >100% соберуться толпой раза в два большей..
Здравствуйте, CreatorCray, Вы писали:
CC>А как ты думаешь, что будет более быстрым: interop с железом из C++ или из VM/managed? CC>Сразу подскажу из опыта работы с PhysX и CUDA: из C++
Лёгкий оффтоп: а как там различалась производительность — на порядки или кратно? Что использовали?
Здравствуйте, Eugeny__, Вы писали:
E__>Кроме того, подобный финт позволяет разработчикам сценария вообще не знать плюсов, нафиг оно им упало — у них другая задача, и мысли другим заняты — им надо интересный игроку мир создавать, а не бороться с низкоуровневыми багами.
сразу видно человека, который не знаком с геймдевом..
в геймдеве кодеры только кодят, какие могут быть ещё мысли об интересном игроку мире?. для "мира" есть геймдизайнеры, которые настраивают мир уже в тулзах, написанных специально для этого..
Приветствую, neFormal, вы писали:
F> ага, особенно в ММО.. ты знаешь, что движок потянет вот-столько-моделей, а игроки с вероятностью >100% соберуться толпой раза в два большей..
Если бы в два...
Приветствую, gandjustas, вы писали:
g> AVV>>Это game logic который всегда писался на каком то скриптовом языке g> U>Вот все здесь пишут. А с какого перепугу-то? Точно так же надо компилить, как и C++. Или я чего-то недопонимаю?
g> Конечно не понимаешь. g> 1)Скорость компиляции у C# (или другого .NET языка) гораздо выше
Точно это компиляция? Ты ничего не напутал?
g> 2)Модульность получше
Модульность чего?
g> 3)Автоматическия сборка мусора,
Если рук нет — и она не поможет, а если руки есть — она не нужна.
g>более мощная система типов
о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть.
Здравствуйте, 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 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть.
Даже не хочется тебе это объяснять.
Приветствую, gandjustas, вы писали:
g> S>Точно это компиляция? Ты ничего не напутал? g> Точно.
Пускай это ктото другой скажет
g> g>> 2)Модульность получше g> S>Модульность чего? g> Вообще модульность — поддержка разбиения кода на отдельные бинарне модули.
И у какого из языков C# этому научился?
g> g>> 3)Автоматическия сборка мусора, g> S>Если рук нет — и она не поможет, а если руки есть — она не нужна. g> Тебе это очевидно?
Дада, я знаю что както Синклер высказался в плане "раз тебе очевидно значит неверно".
Но тем не менее это очевидно. Качество кода напрямую зависит от мастерства программиста, а не от языка.
g> g>>более мощная система типов g> S>о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть. g> Даже не хочется тебе это объяснять.
Значит я прав, раз у тебя больше аргументов не нашлось.
Здравствуйте, Sheridan, Вы писали:
g>> g>> 3)Автоматическия сборка мусора, g>> S>Если рук нет — и она не поможет, а если руки есть — она не нужна. g>> Тебе это очевидно? S>Дада, я знаю что както Синклер высказался в плане "раз тебе очевидно значит неверно". S>Но тем не менее это очевидно.
Ну вот сам сказал — значит неверно.
S>Качество кода напрямую зависит от мастерства программиста, а не от языка.
Очнись, кто тут про качество кода кроме тебя говорил?
g>> g>>более мощная система типов g>> S>о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть. g>> Даже не хочется тебе это объяснять. S>Значит я прав, раз у тебя больше аргументов не нашлось.
Ну да, это тоже для тебя очевидно.
Здравствуйте, Ikemefula, Вы писали:
I>Это пока. Сейчас проще старые движки использовать, потому как портирование слишком много времени занимает.
I>Со временем экономия времени разработки перевесит убытки от портированя и игры будут манагед.
Эту мантру дотнетчиков я слышу уже лет 7, не меньше Что характерно — применительно к любому софту, не только к играм. А новые движки на С++ всё пишутся и пишутся. И никто не ноет про портирование
сейчас в качестве языка скриптинга стандартом де-факто является LUA
G>Конечно не понимаешь. G>1)Скорость компиляции у C# (или другого .NET языка) гораздо выше
чем у LUA ? а в C# от тормозов JIT-а можно отказаться при желании ? (например, если скорость скриптинга и так устраивает).
G>2)Модульность получше
Какая модульность у скрипта ? И чем она лучше чем у LUA ?
G>3)Автоматическия сборка мусора, более мощная система типов
сборка мусора есть у LUA, система типов тоже довольно мощная.
Более того, интерпретируемый (sic!) LUA в тестах ухитряется обходить JIT-еный C#(!) Как минимум, обходить по объёму отжираемой памяти. А если скомпилять LUA с помощью LLVM то и по производительности кое-где обгоняет, а кое-где на уровне или чуть хуже. Т.е. в этом плане сравним.
Приветствую, gandjustas, вы писали:
g> g>> S>Если рук нет — и она не поможет, а если руки есть — она не нужна. g> g>> Тебе это очевидно? g> S>Но тем не менее это очевидно. g> Ну вот сам сказал — значит неверно.
Аргументов тоже нет, ясно.
g> S>Качество кода напрямую зависит от мастерства программиста, а не от языка. g> Очнись, кто тут про качество кода кроме тебя говорил?
Аналогий тоже не проводим, понятно.
Если программист — профессионал, то он с гораздо большей вероятностью напишет качественный код на любом из известных ему языков безотносительно поддержки управления памятью в них.
Или это тоже будешь оспаривать?
g> g>> g>>более мощная система типов g> g>> S>о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть. g> g>> Даже не хочется тебе это объяснять. g> S>Значит я прав, раз у тебя больше аргументов не нашлось. g> Ну да, это тоже для тебя очевидно.
Все ясно, аргументов точно нет.
Я вам завидую, у вас есть "железный" аргумент — "для тебя это очевидно".
g>> S>Точно это компиляция? Ты ничего не напутал? g>> Точно. S>Пускай это ктото другой скажет
Тебе это в разное время говорило, наверное, два десятка человек.
g>> g>> 2)Модульность получше g>> S>Модульность чего? g>> Вообще модульность — поддержка разбиения кода на отдельные бинарне модули. S>И у какого из языков C# этому научился?
Точно не у С++. А Java и Паскаля.
В частности, модульность C# проявляется в том, что каждый отдельный модуль является независимой единицей компиляции. В частности, из-за изменений в одном модуле не надо перекомпилировывать все модули, которые на него ссылаются (в отличие от С++, в котором не дай бог, что-то изменилось в каком-то достаточно общем .h)
g>> g>>более мощная система типов g>> S>о0 А ктото запрещает свои типы объявлять? По моему почти в любом языке есть. g>> Даже не хочется тебе это объяснять. S>Значит я прав, раз у тебя больше аргументов не нашлось.
Система типов != умение объявлять собственные типы
В частности, в C# гораздо более строгая типизация, чем в С++.
Приветствую, IID, вы писали:
IID> Эту мантру дотнетчиков я слышу уже лет 7, не меньше Что характерно — применительно к любому софту, не только к играм. А новые движки на С++ всё пишутся и пишутся. И никто не ноет про портирование
Все просто...
Вера — признание чего-нибудь истинным без опоры на факты или логику, лишь на основании внутренней (субъективной) уверенности, которая не нуждается в доказательствах, хотя иногда и подыскивает их
Здравствуйте, _ABC_, Вы писали:
_AB>А как у Rise of Flight, похоже mrTwitter может рассказать. По крайней мере, мне больше не известно российских фирм, связанных с разработкой более-менее заметных авиасимов на C++. У них тоже свой движок, весьма продвинутый, как говорят. Народ от него в восторге, но в бешенстве от всего остального.
Вот список его фич физического движка:
• Расчёт физических свойств атмосферы в широком диапазоне высот с учётом фактической температуры и давления у земли
• Многослойная модель ветрового поля и турбулентности атмосферы с учётом влияния земли
• Моделирование атмосферных турбулентных спутных следов за самолётами и взрывных волн при разрывах боеприпасов и топливных ёмкостей
• Расчёт аэродинамики воздушных винтов, самолётов и отдельных обломков в любых режимах обтекания, включая закритические
• Расчёт тензора инерции и координат центра тяжести самолётов и их отдельных элементов конструкции по 3D-модели
• Моделирование деформации и разрушения самолётов на основе механики систем конечных элементов
• Перерасчёт в реальном времени инерционно-массовых и аэродинамических характеристик самолётов и отдельных обломков с учётом их деформации и разрушения
• Моделирование траекторий движения самолётов и отдельных обломков на основе динамики системы элементов переменного состава
• Соответствие лётно-тактических характеристик самолётов их реальным прототипам с высокой степенью точности
• Термодинамическая модель двигателя внутреннего сгорания с учётом физико-химических процессов действительного цикла
• Модель столкновения самолёта с препятствием, землёй или водой на основе теории удара и гидродинамики
• Достоверная баллистика различных типов средств поражения для стрелкового оружия с учётом переменного рассеивания
• Моделирование боевых повреждений элементов конструкции и агрегатов самолётов в соответствии с типом средства поражения и дистанцией стрельбы
• Гибкая система настроек сложности управления самолётом и его системами на основе многоконтурных автоматов стабилизации заданных параметров
Приветствую, 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# гораздо более строгая типизация, чем в С++.
Помоему это наоборот минус...
I>>Это пока. Сейчас проще старые движки использовать, потому как портирование слишком много времени занимает.
I>>Со временем экономия времени разработки перевесит убытки от портированя и игры будут манагед.
IID>Эту мантру дотнетчиков я слышу уже лет 7, не меньше Что характерно — применительно к любому софту, не только к играм. А новые движки на С++ всё пишутся и пишутся. И никто не ноет про портирование
Вообще-то объяснение элементарное.
В геймдеве разработчиков на С/С++ — пруд пруди. Более того, доступно просто огромное количество различных разработок (от алгоритмов до библиотек), заточенных именно под C/C++.
Дальше включается калькулятор и считается, сколько денег будет затрачено на:
— Взять С++, известные наработки в области, необходимость разработки на более, чем одной платформе (PC + консоли)
— Взять С# и разрабатывать все с нуля
Managed игры будут. Думаю, года через 3-4, когда нарастет мясо.