Форум Игромании

Форум Игромании (http://forum.igromania.ru/index.php)
-   Архив (Общеигровые вопросы) (http://forum.igromania.ru/forumdisplay.php?f=173)
-   -   С# и Xna - революция в игросторении. (http://forum.igromania.ru/showthread.php?t=23082)

thsGeo 26.11.2007 16:54

Я хочу добавить только одно. То, как и с какой скоростью работает программа, в большей степени зависит от "пряморукости" програмера, который ее написал, а потом уже от языка. Gothic III, написанная на native, тормозила не хило, тоже было и с NWN2, написанной на managed, но вышли патчи, и все норм работает. Это вопрос удобства и скорости разработки. Большинство предпочитают C++ ассамблеру потому, что си УДОБНЕЕ и кодить под него БЫСТРЕЕ, чем под ассамблер. Пока, в чистом виде, xna пригоден для разработки казуальшины, но майкры двигают ее не из благих побуждений, а из-за наживы - xna работает на двух платформах: Win и XBOX360. И уж поверте, если майкрософт тянется за деньгами, она из получает. Через некоторое время разработчики перейдут на XNA хотя бы только потому, что она ЭКОНОМИЧЕСКИ эффективней, чем c++ и directX. Вот и все.

pokibor 26.11.2007 17:26

Цитата:

Сообщение от thsGeo (Сообщение 2761931)
Я хочу добавить только одно. То, как и с какой скоростью работает программа, в большей степени зависит от "пряморукости" програмера, который ее написал, а потом уже от языка.

Не могу согласиться. Данное утверждение верно в отношении компилируемых языков, предоставляющих полный спектр возможностей вплоть до самых низкоуровневых. И то в настоящее время большинство компиляторов в той или иной степени оптимизируют код, и оптимизирующий код хуже заведомо медленнее.
Если же сравнивать C++ либо Pascal c C# (что и пытался делать автор данной темы), то говорить о главенстве пряморукости программера просто глупо. C++ - язык, компилируемый в машинный код. C# - язык, компилируемый в байт-код, а потом интерпритируемый Framework'ом, да ещё с автоматической очисткой памяти. Отсюда следует, что даже кривыми руками написанная программа, если только в ней нет явных ошибок, да ещё скомпилированная оптимизирующим процессором имеет все шансы оказаться быстрее, нежели на C#. Просто потому, что язык C# по-умолчанию включает в себя кучу замедляющих работу вещей.
И ещё давайте не будем забывать, что C++ предоставляет куда больше возможностей для оптимизации кода, нежели C# - опять же в силу низкоуровневых операций. Ну а повыкидывать ненужные блоки из кода и упростить нужные может, в принципе, и не такой крутой программист - если его заставят, конечно. :wnk:

Цитата:

Сообщение от thsGeo (Сообщение 2761931)
Gothic III, написанная на native, тормозила не хило, тоже было и с NWN2, написанной на managed, но вышли патчи, и все норм работает.

О, да! Как Gothic III "норм работает" я уже имел счастье наблюдать. Так и не поиграл дольше часу, ожидая "норм работающего" патча. Ну а каких-то ускорений в случае NWN2 не заметил.
Впрочем, к теме это не слишком относится. Как я уже говорил, C# замедляет программы сами по себе. Конечно, на нём есть возможность использовать unsafe-код, да. Но тогда какой смысл в использовании C# как такового?

Цитата:

Сообщение от thsGeo (Сообщение 2761931)
Это вопрос удобства и скорости разработки. Большинство предпочитают C++ ассамблеру потому, что си УДОБНЕЕ и кодить под него БЫСТРЕЕ, чем под ассамблер.

И при этом просто C разрабатывался таким образом, чтобы предоставлять все даваемые ассемблером возможности для оптимизации, а C++ от него это унаследовал. Простите, но сравнивать по скорости пары C++/ассемблер и C#/C++ просто некорректно. Вы бы ещё Prolog/ассемблер сюда добавили. C# даёт в нагрузку к себе уборку памяти и framework, С++ не даёт в нагрузку к себе ничего.

Цитата:

Сообщение от thsGeo (Сообщение 2761931)
Пока, в чистом виде, xna пригоден для разработки казуальшины, но майкры двигают ее не из благих побуждений, а из-за наживы - xna работает на двух платформах: Win и XBOX360. И уж поверте, если майкрософт тянется за деньгами, она из получает. Через некоторое время разработчики перейдут на XNA хотя бы только потому, что она ЭКОНОМИЧЕСКИ эффективней, чем c++ и directX. Вот и все.

Да ну? Я как погляжу на современную игровую индустрию - почему-то ребята гонятся за скоростью своих приложений. Иными словами, намерено затормаживать игру будет только глупый человек. Потому что те, кто код свой ради XBOX не затормаживал, обойдут его по всем критериям - и по графике, и по физике, и по AI.
Что же XNA удобнее и быстрее - попробуйте мне ещё доказать, ибо под C++ сейчас столько движков и наработок у всех имеется, что преимущества C# в скорости разработки мне не совсем понятны. Работа с памятью упрощена? И что? Нормальный программист delete где нужно и так писать не забывает, а не нормальный и в C# кучу ошибок наделает.
Microsoft, конечно, известна своим упорством в делании денег. Однако сейчас, похоже, уже не так ситуация, когда она может выиграть. Сравните продажи/использование Висты и XP. Ох, как M$ Висту продвигали! DirectX 10! Давайте все переходите под висту, пишите под Висту! И что? Да плюнули разработчики игр на Висту, к счастью! А некоторые и DirectX в гробу видали - под OpenGL пишут.
Так что M$ в кои-то веки дали по носу с её инициативами.

И ещё ответьте: Вы читали интервью Страуструпа чуть выше? В кратце - для C++ реализованы дополнительные примочки, добавляющие в него преимущества C#. А теперь вопрос - так ёлки-палки, почему ими никто не пользуется, если это так "удобно" и "экономически выгодно", а C#'пом все вдруг вдохновятся, выкинут все движки/библиотеки на C++ и строем пойдут под XNA писать, а? Из-за XBOX? А не слишком ли это глупо - писать заведомо тормознутые игры только из-за приставки, опять же заведомо более тормознутой, нежели компьтер?

thsGeo 27.11.2007 13:16

Цитата:

Если же сравнивать C++ либо Pascal c C# (что и пытался делать автор данной темы), то говорить о главенстве пряморукости программера просто глупо. C++ - язык, компилируемый в машинный код. C# - язык, компилируемый в байт-код, а потом интерпритируемый Framework'ом, да ещё с автоматической очисткой памяти. Отсюда следует, что даже кривыми руками написанная программа, если только в ней нет явных ошибок, да ещё скомпилированная оптимизирующим процессором имеет все шансы оказаться быстрее, нежели на C#. Просто потому, что язык C# по-умолчанию включает в себя кучу замедляющих работу вещей.
Не могу не согласиться.:wnk: Я ведь не говорю, что c# работает быстрее, здесь c++ в фаворе. Каждый выбирает, что нравится, есть же те, кто на бэйсике пишут.
Цитата:

Да ну? Я как погляжу на современную игровую индустрию - почему-то ребята гонятся за скоростью своих приложений.
Да, что-то последние проекты так и летают... Последней реально оптимизированной игрой бала Half-Life 2, а остальные делают так, лишь компилировалась.
Цитата:

Microsoft, конечно, известна своим упорством в делании денег. Однако сейчас, похоже, уже не так ситуация, когда она может выиграть. Сравните продажи/использование Висты и XP. Ох, как M$ Висту продвигали! DirectX 10! Давайте все переходите под висту, пишите под Висту! И что? Да плюнули разработчики игр на Висту, к счастью!
То же, помниться, было с ХР. Все говорили, что тормозит и никому она не нужна, но сейчас почти все под ней сидят.:wnk:
Sorry, всемени нету. Продолжение следует...

pokibor 27.11.2007 13:32

Цитата:

Сообщение от thsGeo (Сообщение 2766462)
Не могу не согласиться.:wnk: Я ведь не говорю, что c# работает быстрее, здесь c++ в фаворе. Каждый выбирает, что нравится, есть же те, кто на бэйсике пишут.

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

Цитата:

Сообщение от thsGeo (Сообщение 2766462)
Да, что-то последние проекты так и летают... Последней реально оптимизированной игрой бала Half-Life 2, а остальные делают так, лишь компилировалась.

Опять не могу согласиться! Конечно, известные игры часто делают спустя рукова, но хитами такие не становятся. А вот неизвестную игру так делать - путь к поражению.
И опять же к медлительности - не забываем, C# сам по себе замедляет игру при том, что основные процедуры давно уже упакованы в библиотеки. Я хочу сказать, что все те же тормоза при разработке на C# останутся + добавятся ещё тормоза языка. И какой смысл в C# тогда?

Цитата:

Сообщение от thsGeo (Сообщение 2766462)
То же, помниться, было с ХР. Все говорили, что тормозит и никому она не нужна, но сейчас почти все под ней сидят.:wnk:

В случае XP под неё все достаточно быстро перешли, и там майкрософт эксклюзив пробить не пыталась.

Жду конкретных возражений.

Aicek 27.11.2007 15:28

Ну тут и баталия однако =) Я программирование знаю плохо но меня почему то больше убедил pokibor
=)

Kalimdor 27.11.2007 17:15

Цитата:

Не могу не согласиться. Я ведь не говорю, что c# работает быстрее, здесь c++ в фаворе. Каждый выбирает, что нравится, есть же те, кто на бэйсике пишут.
Согласен.
Цитата:

Как Gothic III "норм работает" я уже имел счастье наблюдать.
После 4 патча у меня всё нормально работало.
Цитата:

Последней реально оптимизированной игрой бала Half-Life 2
Ну на счёт оптимизации. Помимо желания у разработчиков игр за спиной издательство, которому только деньги нужны. Соответственно это резко ограничивает время разработки.

CMogilko 27.11.2007 19:13

такой вопрос: идёт ли работа DirectX под Framework через байт-код? Т.е. основная нагружаемая часть железа в играх - видео карты, процы же редко сильно нагружаются, а если игра через XNA идёт медленней только на процессоре, а на видео карте не отражается, то проблем нету и я могу плюнуть на относительную тормознутость. А вот если отражается на видео карте, то XNA говно полюбэ, ведь разрабочики всегда выжимают всё до последней капли из ведео карты(

pokibor 27.11.2007 19:52

Цитата:

Сообщение от CMogilko (Сообщение 2768615)
такой вопрос: идёт ли работа DirectX под Framework через байт-код?

Очевидно, что частично. Иначе как через байт-код, программа под Framework работать не может. С другой стороны, реализовывать типовые функции из DirectX через байт-код было бы очень тупо даже для майкрософта.

Цитата:

Сообщение от CMogilko (Сообщение 2768615)
Т.е. основная нагружаемая часть железа в играх - видео карты, процы же редко сильно нагружаются

ДА НУ??? То-то игры за тормознутость даже на топовом железе ругают... :lol:
Через видеокарту идут только достаточно низкоуровневые операции плюс шейдеры. Всё остальное грузит процессор. А игра - это, вообще-то, не только графика. Это ещё и физика, и огромные объёмы памяти. А память у нас в C# с автосборщиком. И вот этот автосборщик должен постоянно проверять, а нельзя ли очистить вот эти полтысячи ссылкок? А может ту тысячу отчистить? Догадываетесь, из-за чего будут программы тормозить? И даже всеобщий переход на физические ускорители и (о, Боже!) ускорители AI ситуацию с памятью не спасёт, ибо данные-то игровые в родимой ОЗУ хранятся, а там у нас сборочка памяти работает-с.
И скажите мне честно: Вы планируете на физический ускоритель и ускоритель AI переходить, а? Не думаю.

Цитата:

Сообщение от CMogilko (Сообщение 2768615)
а если игра через XNA идёт медленней только на процессоре, а на видео карте не отражается, то проблем нету и я могу плюнуть на относительную тормознутость.

Щаз! Просто запустите Готику 3 на каком-нибудь старом Пентиуме, а потом уже будете говорить о плевках на относительную тормознутость.
"Система всегда тормозит со скоростью самого медленного своего компонента".

Цитата:

Сообщение от CMogilko (Сообщение 2768615)
А вот если отражается на видео карте, то XNA говно полюбэ, ведь разрабочики всегда выжимают всё до последней капли из ведео карты(

Разработчики выжимают всё до последней капли из всего, откуда только могут её выжать. Если Вы не в курсе, именно мощь процессора стоит на пути улучшения искуственного интеллекта и физики игры. Физические ускорители пока проваливаются, а об ускорителях AI ничего, кроме туманных проектов, и не слышно.

CMogilko 27.11.2007 21:21

Цитата:

Сообщение от pokibor (Сообщение 2768909)
ДА НУ???

на своём core 2 duo ни разу не наблюдал загрузку проца выше 60% даже в крайзисе. все тормоза в играх решаются ослаблением графики, что не должно влиять на нагрузку проца значительно.

pokibor 27.11.2007 21:36

Цитата:

Сообщение от CMogilko (Сообщение 2769565)
на своём core 2 duo ни разу не наблюдал загрузку проца выше 60% даже в крайзисе. все тормоза в играх решаются ослаблением графики, что не должно влиять на нагрузку проца значительно.

А, ну Вы бы ещё на Cray'е протестировали. :lol: Создатели игр, как правило, редко ориентируются на топовое железо, а стараются заставить игру работать на менее мощной конфигурации.
Далее, насчёт ослабления графики - это зависит от реализации этой самой графики. Конечно, использованием топовой видекарты с последней версией шейдеров можно несколько разгрузить процессор, но всё-таки конфигурации у пользователей, как правило, сбалансированные. Ну и к тому же шейдеры - это отдельная статья программирования, не имеющая отношения к основному языку написания программы.
Кстати, Вы не думали, что в некоторых случаях, ослабляя графику, снимаете нагрузку именно с процессора, который вынужден тратить время на софтовую эмуляцию отстуствующих в видеокарте возможностей, а?

Ну и жду возражений на остальные аргументы, особенно по поводу памяти. Да и по поводу физики с AI тоже не помешает. В Кризис я, правда, не играл (и не собираюсь), но ещё не видел игры с нормально реализованным AI, а физика была нормально реализована только в специальных демках, только на то и рассчитаных. Это при том, что все алгоритмы для улучшения и того, и другого уже давно известны. А всё почему? Да как раз потому что если ЭТИМ загрузить процессор, то он загнётся всё считать. Потому сейчас и особо не разгоняются в этом плане, особенно по статье AI.

Далее, не лишне Вам будет напомнить, что Core 2 Duo он как бы немного двухядерный, а для получения максимальной выгоды от второго ядра в случае одного приложения нужно это самое приложение особо оптимизировать. Так что Ваши 60% могут быть не следом того, что Кризис не может загрузить процессор на все 100%, а следом плохой оптимизации под двухъядерный процессор. Только и всего.

CMogilko 28.11.2007 15:41

Цитата:

Сообщение от pokibor (Сообщение 2769715)
Кстати, Вы не думали, что в некоторых случаях, ослабляя графику, снимаете нагрузку именно с процессора, который вынужден тратить время на софтовую эмуляцию отстуствующих в видеокарте возможностей, а?

Не стоит ориентироваться на видеокарты прошлого поколения, подавляющее большинство видеокарт сегодня имеют аппратную поддержку всех технологий для игр, имеющихся в момент выпуска видеокарты. Если запускать игру при высоких настройках на видеокарте 2х летней давности, то это проблема запускающего.
Цитата:

Сообщение от pokibor (Сообщение 2769715)
Ну и жду возражений на остальные аргументы, особенно по поводу памяти.

их нет.
Цитата:

Сообщение от pokibor (Сообщение 2769715)
А всё почему? Да как раз потому что если ЭТИМ загрузить процессор, то он загнётся всё считать. Потому сейчас и особо не разгоняются в этом плане, особенно по статье AI.

а я не про это говорил, я говорил, что если переделать игру под Framework, то из-за несильно возросшей нагрузке процессора тормозов не будет, т.к. он очень сильно не нагружается из-за слабого ИИ и физики. В данный момент процессор не так сильно нагружен, но и не выдержит всех обсчётов физики и ИИ, а вот работу через Framework справится. Он же не каждые 10 секунд проверяет ощистку памяти. Да и не совсем это байт-код, он всё-таки компилируется перед запуском из MSIL в машинные коды процессора.

pokibor 28.11.2007 16:12

Цитата:

Сообщение от CMogilko (Сообщение 2772636)
Не стоит ориентироваться на видеокарты прошлого поколения, подавляющее большинство видеокарт сегодня имеют аппратную поддержку всех технологий для игр, имеющихся в момент выпуска видеокарты. Если запускать игру при высоких настройках на видеокарте 2х летней давности, то это проблема запускающего.

Это не проблема запускающего, а убытки издателя, который стремится впихнуть как можно лучшую графику в как можно меньшие требования. Далее, насчёт того, какие технологии поддерживаются в современных видеокартах, хотелось бы знать Ваш опыт написания шейдеров. Дело в том, что шейдеры накладывают приличные ограничения на обрабатываемое собой. Всё, что в них не укладывается, идёт в нагрузку на процессор.
А насчёт "Не стоит ориентироваться на видеокарты прошлого поколения" Вы скажите издателям игр. К счастью, пока они думают несколько иначе, а не заставляют всех повально на сверхновые железяки переходить.

Цитата:

Сообщение от CMogilko (Сообщение 2772636)
их нет.

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

Цитата:

Сообщение от CMogilko (Сообщение 2772636)
а я не про это говорил, я говорил, что если переделать игру под Framework, то из-за несильно возросшей нагрузке процессора тормозов не будет, т.к. он очень сильно не нагружается из-за слабого ИИ и физики. В данный момент процессор не так сильно нагружен, но и не выдержит всех обсчётов физики и ИИ, а вот работу через Framework справится.

Точку зрения "давайте оставим технологии всё как есть, перейдём на фреймворк и будем радоваться жизни" будете издателям говорить.
Нет, конечно, если написать на Framework какой-нибудь Quake 3, он, конечно, полетит и на семпроне. Вот только такая игра провалится в конкурентной борьбе.
Железо, к сожалению, развивается медленнее алгоритмов, и зачастую как раз под них, как показала практика.
И насчёт двухядерника тоже возражений нет? Просто я не вижу реальных доказательств, что в сбалансированной конфигурации процессор играет меньшую роль, нежели видеокарта.

Цитата:

Сообщение от CMogilko (Сообщение 2772636)
Он же не каждые 10 секунд проверяет ощистку памяти. Да и не совсем это байт-код, он всё-таки компилируется перед запуском из MSIL в машинные коды процессора.

А если он не каждые 10 секунд будет проводить очистку памяти, то она очень скоро банально забьётся ненужным для игры в данный момент мусором. Отлично - будем покупать в 2 раза больше ОЗУ, чем реально требуется игре. Это при том, что Вашему Кризису 2 гига рекомендуется. Значит, потребуется четыре. Одному ему. Весело. На цивилизованом западе, где игры покупаются честно, даже тамошние богачи разорятся так своё железо обновлять.

О, ну если этот байткод будет компилится в машинные коды процессора, то я с чистой совестью запущу какого-нибудь "Ведьмака" и подожду полчаса до запуска игры, пока код соизволит скомпилится. Зато потом буду радоваться жизни. До следующего запуска.
Нет, я всё-таки ещё надеюсь добиться у Вас объяснений, что же такое даёт C#, чего не даёт C++ и что позволит ему одержать верх.
Сборщики памяти для C++ есть (ими никто не пользуется). Библиотеки те же самые, что и для C#, есть. Так что же такое эта XNA даёт (кстати, она вроде как на DirectX 10, а потому по определению работает медленнее этого самого DirectX 10, уже не говоря про быстрый OpenGL), что игры будут под неё писаться в условиях противостояния красот и фишек? Ответ X-BOX не принимается т.к. насчёт заведомой тормознутости приставки по сравнению с компьютером опять же возражений не было.

CMogilko 28.11.2007 16:27

Цитата:

Сообщение от pokibor (Сообщение 2772821)
Это не проблема запускающего, а убытки издателя, который стремится впихнуть как можно лучшую графику в как можно меньшие требования.

издатель ориентируется на игроков своей страны, а это, в основном, западные игроки, которые не сидят с одной видеокартой по 3 года.
Цитата:

Сообщение от pokibor (Сообщение 2772821)
хотелось бы знать Ваш опыт написания шейдеров.

небольшой есть, просто посмотрел ради интереса, но серьёзно не занимаюсь.
Цитата:

Сообщение от pokibor (Сообщение 2772821)
И насчёт двухядерника тоже возражений нет?

ещё при появлении Hyper-Threading 3 года назад многие игры начали обзаводится работой в 2х потоках, даже патчами, врядли эта тенденция остановилась.
Цитата:

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

мой друг года 2 назад, очень комфортно играл в современные игры на GeForce 6200 и P3 1.0 GHz, в то время, когда у меня стояла GeForce 5500 и P4 3.06 GHz и игры шли с более низким качеством.
Цитата:

Сообщение от pokibor (Сообщение 2772821)
О, ну если этот байткод будет компилится в машинные коды процессора, то я с чистой совестью запущу какого-нибудь "Ведьмака" и подожду полчаса до запуска игры, пока код соизволит скомпилится.

игры под X-BOX360 идут под .NET и запускаются не пол часа, хотя идут под более медленной системой. Да и падение производительности максимум 10%, иначе игр под .NET вообще бы не было
Цитата:

Сообщение от pokibor (Сообщение 2772821)
Нет, я всё-таки ещё надеюсь добиться у Вас объяснений, что же такое даёт C#, чего не даёт C++ и что позволит ему одержать верх.

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

ЗЫ соре за даблпостинг, на клаве какая-то кнопка начала "отправлять быстрый ответ"

pokibor 28.11.2007 17:14

Цитата:

Сообщение от CMogilko (Сообщение 2772952)
издатель ориентируется на игроков своей страны, а это, в основном, западные игроки

Верно-верно. Это в-основном западные казуальные игроки, которые не могут сами заменить видеокарту, у которых кроме компьютера ещё и приставки есть, у которых вообще цены повыше чем у нас будут... И которые именно что сидят с одной видеокартой по три года хотя бы потому, что не так интерисуются компьютером.
И в то же время есть хардкорщики и пресса, которые в играх разбираются и которые могут обеспечить достаточную рекламу и раскрутку игры (рекламную компанию Halo 3 не каждый может позволить). То есть нужно угодить и технологиями, чтобы игру расхвалили, и достаточно низкими системными требованиями, чтобы она шла у как можно большего круга обывателей.
Кстати, вот интересно - почему мы считаем, что Запад поголовно как сыр в масле катается? Это вовсе не так. Уровень жизни там выше, да. Но не будем забывать, что у нас многие люди вообще и компах только в новостях слышали.

Цитата:

Сообщение от CMogilko (Сообщение 2772952)
небольшой есть, просто посмотрел ради интереса, но серьёзно не занимаюсь.

Честно говоря, это и видно.

Цитата:

Сообщение от CMogilko (Сообщение 2772952)
ещё при появлении Hyper-Threading 3 года назад многие игры начали обзаводится работой в 2х потоках, даже патчами, врядли эта тенденция остановилась.

Оптимизация под два потока вовсе не так проста, как кажется.

Цитата:

Сообщение от CMogilko (Сообщение 2772952)
мой друг года 2 назад, очень комфортно играл в современные игры на GeForce 6200 и P3 1.0 GHz, в то время, когда у меня стояла GeForce 5500 и P4 3.06 GHz и игры шли с более низким качеством.

Года два назад? Это при том, что для вышедшего в 2004 году Half-Life уже требовался минимум 1.2 ГГц процессор, а разработчики занижать требования ох как не склонны? И физика, и AI нормально работали? И почему я банально не верю...

Цитата:

Сообщение от CMogilko (Сообщение 2772952)
игры под X-BOX360 идут под .NET и запускаются не пол часа, хотя идут под более медленной системой. Да и падение производительности максимум 10%, иначе игр под .NET вообще бы не было

Они компилируются в код ядра, да? :eek: И не тратят на это времени? Ага, как же.
А как насчёт того, что по данным Майкрософта ( http://forum.igromania.ru/showpost.p...28&postcount=2 ) замедление 35%, а?
А хороших передовых не тормозящих игр под .NET и нет. Ну а сапёра какого на C# в пример приводить как-то несерьёзно. :lol:
Так игры и на Basic'е есть. Будем кричать, что Basic C++ рвёт на запчасти теперь?

Цитата:

Сообщение от CMogilko (Сообщение 2772952)
Но появляется мультиплатформенность, позволяющая играть на других осях, виндовс обязана своей популярностью именно играм, так вполне можно будет запустить игру с одного диска и под линуксом и под маком.

Ага, сейчас пойду ставить на компьютер мак специально чтобы погонять под ним в квейк какой. Виндоус, как не печально, прочно укрепился на роли популярной домашней системы, иначе бы игры преимущественно под него не писали.
Далее, запуск под Линуксом и Маком - это лишь теория, т.к. под ними ещё должен появится не только базовый фреймворк, но и DirectX (при том, что 10 вроде как для висты эксклюзив пока... или уже нет?, а XNA на десятке), и всё прочее...
Между тем вот незадача - C++ сам по себе кроссплатформенный язык, а OpenGL есть под тем же линуксом. То есть можно перенести игру с OpenGL без серьёзных перемен в коде. Однако ж почему-то под OpenGL не таки много игр делают (кстати, вот это зря!). Так может, дело не в мультиплатформенности?
Ну и насчёт того, что XBOX медленнее компа я уже говорил, да и Вы это сами написали.

[CCCP] Monster 29.11.2007 13:57

CMogilko

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

pokibor

Давай лучше статьи писать:) А то тут спор глухого с немым получается:)

serializer 30.11.2007 15:28

Не могу не высказаться по этому поводу.
Цитата:

Сообщение от pokibor (Сообщение 2762228)
О, да! Как Gothic III "норм работает" я уже имел счастье наблюдать.

Сам себе противоречишь: сначало говоришь, что все крупные разработчики гонятся за скоростью, а теперь приводишь такие игры. Хотя 3-я готика с последним патчем на рекомендуемой конфигурации и не тормозит (по крайней мере у меня)
Цитата:

Сообщение от pokibor (Сообщение 2762228)
И что? Да плюнули разработчики игр на Висту, к счастью!

Да вы что? Кто плюнул? Кармак?
Цитата:

Сообщение от pokibor (Сообщение 2762228)
А некоторые и DirectX в гробу видали - под OpenGL пишут.

Опятьже Кармак и некоторые энтузиасты. Да и вообще, все известные игры на огл сделаны восновном на кармаковском движке
Цитата:

Сообщение от pokibor (Сообщение 2762228)
а C++ от него это унаследовал.

Основное отличие С++ от С - это поддержка ООП (ктобы этого не знал?)
И говорить, что самое главное в движке - ООП, это бред. Есть и неооп движки.
-----
Если виста тормозит на вашем компьютере, то это не значит, что Виста - говно.
И разработчики современных игр не учитывают, что у пользователя видеокарта 10 лет не менялась.
Цитата:

Сообщение от pokibor (Сообщение 2773313)
То есть нужно угодить и технологиями, чтобы игру расхвалили, и достаточно низкими системными требованиями, чтобы она шла у как можно большего круга обывателей.

Однако прогресс давит на разрабтчиков. Если бы все ориентировались только на скорость то 3D графики так бы и не появилось.
Цитата:

Сообщение от pokibor (Сообщение 2773313)
Виндоус, как не печально,

И чегоже печального. Чтобы говорить, что гейц дурак, нужно как минимум быть умнее его ). А вы наверное создали свою ОС, которая лучше Виндовс?
Цитата:

Сообщение от pokibor (Сообщение 2773313)
Оптимизация под два потока вовсе не так проста, как кажется.

А что разработка игры - это просто и легко. К томуже если это даст хоть 5 фпс, это того стоит. и современные приложения делают обычно больше 2-х потоков.
-----
Никто и не спорит, что С++ быстрее С#, но говорить, что последний - говно и никто не будет на нем писать как минимум глупо. Игры и движки на нем делают и есть готовые. А если вам хочется оптимизации, пишите под DOS, он вообще не больше 1мб памяти ест, вот только боюсь проблемы будут.
Почемуже на С# будут писать? Может потому что в это вбухивает MS? Или они просто не имели дело с pokibor'ом? =)
Цитата:

Сообщение от [CCCP
Monster;2777515]Сейчас ты просто не совсем себе предстваляешь, как работает двигатель игры и как именно он использует ресурсы процессора и видеокарты.

Неужто нужно быть гением, чтобы понимать как работает движок?

pokibor 30.11.2007 15:46

serializer, во-первых, попрошу воздержаться от бранных слов. Во-вторых, [CCCP] Monster про спор немого с глухим написал верно, так что воздержусь от своих комментариев, особенно после Вашей последней фразы, отлично Вас иллюстрирующей. В-третьих, перечислите игры "только под DirectX 10 и Висту" (как и хотела M$) и тогда поймёте, кто именно на неё плюнул. В-четвёртых, я и сам на C# пишу. Удивлены? А я пишу, потому что всякую мелочь на нём писать действительно быстрее и удобнее, нежели на Visaul C++ под Win 32. Там есть быстрый и удобный конструктор оконных приложений и нет глюков Борландовского Builder'а. Но вот писать на нём серьёзную игру мне в жизни в голову не придёт по указаным выше причинам. И по ним же это не будет быстрее и удобнее, нежели на C++.
И перечитайте название темы: "С# и Xna - революция в игросторении". Речь идёт конкретно об игростроении, причём в-основном о серьёзных коммерческих играх.
P.S. А статьи я пишу, только медленно. Сейчас вот хочется собрать небольшую программу по нечёткой логике. Кстати, собираю я её на C#, ибо для небольших оконных приложений он вполне удобен. Вот так.

serializer 30.11.2007 16:03

pokibor
Я написал свои коментарии и четко их аргументировал.
Отвечаю вопросы:

Цитата:

Сообщение от pokibor (Сообщение 2783445)
последней фразы, отлично Вас иллюстрирующей.

Вот уж не думал, что это может так обидеть другого человека, а темболее и "иллюстрировать" меня.
Цитата:

Сообщение от pokibor (Сообщение 2783445)
В-третьих, перечислите игры "только под DirectX 10 и Висту" (как и хотела M$)

Естественно, что на заре ДХ10 их мало. Но говорить что их не будет...
Цитата:

Сообщение от pokibor (Сообщение 2783445)
и сам на C# пишу

Ничуть не удивлен.
Цитата:

Сообщение от pokibor (Сообщение 2783445)
И по ним же это не будет быстрее и удобнее, нежели на C++.

Разве я писал чтото про быстроту и удобноть? Какраз наоборот.
Цитата:

Сообщение от pokibor (Сообщение 2783445)
так что воздержусь от своих комментариев

А зря, я расчитывал на ответ
ЗЫ. закройте тему если нечего писать.
ЗЫ. Избавте от ВЫканья, это всеже действует на нервы

pokibor 30.11.2007 16:25

Цитата:

Сообщение от serializer (Сообщение 2783561)
Естественно, что на заре ДХ10 их мало. Но говорить что их не будет...

Их не мало, их нет вообще. То есть ни одной. Даже для Halo 2 Виста необходима не по реальным, а по маркетинговым причинам - её взломали и заставили запускаться на XP. Crysis тот же заставили идти на XP в максимальном качестве: http://forum.ixbt.com/topic.cgi?id=25:19980-10#331 и http://forum.ixbt.com/topic.cgi?id=25:19980-9#292.
Особенно радуют слова "Но все равно играбельней, чем под Windows Vista." и "разглядывая скриншоты Dx10 very high и dx9 very high... не вижу никакой разницы (vista x86, 8800gts)!!! Но зато четко вижу разницу в скорости (~15-20%)."
Иными словами факты говорят о том, что Виста и DX10 как основа для игр реально никому не нужны, разве что Micro$oft денег даст и заставит всех писать под них (но столько денег даже у M$ не найдётся).
А если ещё иметь в виду, что DirectX 10 - это не XNA, то XNA тем более вообще никому не нужна и даже не планирует быть нужной.
Так что извините, но факты - вещь упрямая. А предполагать Вы можете всё, что угодно. Я же предпочитаю на факты смотреть.

Цитата:

Сообщение от serializer (Сообщение 2783561)
А зря, я расчитывал на ответ

Ладно, в виде исключения, хотя чувствую, что результат будет столь же глухим:
То, что разработчики не оптимизируют свои игры ещё не значит, что они не гонятся за скоростью и пойдут писать на C#. Потому что на C# у них выйдет точно такая же "оптимизация", а скорее даже хуже за счёт отсутствия работы с памятью.
Что OpenGL быстрее DirectX - факт. Кармак далеко не самый глупый человек, его движки вроде как покупают за боооольшие деньги.
Про ООП Вы ответили на какой-то выдуманный собой вопрос, моего же аргумента и краем не коснулись.

