Author Topic: Предложения по разработке движка  (Read 831 times)

0 Members and 1 Guest are viewing this topic.

Offline Bezumec

  • Commoner
  • *
  • Posts: 7
  • Reputation 1
  • I'm a newbie.
Предложения по разработке движка
« on: November 04, 2014, 10:29:51 PM »
Доброго времени суток.
В первую очередь хочу выразить благодарность за продолжение развития обертки Френка для IrrLicht. Очень приятно осознавать, что есть еще люди заинтересованные в продолжении развития этого проекта.

Из нововведений хотелось бы предложить скорее не столько какие-либо новые функции, а скорее довести до ума уже имеющееся. А именно: хотелось бы увидеть движок в виде одной DLL-ки, неужели нельзя откомпилировать код Irrlicht.dll + IrrlichtWrapper.dll + WS3DLib_0.9.1.dll + zlib1.dll + msvcr71.dll + msvcp71.dll все в ввиде одной DLL с именем WS3DLib.dll. Ведь большинство библиотек OpenSource и можно использовать исходники или откомпилировать статические либы, а потом подключить к движку.

Так же есть предложение облегчить сам IrrLicht убрав оттуда "малоиспользуемый (или вовсе неиспользуемый)" функционал. Например, загрузчики некоторых форматов моделей и текстур. Оставить к примеру загрузчик B3D, MS3D для моделей и PNG для текстур. Также не вижу смысла использовать DirectX рендер, куда лучше OpenGL, сужу чисто по совместимости с железом.

Еще есть предложение по использованию архивов, которые можно зашифровать и запаролить, 7zip к примеру, а то с zip архивов мы можем грузить ресурсы, а защитить их увы никак, а уж очень обидно видеть свои модельки в чужих проектах, которые очень часто выдаются за свои.

От себя очень хочу помочь проекту и искренне надеюсь на его долгое процветание. К сожалению с С++ у меня так и не получилось подружиться, уж очень больно это громоздкий язык, но с FreeBasic все обстоит куда лучше и приятней, там ООП не такое сложное, и именно в нем я смог понять всю прелесть перегрузки методов и как использовать виртуальные методы. В общем, буду следить за проектом и чем могу помогать.

Offline Alec - WS3D Developer

  • Producer
  • Administrator
  • Marquess
  • *
  • Posts: 911
  • Reputation 36
  • Game making is my hobby for life!
Re: Предложения по разработке движка
« Reply #1 on: November 05, 2014, 06:13:34 PM »
Quote
В первую очередь хочу выразить благодарность за продолжение развития обертки Френка для IrrLicht. Очень приятно осознавать, что есть еще люди заинтересованные в продолжении развития этого проекта.
Приятно слышать.  :) И как я и предполагал, есть немало людей, которые интересовались творением Франка и естественно будут интересоваться WS3D.

Quote
Из нововведений хотелось бы предложить скорее не столько какие-либо новые функции, а скорее довести до ума уже имеющееся.
Верно. Ведь на 90% движок функционален и на нём уже многое можно сделать. Конечно, ещё несколько мелочей не помешает; также работа с сетью, ИИ, версия движка для Линукса и ещё кое-что, хотя продвинутый пользователь может многое из этого сам сделать.

Quote
А именно: хотелось бы увидеть движок в виде одной DLL-ки, неужели нельзя откомпилировать код Irrlicht.dll + IrrlichtWrapper.dll + WS3DLib_0.9.1.dll + zlib1.dll + msvcr71.dll + msvcp71.dll все в ввиде одной DLL с именем WS3DLib.dll. Ведь большинство библиотек OpenSource и можно использовать исходники или откомпилировать статические либы, а потом подключить к движку.
Теоретически это возможно. Но мороки... и ещё возникают в голове разные вопросы, в общем, я буду это держать в уме.

Quote
Так же есть предложение облегчить сам IrrLicht убрав оттуда "малоиспользуемый (или вовсе неиспользуемый)" функционал.
Действительно форматы некоторых поддерживаемых Иррлихтом моделей - довольно экзотические, особенно .lmts и csm - никогда ими не пользовался и не видел их в 3D-редакторвх.

