LINUX.ORG.RU

Разработка игр на Java


0

0

В Java 1.6 есть OpenGL API, или надо использовать сторонние расширения?

Как в Java перейти в полноэкранный режим и установить свое разрешение?

Как работать с устройствами ввода?

anonymous

http://lwjgl.org - приятная библеотека, ответит на все эти вопросы.

anonymous
()

В Java есть Java 3D и FullScreen API. Если их нет в JDK, то по крайней мере они есть на сайте Sun и им же поддерживаются. Не надо никаких сторонних либ.

Kpoxman ★★
()
Ответ на: комментарий от anonymous

Про 3D звук автор топика не спрашивал. Хотя, может ему это все равно понадобится. Про инпут: не помню точно, что там есть подходящего. Но было бы странно, если бы при наличии FullScreen API не было способа управлять вводом.

Kpoxman ★★
()

>Разработка игр на Java

Лучше выпей йаду сразу и не обрекай других на мучения. :)

anonymous
()
Ответ на: комментарий от anonymous

> Лучше выпей йаду сразу и не обрекай других на мучения. :)

Поддерживаю.

AMDmi3
()
Ответ на: комментарий от Kpoxman

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

java3d это высокоуровневая библиотека, неизвестно нужна ли она автору топика. он про opengl спрашивал. из биндингов opengl достойны внимания только jogl и lwjgl. и то и другое не входят в jdk. jogl это opengl 2.0 + расширения, lwjgl - 2.1 + расширения. lwjgl динамичней развивается, jogl соответствует стандарту. jogl проектировался из расчета на jdk 1.4, lwjgl - 1.5.

IMHO lwjgl удобнее и в качестве opengl биндинга, и тем что кроме opengl содержит все нужные для игры api. что будет удобнее вопрошающему он решит сам.

anonymous
()
Ответ на: комментарий от anonymous

>Почему ты так считаешь?

Как допишешь, не забудь ссылочку на лор закинуть. ;) Хочу посмотреть на первую нетормозящую жаба-игру. :D

anonymous
()
Ответ на: комментарий от anonymous

>Jake2 is a Java 3D game engine.

>http://bytonic.de/html/benchmarks.html

Знаешь, даже информация с их сайта _уже_ не внушает оптимизма. Не будем даже упоминать об использовании памяти, постоянстве фпс (мусорщик же должнен когда-то работать) и opengl, знаешь ли, это не показатель. На слабом железе вообще ужос какой-то

>56 fps (C) 21 fps 31 fps (жаба)

>AMD Athlon XP 2400

Бугага. Ну тут вообще смешно. На таком железе подобная игрушка будет летать, даже если ее на баш-е написать. :D

Повторюсь, я быстрой программы (вообще, даже не игр) _не видел_.

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

anonymous
()
Ответ на: комментарий от anonymous

Слишком много тянуть + у меня все равно открытый атишный драйвер стоит.

anonymous
()
Ответ на: комментарий от anonymous

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

Ради интереса скачал http://tribaltrouble.com, и с удовольствием поигрался на очень слабом железе: ноутбук celeron 1.5GHz, 512Mb RAM, видео i915GML. Не тормозит.

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

asso_w
()
Ответ на: комментарий от anonymous

>Знаешь, даже информация с их сайта _уже_ не внушает оптимизма.

я не для холивара этот линк запостил

>В Java 1.6 есть OpenGL API, или надо использовать сторонние расширения?

>Как в Java перейти в полноэкранный режим и установить свое разрешение?

>Как работать с устройствами ввода?

ковыряясь в исходниках jake2 на эти все вопросы можно получить ответы

>Не будем даже упоминать об использовании памяти, постоянстве фпс (мусорщик же должнен когда-то работать)

ну разработчики здесь постарались, если сравнивать например с http://sourceforge.net/projects/powermanja, то в jake работа сборщика мусора не заметна (нет замираний как в powermanja), фпс в отличии от нативной кваки на статичной сцене скачет +/-10, но как вы уже заметили для такого железа как Atlon 2400 XP или коры дуо это совершенно не критично

anonymous
()
Ответ на: комментарий от anonymous

Когда я достигну совершенства в написании игрушек под JavaSE, к тому времени, во-первых, мощность компьютеров возрастете многократно (вспомним первый закон Мура, ждать осталось не долго), а во-вторых, сами виртуальные машины совершенствуются и становятся все умнее и умнее. По сему, я думаю, что будущее все-таки за Java, .Net и схожими с ними технологиями, на которых значительно проще и быстрее разрабатывать программы. А языки типа C, C++ займут свою узкую нишу. Как занял ее в свое время ассемблер.

