Skip to content

Общий план развития движка #9

Description

@tereshenkovav
  • Загрузка спрайта с пропорцией Origin (например, 0.5,0 -> w/2, 0)
  • Реализовать систему параметров загрузки, не только для спрайтов, но и для анимаций
  • Автоматическая очистка ресурсов, загруженных через загрузчик сцены
  • Разобраться с UTF и Linux
  • isValid для полного экрана только имеет смысл - вывести все режимы
  • Геймпад поддержка, включая установку при биндинге клавиш управления
  • Корректная обработка ошибок загрузки и ошибок сцены с протоколом и записью. Программа должна вести лог и давать сообщение игроку о произошедшей ошибке. Перейти на кидание исключений в загрузчиках ресурсов и обработку исключений/логирование в классе Game при инициализации/рендере/обсчете
  • Возврат к родительской сцене
  • Рефакторинг механизма сцен, субсцены могут быть вложены, у каждой субсцены может быть своя субсцена. Аналогично, оверсцен может быть больше одной у каждой сцены.
  • Инсталлятор игр более качественный с учетом обновлений
  • Добавить позиционирование объектов слоями как в Qt (центр, выравнивание и т.д.)
  • Библиотека эффектов наподобие SpriteEffects
  • Класс кнопки и чекбокса, либо подключить CTGUI
  • Префильтры загрузки спрайта (частично уже реализовано в loadSprite)
  • Разобраться с багом рендера большого текста (255 символов?)
  • Словарь спрайтов с ключами и рендером по коду ключа, с обработкой несуществующих ключей и загрузкой каталога/списка файлов.
  • Возможность рендерить сцену не сразу на окно, а в текстуру, потом накладывать эффект и выводить в окно. Может быть полезно при рендере меню или игровой паузы, сделать серым цветом или затенением. Сюда же эффект пикселизации.
  • Централизация управления звуками с учетом режима (вкл/выкл)
  • Переделать процедуру TScene.drawTextInBlockWidth, убрав необходимость пробела после \n и добавив опцией выравнивание по ширине.
  • Сделать систему курсора явную, с установкой текущего из сцены и рендером отдельно поверх всего в классе игры.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions