Новый\старый движок для Arcanum |
Здравствуйте, гость ( Вход | Регистрация )
Новый\старый движок для Arcanum |
Jordan |
15.5.2023, 18:55
Сообщение
#41
|
Диггер
Группа: ДегустаторыСообщений: 39 Регистрация: 3.6.2015 Пользователь №: 6 449 |
Я ещё рассматриваю проект по созданию движка как полигон для улучшения фреймворка LDL. Исправлял баги, вношу улучшения по ходу пиления движка. Сейчас буду вносить изменения по оптимизации отрисовки. Запилю батчер текстур. Что бы при выводе к примеру тайлов, фреймворк их объединял в массивы и одним вызовом отрисовки с малым количеством draw call 'ов рисовал. Но важно оставить API рисования простым, всю оптимизацию засунуть под капот.
Сообщение отредактировал Jordan - 15.5.2023, 18:57 |
Jordan |
1.6.2023, 17:10
Сообщение
#42
|
Диггер
Группа: ДегустаторыСообщений: 39 Регистрация: 3.6.2015 Пользователь №: 6 449 |
Пилю по чуть чуть.
Теперь на карте правильно расставляются объекты с учетом офсета спрайта и центра тайла. Тестирую и исправляю баги с отрисовкой на ЦПУ, так же есть поддержка и аппаратного ускорения. На данный момент добавляю загрузку карты из xml файла и пилю генератор простых карт. |
Jordan |
6.6.2023, 11:24
Сообщение
#43
|
Диггер
Группа: ДегустаторыСообщений: 39 Регистрация: 3.6.2015 Пользователь №: 6 449 |
Добавил загрузку карты из xml файла.
Пример карты. https://github.com/JordanCpp/ArcanumWorld/b.../main/Empty.xml Добавить вывод всех объектов, взаимодействие. И перейти к реализации анимации. Сообщение отредактировал Jordan - 6.6.2023, 11:27 |
Jordan |
7.6.2023, 20:43
Сообщение
#44
|
Диггер
Группа: ДегустаторыСообщений: 39 Регистрация: 3.6.2015 Пользователь №: 6 449 |
Добавил поддержку dat архивов.
Ссылка на архив постоянная. https://github.com/JordanCpp/ArcanumWorld/b...rcanumWorld.zip Распакуйте в каталог игры и запустите ArcanumWorld.exe Перемещение карты, клавиши WASD. |
Jordan |
7.6.2023, 21:52
Сообщение
#45
|
Диггер
Группа: ДегустаторыСообщений: 39 Регистрация: 3.6.2015 Пользователь №: 6 449 |
Чтение dat архивов некорректно работает на версии Arcanum Multiverse Edition.
Корректно считает список файлов в архивах dat, но не может найти файл, который физически лежит в архиве. Позже разберусь, возможно, сто то не учёл. |
Jordan |
7.6.2023, 22:34
Сообщение
#46
|
Диггер
Группа: ДегустаторыСообщений: 39 Регистрация: 3.6.2015 Пользователь №: 6 449 |
Есть желание добавить в движок библиотеку sqlite для поддержки базы данных. В данной БД, можно хранить информацию о прототипах всех объектов в игре.
Плюс в том. Что можно одной командой update менять характеристики объектов. В оригинале к примеру, нужно было открыть все pro файлы и руками менять значения. Если всё будет храниться в БД можно запрашивать информацию по категориям, оружие, кольцо, персонаж и т. д Делать выборки очень гибко. Язык вполне понятный синтаксис SQL, файлы БД правятся в программе dbeawer. Ещё это плюс для поддержки модулей. У каждого модуля, будет своя БД. Работает очень быстро, так как можно всё данные поместить в ОЗУ. Сообщение отредактировал Jordan - 7.6.2023, 22:35 |
Jordan |
7.6.2023, 23:06
Сообщение
#47
|
Диггер
Группа: ДегустаторыСообщений: 39 Регистрация: 3.6.2015 Пользователь №: 6 449 |
Как я упоминал скрипты это class C++ языка.
К примеру, как будет выглядеть диалог. Есть файл mes {1}{Привет} {2}{Ты силён} {3}{Видал покрепче} {4}{Пока} Метод диалога Проверяем силу игрока void Orc::Dialog(size_t node) { if node == 0 //начало диалога всегда 0 { if Player.Stat(Strength) >= 15 { Reply(2) ; else Reply(3) ; Option Exit(4); } } } Просто код C++. Не нужно встраивать скриптовый язык. Скрипты могут юзать всё возможности движка из коробки. Текст и скрипты отделены друг от друга. |
Jordan |
8.6.2023, 15:50
Сообщение
#48
|
Диггер
Группа: ДегустаторыСообщений: 39 Регистрация: 3.6.2015 Пользователь №: 6 449 |
Я с самого начала делал свой проект в 3Д. Насчет правильной изометрии - в моей системе координат я взял угол 45 вокруг Z оси и 35.26 вокруг X оси. Привет, есть желание объединить проекты? К примеру я использую свой самописный фреймворк. Но могу от него легко отказаться и пилить на SDL2. Аккуратно абстрагирую и в будущем впилю поддержку своего фреймворка. Sdl2 умеет в ios. Всё примитивы, текст, звук, графика. За пару вечеров портирую. Пишу модульный код с тестами. Хард кода избегаю. Сообщение отредактировал Jordan - 8.6.2023, 16:00 |
Amrel |
8.6.2023, 18:09
Сообщение
#49
|
Прохожий
Группа: ДегустаторыСообщений: 9 Регистрация: 8.8.2022 Пользователь №: 7 330 |
Я с самого начала делал свой проект в 3Д. Насчет правильной изометрии - в моей системе координат я взял угол 45 вокруг Z оси и 35.26 вокруг X оси. Привет, есть желание объединить проекты? К примеру я использую свой самописный фреймворк. Но могу от него легко отказаться и пилить на SDL2. Аккуратно абстрагирую и в будущем впилю поддержку своего фреймворка. Sdl2 умеет в ios. Всё примитивы, текст, звук, графика. За пару вечеров портирую. Пишу модульный код с тестами. Хард кода избегаю. Привет - я пока свой проект на паузу поставил, занимаюсь другими штуками. Не знаю пока, вернусь к нему или нет. Хотелось бы конечно, штука интересная. |
Jordan |
4.7.2023, 19:28
Сообщение
#50
|
Диггер
Группа: ДегустаторыСообщений: 39 Регистрация: 3.6.2015 Пользователь №: 6 449 |
Движок пишется, но не быстро. На данный момент портирую фреймворк и на котором пишу движок на Linux. Двиг будет и под Linux. Во фреймворке осталось допилить потоковое воспроизведение аудио и будет первый релиз. После буду дальше писать двиг.
|
Текстовая версия | Сейчас: 22.12.2024, 11:04 |