|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.06.2010, 13:47 | #1 |
Форумчанин
Регистрация: 03.01.2010
Сообщений: 229
|
S.I.L.E.
S.I.L.E - game engine
Игровой движок основанный на Irrlicht 3D Engine, пока что находиться на стадии разработки. Планируется написать 3 редактора: редактор карт, редактор объектов, редактор АИ. Редактор объектов позволяет объединять в группу объекты, для того, чтобы упростить текстурирование. По сути он подгружает меш из файла, позволяет расположить его в 3-ех мерном пространстве, редактировать материалы текстур, выбирать кадры анимации, если меш анимированный, и создавать простые аниматоры: движение по кругу, по прямой, по точкам, обороты вокруг своей оси и анимация текстур. Редактор карт размещает объекты созданные в редакторе объектов в 3-ех мерном пространстве, задает туманность, и так же оперирует простыми аниматорами (движение по кругу, по прямой, по точкам, обороты вокруг своей оси и анимация текстур). Редактор АИ редактирует вейпоинты по которым могут перемещаться объекты аи. В любой игре или игровом движке существует поддержка скриптов, чтобы запрограммировать некоторые события. Это довольно кропотливая задача - нужно зарегистрировать кучу функций и описать их. Я сначала начинал это делать, но немного подумав решил, почему бы не использовать для этого динамические библиотеки? Ведь с их помощью можно разрешить низкоуровневое программирование событий, на уровне Irrlicht и избавиться от кучи писанины. Поэтому в редакторе объектов есть поле, которое задает путь к динамической библиотеки, в свою очередь данный тип длл контролирует только этот объект, но может получить доступ к основному классу Irrlicht'а. В такой библиотеки экспортируются 3 функции, первая инициализрует плагин, принимая указатели на обрабатываемый объект, на основной класс, на камеру игрока и указатель на дополнительный буфер. Вторая функция вызывается каждый раз, когда идет прорисовка сцены. Третья выгружает его. Контроллирует плагины - менеджер плагинов. По сути сам движок является обверткой, в которой есть нужные редакторы. Сам тип и процесс игры будет программироваться на основе написанных мною стандартных классов из динамических библиотек. Поэтому можно сделать любой из жанров игр. Я планирую запрограммировать одну из таких библиотек на 3д шутер, потом возможно добавлю поддержку рпг. Игровые задания тоже управляются из динамических библиотек. Обработки физики я еще не касался. Полагаю буду использовать PhysX. Как все это будет контролироваться пока представляю смутно. Что уже готово: - Реализованы все основные форматы файлов. - Редактор объектов. Пока частично, т.к. реализованы только 3 типа объектов (статически меш, анимированый меш и небо) - Менеджер для контроля загруженных динамических библиотек. - Загрузчик объектов. - Загрузчик карт (не тестировано, редактор карт уже в процессе написания) - Общий размер исходников ~ 260 кб (это для того, чтобы оценить объем проделанной работы) Что может иррлихт, можно посмотреть на оффициальном сайте http://irrlicht.sourceforge.net/ И собственно главный вопрос, который я бы задал любому: зачем это надо? Естественно куча новых игр с обалденной графикой и проработанными анимациями, с людьми, которые все это делают разбившись на группы, превзойдут игру которую я буду тащить сам, сам кодить, моделировать и текстуировать. Но я иду к своей цели, которую хотел реализовать еще 6 лет назад, когда я только первый раз открыл учебник по Visual Basic =) А так же для всех энтузиастов, которые создают темы с названием "собираем группу разработчиков для игры" и в которых они сами признаются что начинающие. Я как-то начинал писать движок на OpenGL но полазив по инету осознал, что готовые 3D движки использовать намного лучше. Потому что авторы движков давно их написали, и с выходом новых версий исправили кучу ошибок. Например версия Irrlicht 1.7.1 вышла через 8 лет, после того как ее автор (разрабатывающий движки для игр, работающий/работавший в какой-то фирме) начал его писать. Все энтузиасты начинающие с нуля и считающие себя новичками, обречены на провал с самого начала. И только осознав всю эту кропотливую работу могут сесть и делать игру. P.S. Надеюсь, что через неделю выложу демку
подпись
Последний раз редактировалось Beermonza; 12.06.2010 в 20:54. |
14.06.2010, 16:45 | #3 |
Delphi\C++
Форумчанин
Регистрация: 18.06.2008
Сообщений: 277
|
liljon, в своё время пытался пользоваться Ирликхом - вообщем нечего не вышло, да и тем более он для с++. Разве не лучше на директиксе или OpenGL писать? ведь больше возможностей будет. Если я сейчас начну движок на glscene или TrueVision делать , будет что-то :D
Но главное чтобы движок был хорошим и удобным) если он таким будет то неважно на чём он написан. Я например, за всё время как программирую, не смог найти подходящий движок для своей игры. В итоге пришлось свой писать. Последний раз редактировалось Crivel; 14.06.2010 в 20:39. |
14.06.2010, 22:48 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
одного не понимаю...двиг же ДЛЛ, так?
кто мешает использовать его в Делфи тогда? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
16.06.2010, 01:27 | #5 | ||
Форумчанин
Регистрация: 03.01.2010
Сообщений: 229
|
Цитата:
Вывод: не проще openGl и directX, ибо не проще написать 3д движок, нежели использовать готовое и протестированое на протяжении восьми лет. Плюс удобная гуи система, спокойно можно создавать свои элементы, наследуя основные классы. От себя бы я добавил, что этот 3д движок самый удобный и самый мощный из тех, которые я пробовал. Цитата:
Дельфи не поддерживает. Это вообще кроссплатформенный движок, его можно портировать на windows mobile, на .NET, на линух и мак ос. Crivel, вы просто не достаточно разобрались с ним. Опишите задачу, я попробую описать как можно решить ее Я сейчас пишу АИ на системе автоматов. Хотел взять уже готовую, заточеную под иррлихт, но мне ее не хватило. Собственно если кому понадобиться вынесу в отдельную библиотеку с описанием и примерами P.S. Извеняюсь за ошибки в тексте
подпись
Последний раз редактировалось liljon; 16.06.2010 в 01:45. |
||
16.06.2010, 11:13 | #6 | |
Delphi\C++
Форумчанин
Регистрация: 18.06.2008
Сообщений: 277
|
Цитата:
|
|