Quote
Также не вижу смысла использовать DirectX рендер, куда лучше OpenGL, сужу чисто по совместимости с железом.
Я тоже лично предпочитаю OpenGL, так как он менее капризный и проекты с ним запускаются почти на любом компе, не в пример DirectX. С другой стороны,  DirectX всё же в некоторых случаях хорош как вариант, по крайней мере для геймера и вот почему. На моём компе квейковские карты на OpenGL иногда отображаются с небольшими глюками (могу скрины сделать в отдельной теме) и это при том, что я недавно обновил драйвера для видеокарты до версии OpenGL 4.4., на DirectX они отображаются идеально. Кроме того, например если работать с шейдерами Xeffects, то шрифты и ГУИ вообще работают только с DirectX. И ещё одно: разработчику нужно давать геймеру выбор рендера - его игра может не запуститься или глючить на одном рендере, но прекрасно идти на другом.

Насчёт архивов, да это хороший вопрос и его тоже нужно решать, я держу в уме, а пока для защиты ресурсов игры  пользуюсь бесплатной программкой Vishnu Packer.

Quote
От себя очень хочу помочь проекту и искренне надеюсь на его долгое процветание.
Любая помощь ценится. Пожалуй сделаю тему на форуме, чтобы пользователи могли по желанию написать о своём опыте и навыках в геймдеве.

Quote
К сожалению с С++ у меня так и не получилось подружиться, уж очень больно это громоздкий язык, но с FreeBasic все обстоит куда лучше и приятней, там ООП не такое сложное, и именно в нем я смог понять всю прелесть перегрузки методов и как использовать виртуальные методы.
Я пришёл к такому же выводу, если говорить сугубо о создании игр, а не о системных или специфических прикладных приложениях. Возможностей Фрибейсика для создания игр предостаточно, а в плане удобства программирования он для многих предпочтительнее C-подобных языков..
« Last Edit: November 05, 2014, 06:17:30 PM by Alec - WS3D Developer »
WorldSim3D = 3D + FreeBasic. Программируй в удовольствие, а не "в тягость"! Make your project with pleasure, not with strain!

Online Nikolas - WS3D Developer

  • Programmer
  • Global Moderator
  • Marquess
  • *
  • Posts: 889
  • Reputation 63
Re: Предложения по разработке движка
« Reply #2 on: November 15, 2014, 12:08:40 AM »
Привет всем. Решил вот поделиться мыслями по теме, так сказать.
Поскольку данный двиг WorldSim3D основан на Irrlicht Wrapper, который, в свою очередь являлся оберткой для Irrlicht версии 1.7.1, возникло предложение: не пора ли обновить графическую основу движка?
Поковырявшись в недрах Irrlicht и внутри Irrlicht Wrapper, понял, что осилить полноценный переход на новую версию без основательного допиливания невозможен.  Без очень серьезных знаний в плюсах это просто нереально.
Но почему бы не попытаться перенести код враппера с минимальными изменениями, позволяющими компиляцию библиотеки.
Вооружившись скачанным Irrlicht 1.8 SDK, связкой Code Block+Mingw32, а так кодом Irrlicht Wrappera, приступил к выполнению плана по захвату мира 8-0)
Сначала пришлось перекомпилировать сам Irrlicht, так как во враппере есть ноды, кода которых нет в самом Irrlicht (например Bolt node, Beam node...). После экспериментов удалось получить горячий пирожок: dll-библиотеку Irrlicht.dll с вкраплениями дополнительного кода из сорцов враппера. Следующий этап- компиляция самого враппера. Вот тут ушло дня 3 на поиск косяков в заголовочных файлах, линковке и прочих настройках....Сегодня, наконец, после 10 минут размышлений, мой Code Blocks выплюнул свежеиспеченный IrrlichtWrapper.dll на версии ирла 1.8.0.
Закинув два этих файла в папку Examples, увидел, что большая часть примеров запускается.
Но, при перекомпиляции Irrlicht нужно выбирать: компиляция для OpenGL или Direct3D9 (или 8).
Я скомпилировал для OpenGL, т к для компиляции под директ нужно качать и ставить DirectX SDK.
Далее в программе: будем пробовать все тоже под Linux, (вот-вот, поэтому и Mingw32, и OpenGL)
Если будет у кого желание, скину dll-ки для тестов
PS: не забудьте выбирать драйвер wDT_OpenGL
PSS: не из-за OpenGL-ли так странно выглядят шейдерные эффекты XEffects ? (пользователи Irrlicht частенько на форумах жалуются на это...)
Под лежачий камень мы всегда успеем...

Offline Alec - WS3D Developer

  • Producer
  • Administrator
  • Marquess
  • *
  • Posts: 911
  • Reputation 36
  • Game making is my hobby for life!
Re: Предложения по разработке движка
« Reply #3 on: November 15, 2014, 04:23:41 PM »
Quote
не пора ли обновить графическую основу движка?
Идея, безусловно, хорошая. Уверен, нужно продолжать.
Quote
осилить полноценный переход на новую версию без основательного допиливания невозможен
Я читал чейнджлог Иррлихта, несколько последних версий. Надо бы ещё раз его просмотреть, чтобы выделить те пункты, которые действительно усилят WS3D.
Quote
Закинув два этих файла в папку Examples, увидел, что большая часть примеров запускается.
Это радует.
Quote
Если будет у кого желание, скину dll-ки для тестов
Это интересно.
Quote
не из-за OpenGL-ли так странно выглядят шейдерные эффекты XEffects ?
В некоторых моментах OpenGl уступает DirectX, хотя возможно, это только в окружении Иррлихта. В WS3D, если используются шейдеры Xeffects с рендером OpenGL, то GUI и битмап-шрифты не отображаются.
« Last Edit: November 15, 2014, 04:25:21 PM by Alec - WS3D Developer »
WorldSim3D = 3D + FreeBasic. Программируй в удовольствие, а не "в тягость"! Make your project with pleasure, not with strain!

Online Nikolas - WS3D Developer

  • Programmer
  • Global Moderator
  • Marquess
  • *
  • Posts: 889
  • Reputation 63
Re: Предложения по разработке движка
« Reply #4 on: November 15, 2014, 05:26:37 PM »
Приветствую всех.
Алеc, как и обещалось выше, заливаю ссылку на экспериментальные версии Irrlicht.dll и IrrlichtWrapper.dll
(во вложении- не позволяет размер).
Было бы неплохо составить что-то вроде списка моментов, на которых программа терпит крах.
Возможно, дело в моих некорректных исправлениях. Просто на данном этапе моей целью было получить код, который хоть как-то компилируется. Будем отлавливать баги.
Удачи нам всем и всех благ.
https://yadi.sk/d/w_2dMwnhcj7J3
Под лежачий камень мы всегда успеем...

Offline Alec - WS3D Developer

  • Producer
  • Administrator
  • Marquess
  • *
  • Posts: 911
  • Reputation 36
  • Game making is my hobby for life!
Re: Предложения по разработке движка
« Reply #5 on: November 15, 2014, 06:36:01 PM »
Quote
Было бы неплохо составить что-то вроде списка моментов, на которых программа терпит крах.
Я потестирую и напишу, как у меня всё работает/не работает. Создам для этого отдельную тему, чтобы каждый, кто будет тестировать, написал свои результаты. Как лучше назвать тему?

Quote
Просто на данном этапе моей целью было получить код, который хоть как-то компилируется.
Верно. Всё поэтапно. Это уже успех для данного этапа.

В общем о развитии WS3D:
Я очень рад, что работа идёт одновременно в несколько "потоков": yood19 делает перевод справки на русский, nikolas - апгрейд архитектуры движка, Alec - всё понемногу. Думаю, это будет интересно в итоге всем.  8)
WorldSim3D = 3D + FreeBasic. Программируй в удовольствие, а не "в тягость"! Make your project with pleasure, not with strain!