![]() |
Модераторы: Rickert |
![]() ![]() ![]() |
|
Animator |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 7.5.2007 Репутация: нет Всего: 0 |
Я хочу занятся созданием 3D игр.
Я долгое время изучал JAVA и хотел бы написать игру именно на этом языке. Говорят, что мол JAVA медленная для таких задач. Что для этого лучше C++. Но этот язык у меня храмает , можно даже сказать что он у меня ели на кастылях ходит плюс ещё эти АПИ функции как - то не совсем охота учить. Я нашёл граффический пакет для разработки трёхмерья JOGL называется. Помогите плиззз кто знает , а то я совсем запутался и не знаю за какой прграммный язык взятся. |
|||
|
||||
Ryoga |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 20.9.2005 Репутация: 3 Всего: 6 |
На С++ программа будет всяко быстрее работать, чем на Яве и подозреваю, что намного. Ничего серьёзного из 3Д игр на Яве, боюсь, не написать... Если, вообще, можно что-то достойное сделать из 3Д - если честно никогда не видел 3Д игра написанных на Яве...
Мой вердикт - учите С++. Может он и посложнее Явы, но мне кажется не настолько - по-крайней мере, такое ощущение возникло, когда Яву проходили в универе... |
|||
|
||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 5 Всего: 27 |
Учи Делфи, он для новичков проще. Да и вообще проще. А по скорости если и уступает, то совсем на чуть-чуть.
|
|||
|
||||
Ryoga |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 20.9.2005 Репутация: 3 Всего: 6 |
Не надо учить то, что проще, надо то, что надо!
"Я хочу занятся созданием 3D игр." С этой фразой однозначно ассоциируется Си_что_нибудь - тем более, что человек с ним уже знаком. |
|||
|
||||
Animator |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 7.5.2007 Репутация: нет Всего: 0 |
Даааа ну неужели Джава такая медленная в этом.
Я смотрел у них на сайте java.net там выложены какие- то трёхмерные гоночки. Даже ребята Кваку 2 на джаву перевели. Разработали свой Open Gl. Даже пишут что мол в некотором случае трёхмерье на джава быстрее тянет чем на С++ ![]() Запутался я свсем. Или может быть слишком в Джаву влюбился что-ли. ![]() ![]() |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 7 Всего: 22 |
Не уходя в холивары, на чем основано заключение? ![]() Имеется в виду графический движок на Java? Если нет, то для написания логики (т.е. более "процессорной" части) Java использовалась в играх Chrome, Xpand Rally, ИЛ2 Штурмовик. Надо сказать, что они довольно давно вышли... Например C#?;) Тогда почему нельзя использовать Java? В порте Quake 2 скорость заметно ниже, но изначальный код ведь был на C написан, а он довольно низкоуровневый, на Java за счет ООП естественно будет медленнее. Нет конечно ![]() Вообще скорость работы и качество кода зависит даже не от языка, а от кривизны рук программистов. Или Gothic 3 не на C++ написан?;) К тому же в Java можно будет использовать богатые возможности сериализации, встроенную поддержку скриптов (Java 6), сетевые возможности. А если еще научиться использовать Swing для отрисовки пользовательского интерфейса и HUD (это возможно, см. проект Looking Glass), то не придется писать свой GUI. И еще, JOGL содержит довольно интересную модель конвейера рендеринга, с помощью которой можно довольно просто реализовать управление несколькими сценами, рендеринг в текстуру и т.п., уже готовую поддержку популярных типов текстур, кроссплатформенную реализацию P-буфера, удобную работу с параметрами экрана (разрешение, гамма и т.п.). И еще ИМХО код на Java будет стабильнее, чем сишный. Да и кроссплатформенный без перекомпиляции. |
|||
|
||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 5 Всего: 27 |
||||
|
||||
Ryoga |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 20.9.2005 Репутация: 3 Всего: 6 |
$tatic, сразу скажу, что ничего против Явы не имею - чтобы никто не думал, что вот де, Рёга, фанатичный Сишник. Недаром говорил нам на лекции дяденька, как же его звали - не помню уже, "Do not be emotionally attached to any language". Хотя, изучая с первого курса Си++ я к нему привык и, пока, менять ни на что не собираюсь - не вижу повода в своей сфере деятельности.
Лирическое отступление окончено. ![]() Естественно, говоря о том, что Ява будет медленнее, чем Си я думал о ЗД движке. Хотя, для меня стало откровением, что Штурмовик написан на Яве. Почему я думаю, что код на Си будет выполняться быстрее, чем код на Яве - да из принципа самого устройства языка - с компиляцией сначала в байт-код, а уж потом интерпретацией его виртуальной машиной (если я что-то в этой жизни ещё понимаю). НО, я не специалист в Яве - изучал всего полгода - если Вы знаете, почему это не так - расширьте мой кругозор, буду благодарен. Насчёт устойчивости, возможно и так, но думаю, за счёт того, что в Си больше на программиста перекладывается. Написать что-то криво становится проще - где-нибудь с памятью нахимичил и привет. (Если продолжить цепочку, то, как утверждал мой препод по Ассемблеру, "написать кривую программу на Ассемблере гораздо проще, чем на других языках ". ![]() Начёт Сишарпа ничего сказать не могу - я толком не знаю, как там всё устроено. |
|||
|
||||
dereyly |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 16.6.2006 Репутация: 2 Всего: 4 |
Мое мнение что учить специально ненужно... недумаю что твоя игра будет настолько требовательна к ресурчам что Java нехватит. К тому же рынок игр под сотовые телефоны развивается очень быстро... а продукт работующий на сотовом, на стационарнике причем независимо от платформы имеет больше шансов (реализовать себя хоть где-то)... Только весь вопрос стоит в удобстве работы в среде... открытые движки физические и графические, генераторы карт и т.д.
|
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
dereyly, на мобиле и десктопе совершенно разная джава ;)
Общие лишь синтаксис и подход ;) |
|||
|
||||
dereyly |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 16.6.2006 Репутация: 2 Всего: 4 |
Незнал ![]() Но все равно писать под мобильники помоему перспективно |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Чисто ради соблюдения истины, и C#, и последние версии JAVA не интерпретируются, а компилируются в нативный код непосредственно перед запуском. Речь идет об игровой логике, а рендер там на С++. |
|||
|
||||
Ryoga |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 20.9.2005 Репутация: 3 Всего: 6 |
![]()
arilou, раз уж такое дело, выскажитесь и Вы тоже на тему того, что человеку учить... |
||||
|
|||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Animator, думаю, что получить базовый опыт в 3D можно на любом языке, поэтому Java вполне подойдет для начала. А далее уже надо смотреть, что требуется на рынке труда (FYI, там 99% знание C++ требуется). Ну вот у нас например всё на C#. |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
arilou, и как, не тормозит?
например irrlicht на 933мгц в дотнете реально тормозило управление, а фпс было в несколько раз ниже, чем на C++ =\ 15 против 60фпс на карте с замком |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
nerezus, ну на 933-ий мы не ориентируемся. У нас шейдерный движок, без SM 2.0 ничего не получится.
|
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
arilou, ну я просто для сравнения сказал
![]() |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
nerezus, IrrLicht ксати - не managed. там просто wrapper вокруг C++-нутого кода. Так что сравнивать нельзя. У нас, например, польностью managed реализация. Вон у XNA Magic - тоже.
|
|||
|
||||
VovkaMorkovka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 30.8.2006 Репутация: нет Всего: нет |
Смотрите,
Java5, а тем более 6 по ряду тестов даже БЫСТРЕЕ, С++ за счет более продвинутых алгоритмов управления памятью Java3D поддерживает аппаратное ускорение, фактически, это надстройка над OpenGL Так что по скорости будет не на много тормознутее |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 7 Всего: 22 |
Да, Java3D поддерживает аппаратное ускорение через OpenGL или DirectX. Однако Sun не рекомендует использовать эту библиотеку для игр, поскольку она недостаточно быстрая. Если же нужно все-таки для игры использовать граф-ориентированное апи, лучше использовать Xith3D. Тем более что (современную ситуацию не знаю, поправьте если не так) Java3D 1.5 сейчас находится под лицензией JRL, а потому не разрешается ее использование в любых (не)коммерческих проектах. ИМХО в играх лучше использовать низкоуровневую обертку JOGL. |
|||
|
||||
AxNe0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 24.4.2006 Где: St. Petersburg Репутация: нет Всего: 5 |
очень интересно было почитать такие бурные дискуссии
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |