JordanCpp | Дата: Среда, 22 Ноября 2023, 11:02 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Приветствую!
Сссылка на репозиторий Lib-LDL/ArcanumWorld at master · JordanCpp/Lib-LDL
Данный проект является тестовым полигоном к проекту по реализации фреймворка LDL. На нём я тестирую API фреймворка, удобство разработки, реализую недостающий функционал. И конечно же реализую свободный и открытый движок моей любимой игры.
Движок совместим с ресурсами игры. Умеет читать графику art и работать с архивами игры dat. Проект на начальном этапе. Доступен только вывод простой карты. Карту можно перемещать клавишами w,a,s,d.
Я не стремлюсь к реализации 1 к 1. То есть, игра будет использовать графику, звуки и архивы игры. Но скриптовая система будет конвертирована в С++ код. Скрипты для игры будут разрабатываться на С++. Я понимаю, что это спорный момент, но для меня как разработчика, убирает большое количество работы с интеграцией интерпритируемых языков, стыковкой с движком, тестированием и другими мелкими проблемами, которые следует решить.
Ещё реазличия, это использование текстовых, человекочитаемых файлов для описания карт, характеристик монстров и юнитов. На данный момент мне не известен формат карт игры. Но в будущем думаю, получится конвертировать оригинальные карты в текстовый формат xml, который поддерживает движок.
На данны момент закладываю базис движка. В итоге хочу получить движок позволяющий пройти оригинальную игру + позволяющий делать моды к игре.
Так как движок разрабатывается на фреймворке LDL, собирается и работает на всех версиях windows + linux.
Сделал сборку совместимую c windows 95 и выше, код не переписывал под конктретную версию windows, фреймворк довольно хорошо абстрагирует нижележащую систему. Под linux выявил проблему несоответсвия путей между двумя система. Доработаю этот момент.
Сссылка на архив. Распакуйте в любой каталог и запустите ArcanumWorld.exe По умолчанию, в движке включен рендер OpenGL 1.2 ArcanumWorld.zip
По мере развития проекта, буду выносить общий код во фреймворк, к примеру работу с тайловой картой, анимацией и т.д Что бы можно было использовать код повторно. Некий общий мини 2D движок, который облегчит перенос старых или создание новых 2D игр. Как реализую поддержку ttf шрифтов во фреймворке, в игре появится поддержка unicode текса, сразу для всех систем. Не нужно создавать битмамы растровых шрифтов ограниченных кодировкой ascii. Полноценнная локализация игры будет работать и на windows 95.
Так же в движке есть зачатки простого GUI. Он в будущем так же будет перенесен во фреймворк. Главное отработать код и концепцию в игре и сделать его универсальным. Проект некий полигон для тестов и разработки. Но это ни в коей мере не невилирует его ценность как открытой альтернативой движка для игры Arcanum.
И так же я получаю опыт и знания по разработки 2D игр, так как в проф деятельности занимаюсь бэкенд разработкой.
Добавлено (22 Ноября 2023, 11:11) --------------------------------------------- Как собирать под Linux. 1. git clone https://github.com/JordanCpp/Lib-LDL.git 2. cmake . 3. make 4. cd Lib-LDL/Ports/ArcanumWorld/ 5. ./ArcanumWorld
Сообщение отредактировал JordanCpp - Среда, 22 Ноября 2023, 11:03 |
|
| |
TLT | Дата: Суббота, 25 Ноября 2023, 15:52 | Сообщение # 2 |
Сейчас нет на сайте
| Интересно делать всё с нуля, но как же на это будет время? Будем надеяться, что вашего запала хватит всё довести до полноценного итога. Проект интересный, наблюдаю...
Дао, выраженное словами, не есть истинное Дао.
|
|
| |
JordanCpp | Дата: Суббота, 25 Ноября 2023, 21:31 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Спасибо за отзыв. Сам надеюсь на себя, что хватит запала и времени. Я конечно надеюсь на стороннюю помощь заинтересованных программистов. Конечно понимаю специфику фреймворка и старости/нужности самой игры Arcanum. Но пока фана хватает, буду продолжать.
|
|
| |