ИМХО Споры по поводу скорости выполнения программ написанных на C/C++ по сравнению с предшественниками разгорались тоже нешуточные! Тем не менее, сложно сейчас найти прикладную программу, написанную на ассемблере! Прогресс, одним словом...

anonymous
()
Ответ на: комментарий от asso_w

>а очень слабом железе: ноутбук celeron 1.5GHz, 512Mb RAM, видео i915GML. Не тормозит.

Если это называть слабым..

> сначала хотя бы изучить предмет спора

Сходи для начала по собственной ссылке. Там не чистая жаба.

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

+ Современное железо с легкостью проглатывает тормоза подобных посредственных игрушек.

Прошу ссылок на жаба-игры с _современной_ графикой уровня не жабаперделок.

anonymous
()
Ответ на: комментарий от anonymous

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

Кто-то там восклицал, что не видел на Java ни одного быстрого приложения. Пожалуйста, внесите в студию тормозное Java приложение и его летающий аналог на C++, Perl, PHP (или что там у вас...).

Тем более бредовы высказывания про невозможность написания игр на Java. Все 3D выполняется библиотекой, которая юзает OpenGL. Даже если бы Java тормозила, ей было бы особо негде проявить свою тормознутость.

Kpoxman ★★
()
Ответ на: комментарий от Kpoxman

>В основном они из тех, кто на Java писал максимум helloworld.

Зачем что-то писАть? С позиции пользователя тормоза легко заметны. ;)

>ожалуйста, внесите в студию тормозное Java приложение и его летающий аналог на C++

Да на здоровье.

jdict - stardict

eclipse - ide по вкусу

игра colonization (на жабе которая) - любая другая игра

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

>Все 3D выполняется библиотекой, которая юзает OpenGL. Даже если бы Java тормозила, ей было бы особо негде проявить свою тормознутость.

Дружок, читаем выборочно, да?

>>Я допускаю, что на жабе можно писать достаточно быстрые opengl приложения.

Особенно, если кроме графики там ничего больше нет. ;) Есть говорите? А, ну конечно, сторонние либы на плюсах + "запускалка и кнопочки" на жабе. Ага. Игра на жабе говорите? :D Мухаха.

anonymous
()
Ответ на: комментарий от anonymous

> eclipse - ide по вкусу

Ну так что за ide то? Вижак? Он, мягко говоря, тормознее.

Лично делал тесты: работа с памятью, интенсивные вычисления. Java медленнее в 2 раза, если компилировать C++ intel compiler со всеми оптимизациями. А если с памятью меньше работать (просто вычислеия), то Java и C++ почти одинаково быстры.

> Особенно, если кроме графики там ничего больше нет. ;) Есть говорите? А, ну конечно, сторонние либы на плюсах + "запускалка и кнопочки" на жабе. Ага. Игра на жабе говорите? :D Мухаха.

Стороняя либа в процессоре видеокарты. Или тоже на плюсах предлагаете переписать?

Kpoxman ★★
()
Ответ на: комментарий от anonymous

Я работаю в геймдеве. Все коллеги, с которыми я общался на эту тему, согласны в том что Си++ в геймдеве постепенно умрет, как умерли в свое время Ассемблер и Си. Нет единого мнения что придет на смену Си++. Наиболее вероятным вариантом считается Java, на втором месте стоит C#.

anonymous
()
Ответ на: комментарий от Kpoxman

>Или тоже на плюсах предлагаете переписать?

На жабе. ;)

>Я работаю в геймдеве. Все коллеги, с которыми я общался на эту тему, согласны в том что Си++ в геймдеве постепенно умрет

Предлагаю совершить коллективное увольнение. :D

anonymous
()

Помоему уже всем должно быть понятно, что Java для 3D не подходит никак.

Вот, показательно:
http://jcrpg.blogspot.com/

Using this jcrpg freegamer topic's posted models I performance tested it on the low-end test videocard (6200Go), and I am amazed and surprised! I got usable performance and loading time! More then 10 of these models on the screen, lot more polygons, yet 20+ FPS! Check the screenshot (keep in mind that this won't be in the game in the near future, just a test screenshot)!

Божеж ты мой! 10 моделей, пара тыщ (судя по скрину) поликов, и целых 20+ FPS!!! А еще он пишет что на 8800GTS, AMD64 X2 4800+ у него все летает..

Я считаю так: коммерческий gamedev может пользоваться чем угодно. Java, .NET, C#, brainfuck - они двигают прогресс, для Crysis покупают high-end железо, железо дешевеет и т.д. Логично что это мнение разделяют коммерческие game разработчики.

