Skip to content

Студия создания текстовых квестов, со встроенным движком, для их проигрывания

Notifications You must be signed in to change notification settings

Zaharatot/TQEnjineZ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TQEnjineZ

Движок, для создания текстовых квестов, и CYOA игр. Представляет из себя програму, в которой, в графическом режиме можно создавать все элементы квестов (текстовые и графические), размещать их на нужных страницах, навешивать на них события, и собирать проект, в готовую игру.

Разработка идёт медленно, так как занимаюсь этим, в свободное от работы время, которого у меня не очень много =(.

ChangeLog

  • [0.0.0] Принято решение создать программу, создан набросок окна. Описано тезисно, какой примерно должна быть программа.
  • [0.0.1] Создана примерная структура сцен.
  • [0.0.2] Создана примерная структура анимаций, слегка переделана структуру сцен, реализована возможность добавления картинок, состоящих из нескольких слоёв, с последующим выводом, в результирующее изображение.
  • [0.0.3] Скорость склеивания картинок в слои признана неудоволетворительной. Оптимизировал алгоритм. Увеличил скорость обработки 3 слоёв с разрешением 1920x1080, с 13 секунд, до 0,4. Появилась мысль создать полноценный движок.
  • [0.0.4] Проведена оптимизация алгоритма, за счёт распараллеливания. Итоговый результат - 0,3 секунды. Появилась идея ускорения рассчётов, при помощи GPU.
  • [0.0.5] Переделан алгоритм, с учётом того, что задний план у нас всегда непрозрачный (либо фон, либо заливка цветом). После множества неудачных попыток, алгоритм для рассчётов наложения слоёв был запущен на GPU, при помощи библиотеки Cloo. Максимальный полученный результат для 2 слоёв с разрешением 1920x1080, накладываемых на фон - 0,1 секунда. Это даёт нам примерно 10 FPS, при диком потреблении оперативной памяти (в районе 2 гигабайт). Принято решение, о прекращении попыток написать свой движок, и использовать OpenGl, для рендеринга слоёв.
  • [0.0.6] После перерыва в разработке, вызванного работой над основным проектом, детали данного были переосмыслены. В частности, было принято решение, отказа от текущего пути, как ведущего к застою проекта. В связи с этим, будет реализована одна из старых идей, идущая из старых наработок автора и размышлений над проектами, при ознакомлении с которыми и было принято решение о создании текущего. Таким образом, для вывода графики данный проект будет генерировать html-страницы, которые будут отображаться во встроенном в проигрыватель браузере. Весь контент будет загружаться из файлов ресурсов, и встраиваться в автоматически генерируемую страницу. Это позволит создавать небольшые (в отличие от аналогов) страницы, которые будут быстро загружаться, и позволят модифицировать контент 'на лету'. Например - подгружая конкретную локализацию (рассматривается также возможность автоматического перевода через сервисы, в случае отсутствия нужных файлов локализации).
  • [0.0.7] После кошмарного завала по работе, автор таки смог вернуться к данной разработке. В основную концепцию проекта было добавлено небольшое изменение. Теперь, программа-проигрыватель будет не просто открывать html-страницы во встроенном браузере, а иметь хоть и урезанный но функционал веб-сервера. Таким образом, при запуске проигрывателя, игры можно будет запускать в обычном браузере, просто перейдя по ссылке. Автор ещё не решил, как конкретно это будет - стоит ли вообще оставлять задумку, с отображением игр внутри программы, или даже сделать проигрыватель, как некий аналог площадки распространения игр, где будет доступна вся библиотека, с возможностью прямой загрузки. Кроме изменения концепции, была написана основа веб-сервера, переделаны уже написанные файлы стилей, под формирование css-таблиц, кроме того, написано несколько новых классов стилей.
  • [0.0.8] С такой загруженностью на работе, я не завершу этот проект никогда >.<. Но, я буду стараться и выкраивать время... Так, возвращаясь к сабжу - в этом обновлении я немного прправил и дополнил систему стилей (которую начал делать в прошлой версии), продумал систему триггеров и действий к ним привязанных, и начал её реализовывать. Осталось доделать систему триггеров и объединить систему формирования скриптов и файлов стилей в один класс, который будет возвращать оные серверу, который, в свою очередь, будет передавать уже готовые файлы в браузер. Плюс - допилить систему формирования html-файла, который всё это будет запрашивать у сервера. Плюс - отдельная система формирования имён css-классов, функций и идентификаторов объектов. Всё это в планах на следующую версию.
  • [0.0.9] А кроме работы, я умудрился ещё и заболеть... И, на так долго ожидаемых выходных я не любовно пилил программу, а валялся на кровати с температурой =.=... Ну, мне вроде как полегчало, и я смог уделить несколько часов проекту. Доделал и объединил системы стилей, скриптов и триггеров; сделал систему подключения триггеров к элементам, по списку подключенных триггеров в элементе; внёс некоторые правки в подключение стилей; и, наконец, начал заниматься серверной частью, которая должна будет собирать файлы воедино, и выдавать браузеру. План на следующую версию - реализовать систему загрузки/сохранения информации об игре. Ну и, возможно, реализовать выдачу страниц.

About

Студия создания текстовых квестов, со встроенным движком, для их проигрывания

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published