Игровой движок для 3D RPG[sandbox] на Java.
| |
skandver | Дата: Пятница, 29 Июля 2011, 16:16 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Что вам нужно: Игровой движок. В каком пространстве: 3D. Для какого жанра игр?: RPG-sandbox. Какой вид в игре?: От первого лица. Мультиплеер: ПО возможности(то есть любой вариант MP). На какую игру похожа создаваемая игра, типа какой популярной игры?: Любая RPG; Minecraft. Написанный на каком языке программирования?: Java; C#; С++. На каком языке программировать в нём?: Java. Для какой платформы?: Windows, Linux, OS X. Предоставление исходного кода движка?: Open Source. API?: Direct3D. Какой тип лицензии?: GNU GPL; Свободное ПО(не Freeware). IDE, компиляторы?: Без разницы(NetBeans считается зо компилятор или IDE, вроде как?). GUI?: Без разницы; Наличие такового желательно. Предпочтения?: Документация на английском/русском языке. Какие-то особые требования к поддержке форматов 3D-моделей?: Без разницы(если есть с поддержкой .blend(да, это facepalm)). Какие-то особые требования к поддержке форматов графики?: Основные(png, bmp, jpg). Какие-то особые требования к поддержке форматов звукового сопровождения?: ogg, wav, mp3. Какие-то особые требования к поддержке форматов видео?: Без разницы. Наличие AI?: Стандартный. Наличие физики?: Базовая физика(то есть вода течёт по направлению, камни, поставленные на песок, продавливают его). Необходимо наличие дополнительных редакторов, специальных утилит?: Для создания собственной физики, AI и прочего(желательно).
Примечания: Поддержка изменения окружающего мира игровыми методами, возможность создания собственного AI.
Заранее спасибо.
Сообщение отредактировал skandver - Пятница, 29 Июля 2011, 16:16 |
|
| |
monowar71 | Дата: Пятница, 29 Июля 2011, 16:28 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Понимаю, не ко всем пунктам подходит, но думаю подойдет Unity3D. Сам делаю RPG на нём!
Добавлено (29.07.2011, 16:28) --------------------------------------------- Quote (skandver) Базовая физика(то есть вода течёт по направлению, камни, поставленные на песок, продавливают его). Увы такого ты не найдёшь! Придётся это дописывать на ЛЮБОМ двиге!
Мои проекты: Secrets of Space(Reload)
Сообщение отредактировал monowar71 - Пятница, 29 Июля 2011, 16:28 |
|
| |
skandver | Дата: Пятница, 29 Июля 2011, 16:39 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Quote (monowar71) Увы такого ты не найдёшь! Придётся это дописывать на ЛЮБОМ двиге! Это и так понятно.) Quote (monowar71) Понимаю, не ко всем пунктам подходит, но думаю подойдет Unity3D. Сам делаю RPG на нём! Стоп, Unity разве не платный? Я имею ввиду, для коммерческого распространения игры на нём через интернет.
UPD: И да, на Unity можно реализовать открытый мир?
Сообщение отредактировал skandver - Пятница, 29 Июля 2011, 16:50 |
|
| |
serg-kkz | Дата: Пятница, 29 Июля 2011, 17:02 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| Вот этот может подойти, JMonkeyEngine 3 Мой личный совет, Panda3D 1.7.2, правда язык питон.
Quote (skandver) Наличие физики?: Базовая физика(то есть вода течёт по направлению, камни, поставленные на песок, продавливают его).
Сообщение отредактировал serg-kkz - Пятница, 29 Июля 2011, 17:04 |
|
| |
skandver | Дата: Пятница, 29 Июля 2011, 17:09 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| Quote (serg-kkz) Вот этот может подойти, JMonkeyEngine 3 Quote Движок поддерживает LWJGL и JOGL. Как я понимаю, товарищ Нотч на этом движке писал Minecraft? Если да, то он крут. В смысле Нотч.
Кстати, народ, вопрос: Если сделать текстуры 64 пикселя на каждую сторону куба, это долго будет обрабатываться, при учёте, что работает оно на Java и количество таких кубов - за сотни тысяч на начальную карту? И совсем не в тему: Что лучше, огромный, заранее созданный мир, или создающийся на ходу? Мне больше по нарву первый вариант. Можно расположить всё так, что все привыкнут и иногда выпускать обновления в виде новых карт.
|
|
| |
serg-kkz | Дата: Пятница, 29 Июля 2011, 17:40 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Quote (skandver) Если сделать текстуры 64 пикселя на каждую сторону куба, это долго будет обрабатываться, при учёте, что работает оно на Java и количество таких кубов - за сотни тысяч на начальную карту?
Все зависит есть ли оптимизация для таких случаев в двиге или нет. Если говорить про панду там есть, у нас кстати есть пример карты Minecraft, на питоне(я из сообщества Panda3D). Зайди глянь в разделе "wip", тема "производительность" 160 тыс кубиков - fps норм. Про яву думаю не потянет если сам движок написан на яве как в случае JMonkeyEngine 3.
Quote (skandver) Что лучше, огромный, заранее созданный мир, или создающийся на ходу? Мне больше по нарву первый вариант. Можно расположить всё так, что все привыкнут и иногда выпускать обновления в виде новых карт. На ходу как правило быстрей, но тут опять зависит от того как движок грузит одинаковые модели, панда просто копирует модель если она есть в памяти. Так вот если модель одна(куб), то остаётся позаботиться о списке координат и имени текстуры для кубика.
А для второго варианта надо еще писать алгоритм для создания мира.
Сообщение отредактировал serg-kkz - Пятница, 29 Июля 2011, 17:52 |
|
| |
skandver | Дата: Пятница, 29 Июля 2011, 20:03 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| Quote (serg-kkz) Про яву думаю не потянет если сам движок написан на яве как в случае JMonkeyEngine 3. И почему все так плохо думают про этот язык программирования? Quote (serg-kkz) 160 тыс кубиков - fps норм. А если реализовать такой метод: Мир разделяется на отдельные области, динамически подгружающиеся в память при приближении пользователя, и выгружаются при удалении пользователя от этих областей. Делается это на дальности, которая установлена пользователем в зависимости от мощности его компьютера. Подземные области реализуются также, за исключением того, что пока игрок не приблизился к порогу подземных областей, они не генерируются. При перемещении пользователя в подземные области, наземные сохраняются и "консервируются". Аналогичное происходит при переходе из подземных областей в наземные. По идее, такие моменты, как глюки и тормоза, должны исчезнуть. Или такое в Java нереально сделать? Quote (serg-kkz) Так вот если модель одна(куб), то остаётся позаботиться о списке координат и имени текстуры для кубика. Модель для всех объектов - куб, но с разными текстурами и свойствами(т.е. каждый тип куба - это отдельный объект, вроде камня или гранита), в том числе с разными размерами(элементы, создаваемые игроком), и в некоторых случаях - с разными свойствами(вроде шипов).
|
|
| |
serg-kkz | Дата: Пятница, 29 Июля 2011, 20:51 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| Quote (skandver) И почему все так плохо думают про этот язык программирования? У википедии спроси, ответ найдешь где сравнивается скорость, вывод: выбирай двиг у которого ядро на C++, а возможность программировать на яве.
Quote (skandver) А если реализовать такой метод: Мир разделяется на отдельные области, динамически подгружающиеся в память при приближении пользователя, и выгружаются при удалении пользователя от этих областей. Делается это на дальности, которая установлена пользователем в зависимости от мощности его компьютера. Подземные области реализуются также, за исключением того, что пока игрок не приблизился к порогу подземных областей, они не генерируются. При перемещении пользователя в подземные области, наземные сохраняются и "консервируются". Аналогичное происходит при переходе из подземных областей в наземные. По идее, такие моменты, как глюки и тормоза, должны исчезнуть. Или такое в Java нереально сделать? Дело в том что на эти действия тоже нужно время, но по сути можно и не выгружать, просто не рендерить, т. е. скрывать-отображать. Но хочу привести один факт при наличии множества объектов в сцене, видеокарте проще обрабатывать один меш, нежели каждый по отдельности. Так вот если скажем 100 тыс. кубиков в сцене являются отдельными объектами, то ресурсов видеокарты будет потребляется больше. А если 100 тыс. будут одним мешом, то скорость рендеринга увеличится в разы. Но одним мешом можно только экспортировать из 3D редактора, если конечно нет возможности их объединить программно в двиге. Здесь важный момент, который двиг ты выбериш должен иметь такую возможность, на яве он или еще на чем то, главное возможности для этого в API двига. А то что написал про загрузку и выгрузку ресурсов, это называется менеджер сцены, как правило в конструкторах он уже реализован, а вот в движках тебе нужно будет написать свой. Это необходимо, и должнен имеется на любам двиге, не только написанном на яве.
Quote (skandver) Модель для всех объектов - куб, но с разными текстурами и свойствами(т.е. каждый тип куба - это отдельный объект, вроде камня или гранита), в том числе с разными размерами(элементы, создаваемые игроком), и в некоторых случаях - с разными свойствами(вроде шипов). Модель можно копировать и текстуры назначать нужные программно и свойства, так же размеры путем масштабирования. Думаю любой двиг имеет такую возможность.
Сообщение отредактировал serg-kkz - Вторник, 02 Августа 2011, 15:27 |
|
| |
skandver | Дата: Пятница, 29 Июля 2011, 21:23 | Сообщение # 9 |
почетный гость
Сейчас нет на сайте
| Quote (serg-kkz) выбирай двиг у которого ядро на C++, а возможность программировать на яве. Такие есть вообще? Я видел только Crystal Engine.
|
|
| |
serg-kkz | Дата: Пятница, 29 Июля 2011, 21:35 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| Ogre4j - по идеи должен. 3DzzD - особо о нём нечего сказать.
Проверь их, не знаю есть ли они в базе здесь. А я все таки рекомендую взглянуть на панду. Т.к. в тех движках возможно прийдется допиливать, звук, физику, и. д.
|
|
| |
skandver | Дата: Пятница, 29 Июля 2011, 21:43 | Сообщение # 11 |
почетный гость
Сейчас нет на сайте
| Quote (serg-kkz) А я все таки рекомендую взглянуть на панду. Я питон вообще не знаю.Х_Х Определю более конкретно: Супер-графика не нужно. Нужна производительность и возможность обработки большого количества объектов. Ну как-то же ведь Майкнрафт был написан? Тем более, он вообще никогда не тормозит.
|
|
| |
Stas96 | Дата: Пятница, 29 Июля 2011, 21:45 | Сообщение # 12 |
Programmer and Game Designer
Сейчас нет на сайте
| Тоже советую Panda3D, но для него нету нормального редактора карт.Можно прикрутить плагин к Blender. Но мне кажется лучше написать свой...(Может займусь этим в ближайшее время(хотя не знаю что из этого получиться...)) Quote (serg-kkz) Мой личный совет, Panda3D 1.7.2, правда язык питон. Нет можно использовать С++ на официально сайте вся документации для двух ЯП
|
|
| |
skandver | Дата: Пятница, 29 Июля 2011, 21:47 | Сообщение # 13 |
почетный гость
Сейчас нет на сайте
| Quote (Stas96) Нет можно использовать С++ на официально сайте вся документации для двух ЯП C++ и Питон, это конечно хорошо, но минус в том, что там нельзя использовать Java. Поэтому jME как-то лучше в этом плане. Хоть и тормозит, как говорят.
|
|
| |
serg-kkz | Дата: Пятница, 29 Июля 2011, 22:06 | Сообщение # 14 |
постоянный участник
Сейчас нет на сайте
| skandver я тебе ещё раз говорю чтоб рендерить большое количество объектов, нужно чтоб это было реализовано в двиге, в панде 100% реализовано, а остальные проверяй или задавай вопросы в спец разделах по двигам. Так же погляди примеры игр на них.
Quote (Stas96) Тоже советую Panda3D, но для него нету нормального редактора карт.Можно прикрутить плагин к Blender. Но мне кажется лучше написать свой...(Может займусь этим в ближайшее время(хотя не знаю что из этого получиться...)) Я накидал уже пример редактора.
Добавлено (29.07.2011, 21:56) --------------------------------------------- Quote (skandver) Я питон вообще не знаю.Х_Х я не знал, но быстро освоил, программируя в панде.
-------
Отредактирововал начало поста
Добавлено (29.07.2011, 22:06) --------------------------------------------- Quote (Stas96) Можно прикрутить плагин к Blender. Если ты про экспортер то он есть. Кстати есть возможность экспортировать сценой.
Сообщение отредактировал serg-kkz - Пятница, 29 Июля 2011, 22:13 |
|
| |
Akyltist | Дата: Суббота, 30 Июля 2011, 10:13 | Сообщение # 15 |
заслуженный участник
Сейчас нет на сайте
| Quote Для какой платформы?: Windows, Linux, OS X. API?: Direct3D. весь топик не читал, но стоило бы определиться поконкретнее, а то выглядит хочу то - не знаю что. Тогда уж мультирендер OpenGL+DX
|
|
| |
|