Но в мире opensource тебя по меньшей мере не поймут (разве что javaфилы). Ибо люди серьезней, и лишний гиг памяти ради какой-то поделки покупать никто не будет. Аналогично с питоном, кстати, судя по FretzOnFire и Balazar.

В общем, хочешь - пиши, займешь достойное место рядом с такими шедеврами, как http://happypenguin.org/show?TUER:

You can shoot robots in a museum with your rocket launcher.
It uses a kind of dynamic lighting.
You can also perform screenshots and snapshots.
There is two modes in the game: "slow" and "experimental".

AMDmi3
()
Ответ на: комментарий от AMDmi3

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

Что касается TUER, то OpenGL в TUER используется только для постпроцессинга. 3D графика рендерится софтварно при помощи рейкастинга. Он будет тормозить на любом языке программирования:

You wonder why it is so slow whereas it uses OpenGL. The problem comes from the raycasting. Currently, the game still uses a huge part of software rendering by using a very slow algorithm called raycasting. The bigger your screen is, the slower the game will be. The game which inspired TUER uses only software rendering and is between 2 and 8 times slower than mine when you put it in fullscreen. My game uses OpenGL pipelines after raycasting to increase the speed of the display.

Зачем TUER использует рейкастинг - вопрос отдельный. По-видимому месье знает толк в извращениях :)

anonymous
()
Ответ на: комментарий от AMDmi3

> Вот, показательно: http://jcrpg.blogspot.com/

> Божеж ты мой! 10 моделей, пара тыщ (судя по скрину) поликов, и целых 20+ FPS!!! А еще он пишет что на 8800GTS, AMD64 X2 4800+ у него все летает..

При 21 fps в кадре 323K полигонов. В галза бросаются туман, деревья, трава. Шейдерные они или нет - не знаю, есть ли на деревьях и траве анимация или нет не видно. Если есть, то для 6200Go это просто отличный показатель. На 8800GTS естественно летает.

anonymous
()
Ответ на: комментарий от anonymous

Reading your comments by babelfish on the thing I as the lead programmer of jcrpg admit that C/C++ is far better for 3d performance. Anyway, jcrpg is not fully about 3D and performance, it's about a framework. And for one thing like a framework I prefer coding in Java.

jcrpg contains fog, transparency, directional lighting, culling and such. (Animated grass is not shader based yet, and there is no shader on the tree foliage) It received relatively much optimization, yet it will surely fail where a C project would avail. But jcrpg will pay the price of Java, it won't go over the polygon limits bearable by a 6200Go. Hopefully it will be enough.

anonymous
()
Ответ на: комментарий от anonymous

Ну и чего ты тут ссылками непонятными тычешь? В тырнете можно и ось на васике найти.

anonymous
()
Ответ на: комментарий от anonymous

>http://lib.mexmat.ru/books/15949

Книги всякие нужны, книги всякие важны?

>http://www.chromethegame.com/en/show.php

Недопонял как скрины посмотреть, у меня не показывает. =(

>http://www.java.com/en/games/desktop/chrome.jsp

А вот тут таки удалось скрины увидеть, к сожалению. Ужос. СлАбо.

anonymous
()
Ответ на: комментарий от Kpoxman

>> eclipse - ide по вкусу

>Ну так что за ide то? Вижак? Он, мягко говоря, тормознее.

Вот те здрасте.... Я не поклонник "Вижака" но он мягко говоря не тормознее, да и не мягко тоже не тормознее...

ЗЫ. Может еще и SlickEdit тормознее Эклипса?

KIV
()
Ответ на: комментарий от KIV

>ЗЫ. Может еще и SlickEdit тормознее Эклипса?

А что, вижаком без решарпера можно пользоваться? А что, вижак уже дотягивает по функционалу хотя бы до Эклипса не говоря уже об идее?

anonymous
()
18 сентября 2007 г.
Ответ на: комментарий от anonymous

>Как допишешь, не забудь ссылочку на лор закинуть. ;) Хочу посмотреть на первую нетормозящую жаба-игру. :D

В метро как-нибудь прокатись. За одну поездку увидишь человек 5..7, играющих на мобилах. Половина их игр - под J2ME.

KRoN73 ★★★★★
()
Ответ на: комментарий от AMDmi3

>Божеж ты мой! 10 моделей, пара тыщ (судя по скрину) поликов, и целых 20+ FPS!!!

Гы. Только не говори, что Питон на порядок с лишним быстрее Явы. Ибо 50 тыс. полигонов python-ogre тянет до 100+ fps на X800 GTO :)

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.