Цитата:

Сообщение от serializer (Сообщение 2783561)
ЗЫ. закройте тему если нечего писать.

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

Цитата:

Сообщение от serializer (Сообщение 2783561)
ЗЫ. Избавте от ВЫканья, это всеже действует на нервы

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

serializer 30.11.2007 16:58

pokibor
Пишу последний, надеюсь, пост в этой теме:
1 . Будут писать только потому что МС так надо. И МС вложит масимум сил и денег для этого.
2 .
Цитата:

Сообщение от serializer (Сообщение 2783561)
Разве я писал чтото про быстроту и удобноть? Какраз наоборот.

3 . Про ООП я взял это из темы "Проектируем ядро игры"
4 . Вот именно, что все огл игры основаны на кармаковском движке. Покупают? Unreal Engine 3 (это тот что с ДХ10) тоже покупают и по статистике гораздо больше.
5 . Очевидно, что API, основанное на СОМ объектах будет медленнее
6 . "разбирающихся" в чем? вы хотите найти людей, которые смогут оспорить ваше мнение. Тогда на gamedev.net или подобные сайты. А здесь вы таких точно не найдете.
7 . Если для вас Ты - это оскарбление, то с вами я буду на ВЫ.


Часовой пояс GMT +4, время: 12:13.

Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.