Skip to content

exousia-doxa/Mace_Engine

Repository files navigation

Вступ

Вітаю вас! Це проект Mace_Engine, метою якого є створення на мові програмування Java із використанням LWJGL (OpenGL) власного falling-sand симулятора. Для максимальної зручності було обрано JDK 17, адже цей SDK є LTS версією. Середовище розробки - IntelliJ IDEA Ultimate.

Приклади ігор аналогічного жанру

Noita

Гра "Noita", в основі якої лежить falling-sand симулятор.

The Sandbox

Мобільна гра "The Sandbox", котра теж є одним із прикладів цікавих falling-sand симуляторів.

Пролог

Причиною створення проекту було завдання від викладача під час навчання в університеті. Спочатку ми вагалися, щодо обрання конкретного жанру, але врешті-решт було вирішено створення гри саме з фізичною моделлю кожного умовного "пікселю". Такий жанр у рамках розробки не є надто складним, а також створення першої працючої альфа-версії суттєво б спрощувало подальше доповнення контентом, адже усі необхідні основні механіки були б уже реалізованими і відповідно залишалося б доповнювати новими матеріалами з їх фізикою та особливостями. Обрання графічного фреймворку - теж було горячою дискусією, хоча далеко не усі виступали з певною позицією та здебільшого залишалися осторонь. Врешті було обрано LWJGL, завдяки певним перевагам у створенні продукту такого роду.

Roadmap

  • Створення вікна для виводу графічної інформації.
  • Створення матриці із даними необхідними для візуалізації кожного пікселя.
  • Виведення даних з матриці (Шейдери GLSL).
  • Реалізація взаємодії гравця із симуляцією.
    • Використовуючи клавіатуру.
    • Використовуючи комп'ютерну миш.
  • Створення заставки та інших ймовірних ігрових сцен.
  • Можливість збереження результатів симуляції та їх відтворення.
  • Перехід на більш ефективне графічне виведення інформації.
    • Використання інших систем зображення графічного інтерфейсу.
    • Покращення загального візуального виду. Введення різномаїття кольорів та певних паттернів для матеріалів.
  • Створення інерціальної системи.
    • Для рідин.
    • Для газів.
    • Для твердих речовин.
  • Загальна оптимізація процесів, зменшення необхідних ресурсів ПК.
  • Реалізувати єдиний файловий пакет.

About

Код falling-sand симулятору "Mace_Engine"

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published