Castle Game Engine
Модератор: Модераторы
-
eugeneloza
- новенький
- Сообщения: 24
- Зарегистрирован: 26.05.2015 12:13:08
Хорошо, как раз планировал в ближайшее время записать ещё одно-два видео.
П.С. glscene, кстати, кажется, вполне живо. Накрылось только русское сообщество.
П.П.С. процедурная генерация 3D карты на Castle Game Engine (пока ещё только начало работы):
https://www.youtube.com/watch?v=CPxa9If__8s
П.С. glscene, кстати, кажется, вполне живо. Накрылось только русское сообщество.
П.П.С. процедурная генерация 3D карты на Castle Game Engine (пока ещё только начало работы):
https://www.youtube.com/watch?v=CPxa9If__8s
-
eugeneloza
- новенький
- Сообщения: 24
- Зарегистрирован: 26.05.2015 12:13:08
Просто ещё одна змейка - пример простейшей игры в Castle Game Engine
В общем, ничего особенного. Просто змейка - как пример простейшей игры на Castle Game Engine с плотно прокомментированным кодом - самое оно, чтобы понять все азы и получить возможность начинать писать свою 2D игру
Демонстрирует:
применение 2D OpenGl графики с листами спрайтов;
простейший вывод текста;
получение событий с мыши/клавиатуры;
чтение и запись файлов;
звук и музыка;
таймер;
логи;
случайные числа.

https://github.com/eugeneloza/SnakeGame
В общем, ничего особенного. Просто змейка - как пример простейшей игры на Castle Game Engine с плотно прокомментированным кодом - самое оно, чтобы понять все азы и получить возможность начинать писать свою 2D игру
Демонстрирует:
применение 2D OpenGl графики с листами спрайтов;
простейший вывод текста;
получение событий с мыши/клавиатуры;
чтение и запись файлов;
звук и музыка;
таймер;
логи;
случайные числа.

https://github.com/eugeneloza/SnakeGame
- Снег Север
- долгожитель
- Сообщения: 3073
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
eugeneloza писал(а):применение 2D OpenGl графики с листами спрайтов;
Если 2D, то не лучше была бы ZenGL ? Простая, удобная и кроссплатформенная.
И нынешние технологии позволяют очень просто создавать анимированные спрайты без рисования - я встречал скрипт для Блендер, который автоматически делает набор спрайтов из 3D модели.
-
eugeneloza
- новенький
- Сообщения: 24
- Зарегистрирован: 26.05.2015 12:13:08
Ну, ZenGL с 2013 года уже не обновлялась... А Castle Game Engine не только 2D, но и 3D может (мне как раз второе надо). Плюс, никаких проблем с андроидом...
А блендер - да. Даже сам делал как-то анимации простенькие. Но пока только учу
А блендер - да. Даже сам делал как-то анимации простенькие. Но пока только учу
-
eugeneloza
- новенький
- Сообщения: 24
- Зарегистрирован: 26.05.2015 12:13:08
-
eugeneloza
- новенький
- Сообщения: 24
- Зарегистрирован: 26.05.2015 12:13:08
Вышла версия 6.0.2
https://castle-engine.sourceforge.io/wp ... 2-release/
https://castle-engine.sourceforge.io/wp ... 2-release/
Есть истории успеха установки движка и сборки демок на линуксе? CastleWindow не находит модуль Interfaces и неясно как движок им накормить. Файлы проектов в демках в каком-то плохо совместимом формате - открываются без окошка на которое компоненты кидаются, инспектор объектов пустой. Из-за не нахождения модуля Interfaces демки не собираются. Версия лазаруса 1.6.4 а движка - 6.0.2 и 6.0.3 из гита.
-
eugeneloza
- новенький
- Сообщения: 24
- Зарегистрирован: 26.05.2015 12:13:08
Сквозняк писал(а):Есть истории успеха установки движка и сборки демок на линуксе?
Да, работаю в нём на линуксе постоянно (и с коммандной строки и с лазаруса). Постараюсь в ближайшее время отписать (да, мы уже общались на ютюбе
-
MysticCoder
- постоялец
- Сообщения: 154
- Зарегистрирован: 14.09.2013 00:20:28
Сквозняк писал(а):Есть истории успеха установки движка и сборки демок на линуксе? CastleWindow не находит модуль Interfaces и неясно как движок им накормить. Файлы проектов в демках в каком-то плохо совместимом формате - открываются без окошка на которое компоненты кидаются, инспектор объектов пустой. Из-за не нахождения модуля Interfaces демки не собираются. Версия лазаруса 1.6.4 а движка - 6.0.2 и 6.0.3 из гита.
Работало, вроде даж из коробки.
Для модуля Interfaces попробуй LCL или LCLBase в зависимости проекта подтянуть.
Да ничего не помогает, демки всё также не собираются с той же ошибкой. Причём в свойствах проекта нельзя указать собирать окно с гтк2 - нет таких кнопок. Базы данных проектов "запоганены" неизвестной версией ИДЕ, которая ни в документации, ни в реадме не указана. Нужно наугад качать 100500 версий лазаруса и впихивать их в систему чтобы найти ту, на которой всё заведётся. Писать в документации правду о поддерживаемых версиях похоже никто не будет.
-
eugeneloza
- новенький
- Сообщения: 24
- Зарегистрирован: 26.05.2015 12:13:08
Стоп-стоп-стоп. У меня вообще ни разу не возникало проблем ни с одной версией IDE, ни в винде ни в линуксе.
Давайте по порядку
Да, так и должно быть. Ещё появится OpenGL.
Вы лазарусу разрешили перекомпиллироваться после установки? Все "да" нажали?
Вот это очень странно, так как CastleWindow по идее не должна иметь отношение к Interfaces. По ходу, вроде как у меня этот самый Interfaces вообще не установлен
Вы пытаетесь поставить alternative_castle_window_based_on_lcl? Наверное, должно работать тоже, но как - я не могу подсказать, я им не пользовался.
Итого Вам нужно "начисто" поставить три пакета:
castle_base
castle_components (не обязательно - чтобы можно было в лазарусе делать на форме всякие фишки из движка, иногда удобно)
castle_window
alternative_castle_window_based_on_lcl - можете поэкспериментировать, но с ним я помочь не смогу. Предлагаю, как минимум первое время, его не трогать.
Упреждая следующий вопрос - да, ещё нужно будет поставить библиотеки разработчика для линуха. Для моих игр это: https://github.com/eugeneloza/decoheren ... ompile.txt (см. раздел "линух"). Иначе некоторые части движка могут не работать или работать неправильно.
Можно собрать из командной строки, make clean кажется там? Правда, я только build-tool так делал, когда портировал на Андроид. Больше люблю лазарус.
Да, эти файлы без GUI - по этому они и не регистрируются нигде, всё создаётся динамически. Там буквально пара проектов с ГУИ сделана, остальные на своём родном CastleWindow (оно полностью заменяет гуи). Примеры с лазарусовским гуи в папочке /examples/lazarus/
Странно, так не должно быть. Какие именно базы данных несовместимы с версией IDE?
У меня без проблем работало с версии Lazarus где-то 1.2? Лазарус 1.6.4 у меня без малейших проблем работал с CastleGameEngine. Кстати, какая у Вас версия FPC (3.0.2 под линукс была весьма глюкнутая)? И какой дистрибутив?
Не-не-не. Движок поддерживает очень широкий спектр версий FPC (думаю, что и лазаруса тоже). Кажется, только пару месяцев назад отказался автор от поддержки FPC 2.4.х в которой даже inline не было - или не отказался...
По этому спокойно, без паники. Всё получится. Если совсем будет тяжело, я переведу автору движка Ваши вопросы - он всегда готов помочь и подсказать.
Давайте по порядку
Пакеты движка castle_base.lpk и castle_components.lpk скомпилировались и установились, но таб в ИДЕ появился только один - "castle".
Да, так и должно быть. Ещё появится OpenGL.
Вы лазарусу разрешили перекомпиллироваться после установки? Все "да" нажали?
Пакет castle_window.lpk то компилится, то не компилится и требует модуль Interfaces, используемый в CastleWindow.
В демках используется CastleWindow пребующий Interfaces и их из-за этого не собрать и не запустить.
Причём в свойствах проекта нельзя указать собирать окно с гтк2 - нет таких кнопок.
Вот это очень странно, так как CastleWindow по идее не должна иметь отношение к Interfaces. По ходу, вроде как у меня этот самый Interfaces вообще не установлен
Вы пытаетесь поставить alternative_castle_window_based_on_lcl? Наверное, должно работать тоже, но как - я не могу подсказать, я им не пользовался.
Итого Вам нужно "начисто" поставить три пакета:
castle_base
castle_components (не обязательно - чтобы можно было в лазарусе делать на форме всякие фишки из движка, иногда удобно)
castle_window
alternative_castle_window_based_on_lcl - можете поэкспериментировать, но с ним я помочь не смогу. Предлагаю, как минимум первое время, его не трогать.
Упреждая следующий вопрос - да, ещё нужно будет поставить библиотеки разработчика для линуха. Для моих игр это: https://github.com/eugeneloza/decoheren ... ompile.txt (см. раздел "линух"). Иначе некоторые части движка могут не работать или работать неправильно.
Была бы сборка в командной строке, без всяких пакетов, то накормить исходники путями к нужным файлам было б известно как.
Можно собрать из командной строки, make clean кажется там? Правда, я только build-tool так делал, когда портировал на Андроид. Больше люблю лазарус.
Файлы проектов в демках в каком-то плохо совместимом формате - открываются без окошка на которое компоненты кидаются, инспектор объектов пустой.
Да, эти файлы без GUI - по этому они и не регистрируются нигде, всё создаётся динамически. Там буквально пара проектов с ГУИ сделана, остальные на своём родном CastleWindow (оно полностью заменяет гуи). Примеры с лазарусовским гуи в папочке /examples/lazarus/
Базы данных проектов "запоганены" неизвестной версией ИДЕ, которая ни в документации, ни в реадме не указана.
Странно, так не должно быть. Какие именно базы данных несовместимы с версией IDE?
У меня без проблем работало с версии Lazarus где-то 1.2? Лазарус 1.6.4 у меня без малейших проблем работал с CastleGameEngine. Кстати, какая у Вас версия FPC (3.0.2 под линукс была весьма глюкнутая)? И какой дистрибутив?
Нужно наугад качать 100500 версий лазаруса и впихивать их в систему чтобы найти ту, на которой всё заведётся.
Не-не-не. Движок поддерживает очень широкий спектр версий FPC (думаю, что и лазаруса тоже). Кажется, только пару месяцев назад отказался автор от поддержки FPC 2.4.х в которой даже inline не было - или не отказался...
По этому спокойно, без паники. Всё получится. Если совсем будет тяжело, я переведу автору движка Ваши вопросы - он всегда готов помочь и подсказать.
Поставил заново движок версии 6.2 и откатил конфиги лазаруса, не трогал пакет alternative_castle_window_based_on_lcl.lpk и пакет castle_window.lpk вдруг заработал. Наверно у этих пакетов есть общие по разному собранные и не совместимые модули. Демки после этого заработали. Но alternative_castle_window_based_on_lcl.lpk не единственная мина, лазарусная демка two_controls.lpi несколько раз подряд подвесила мой линукс. Как залезу её файловым диалогом не в тот каталог, так кранты - лампочки на клаве не переключаются, жми на ресет.
Под лазарусными базами данных имел в виду простыни данных в *.lpi и *.lfm. При открытии виндовых проектов GLScene в линуксе был такой фокус, если прогнать даже лазарусный проект через диалог конвертации дельфийских проектов, то это иногда помогало открыть не открываемое окошко формы. Думал и здесь такой прикол, только исцеляющий чит не срабатывает. Но тогда не понятно, зачем в лазарус устанавливаются кнопки движка, если их на форму не перетягивают - просто скомпилировать проект можно и сторонней утилитой, в которой визуально лепят игру. Лазарус здесь используется просто как текстовой редактор с компилятором?
Дистрибутив - русская федора 17. А такая новая версия потому, что она последняя, в которой с родными иксами и ядрами работает видеодрайвер каталист_наследие. Системный лазарус - 1.4.4, а fpc - 2.6.4. Для нового движка специально скачал пакеты нового лазаруса 1.6.4 и прилагающегося к нему fpc 3.0.2. Чтобы не засорять систему, просто распаковал файлы и сложил их в каталог. При запуске лазаруса пришлось указать пути к компилятору и его исходникам. Но этого для его работы не хватило, пришлось создать символическую ссылку /usr/lib64/fpc/3.0.2 на соответствующий каталог fpc, расположенный в другом месте - рядом с лазарусом 1.6.4 К сожалению в окошке лазаруса "сервис/параметры/окружение" нет окошка в котором можно было прописать альтернативный путь к модулям компилятора. К бинарю компилятора пути прописать можно, а к его модулям - нет. Запихивать лишнее в /usr/ не есть эстетично. Но в целом так установленный лазарус работает как и установленный стандартно, за исключением окошка "справка/справка" - оно сообщает что index.html не найден, показывает только User’s Guide. Но тут хз, все ли справки в пакет положены. Может просто не всё собрали
Ранее в fpc справка для пакетов собиралась акробатически, т.к. если её просто собирать, то в консоли несколько раз появлялись вопросы про ИОС, на которые нужно было отвечать лабуду в ручную, а для автоматической сборки пакетов это неприемлемо.
В принципе, на лазарус 1.6.4 + fpc 3.0.2 меня ничего не держит, скачан x86_64 Lazarus 1.8.0RC5 + fpc-3.0.4-rc1 и можно точно также установить распаковкой пакетов эти версии. Когда "безопасная тропа" известна, это быстро.
Под лазарусными базами данных имел в виду простыни данных в *.lpi и *.lfm. При открытии виндовых проектов GLScene в линуксе был такой фокус, если прогнать даже лазарусный проект через диалог конвертации дельфийских проектов, то это иногда помогало открыть не открываемое окошко формы. Думал и здесь такой прикол, только исцеляющий чит не срабатывает. Но тогда не понятно, зачем в лазарус устанавливаются кнопки движка, если их на форму не перетягивают - просто скомпилировать проект можно и сторонней утилитой, в которой визуально лепят игру. Лазарус здесь используется просто как текстовой редактор с компилятором?
Лазарус 1.6.4 у меня без малейших проблем работал с CastleGameEngine. Кстати, какая у Вас версия FPC (3.0.2 под линукс была весьма глюкнутая)? И какой дистрибутив?
Дистрибутив - русская федора 17. А такая новая версия потому, что она последняя, в которой с родными иксами и ядрами работает видеодрайвер каталист_наследие. Системный лазарус - 1.4.4, а fpc - 2.6.4. Для нового движка специально скачал пакеты нового лазаруса 1.6.4 и прилагающегося к нему fpc 3.0.2. Чтобы не засорять систему, просто распаковал файлы и сложил их в каталог. При запуске лазаруса пришлось указать пути к компилятору и его исходникам. Но этого для его работы не хватило, пришлось создать символическую ссылку /usr/lib64/fpc/3.0.2 на соответствующий каталог fpc, расположенный в другом месте - рядом с лазарусом 1.6.4 К сожалению в окошке лазаруса "сервис/параметры/окружение" нет окошка в котором можно было прописать альтернативный путь к модулям компилятора. К бинарю компилятора пути прописать можно, а к его модулям - нет. Запихивать лишнее в /usr/ не есть эстетично. Но в целом так установленный лазарус работает как и установленный стандартно, за исключением окошка "справка/справка" - оно сообщает что index.html не найден, показывает только User’s Guide. Но тут хз, все ли справки в пакет положены. Может просто не всё собрали
В принципе, на лазарус 1.6.4 + fpc 3.0.2 меня ничего не держит, скачан x86_64 Lazarus 1.8.0RC5 + fpc-3.0.4-rc1 и можно точно также установить распаковкой пакетов эти версии. Когда "безопасная тропа" известна, это быстро.
-
eugeneloza
- новенький
- Сообщения: 24
- Зарегистрирован: 26.05.2015 12:13:08
Прошу прощения за задержку с ответом....
А можно тут чуть по-подробнее? Попробую сегодня-завтра глянуть.
Перетягиваются все на форму. В первую очередь нужен TCastleControl (это как бы "окно" для рисования - типа TImage). Остальные перетягиваются на форму в основном для того, чтобы "создать" их и прикрепить к форме автоматически (типа как лазарусовский таймер). Я ими почти не пользовался, по этому не могу более детально подсказать. Мне куда более удобно оказалось работать с TCastleWindow - плюс сразу почти автоматически можно загнать поддержку Андроида.
Попробуйте FPCUPDeluxe - очень удобно и ничего не засоряет.
Сквозняк писал(а):не в тот каталог
А можно тут чуть по-подробнее? Попробую сегодня-завтра глянуть.
Сквозняк писал(а):если их на форму не перетягивают
Перетягиваются все на форму. В первую очередь нужен TCastleControl (это как бы "окно" для рисования - типа TImage). Остальные перетягиваются на форму в основном для того, чтобы "создать" их и прикрепить к форме автоматически (типа как лазарусовский таймер). Я ими почти не пользовался, по этому не могу более детально подсказать. Мне куда более удобно оказалось работать с TCastleWindow - плюс сразу почти автоматически можно загнать поддержку Андроида.
Сквозняк писал(а):Чтобы не засорять систему
Попробуйте FPCUPDeluxe - очень удобно и ничего не засоряет.
-
eugeneloza
- новенький
- Сообщения: 24
- Зарегистрирован: 26.05.2015 12:13:08
Сквозняк писал(а):Под лазарусными базами данных имел в виду простыни данных в *.lpi и *.lfm.
Просмотрел последнюю версию... странно, версии показывает "древнейшие" типа LCLVersion = '0.9.31'. Т.е. должны грузиться где угодно и как угодно. Можете написать с какими конкретно файлами возникают ошибки? И как именно ошибки "выглядят"?
Сквозняк писал(а):Как залезу её файловым диалогом не в тот каталог, так кранты - лампочки на клаве не переключаются, жми на ресет.
Попробовал сегодня погулять по каталогам - подобного эффекта не обнаружил, хоть и Access Denied, и "введите пароль" выстреливало. Можете приблизительно подсказать в каких каталогах происходит зависание? Или оно происходит при попытке открыть модель/сцену?
eugeneloza писал(а):Попробовал сегодня погулять по каталогам - подобного эффекта не обнаружил, хоть и Access Denied, и "введите пароль" выстреливало. Можете приблизительно подсказать в каких каталогах происходит зависание? Или оно происходит при попытке открыть модель/сцену?
Это в линуксе происходит, наверно что-то платформозависимое. Сейчас нагружен другой задачей, потому не исследовал какой элемент в демке это вызывает.
