Skip to content

PyGDF v1.0-release (not stable)

Choose a tag to compare

@LukovDev LukovDev released this 09 Oct 21:36
· 47 commits to master since this release
8eec958

Примечания:

  • Самая ранняя (вроде как стабильная) версия ядра и фреймворка в целом.
  • Данная версия пока что рассчитана на разработку 2D игр (небольшая 3D поддержка есть, но большинство инструментов не реализовано) и работу только на Windows.
  • В качестве API для отрисовки используется OpenGL (от 3.3 версии)
  • Документация по API ядра отсутствует, но исходный код ядра хорошо прокомментирован, и изучить что либо можно прямо там.
  • МОБИЛЬНЫЕ УСТРОЙСТВА В ЭТОЙ ВЕРСИИ НЕ ПОДДЕРЖИВАЮТСЯ!

Не пытайтесь заставить работать фреймворк на UNIX-системах. Для этого надо создать отдельную версию фреймворка или его расширение.

Основные проблемы:

  • Не работает система сборки.
  • Не работает система установки библиотек.
  • Не работает код для запуска проекта.
  • Не работает поддержка аудио в ядре.
  • Некорректно работает поддержка работы с файлами в ядре.
  • Не скомпилированы компилируемые скрипты Cython для Linux/MacOS.
  • (Возможно есть и другие проблемы о которых я пока что не знаю).

В этой версии реализовано всё то, что я хотел реализовать. Каждый модуль и скрипт был протестирован, но 100% гарантию работы именно на вашем устройстве гарантировать я не могу из за отсутствия команды тестировщиков. 99% всех марок и багов в ядре в этой версии исправлено.

Для начала работы с фреймворком, ознакомьтесь с туториалом на сайте PyGDF (Get-Started) (выберите эту версию фреймворка).

На этом же сайте есть страница с туториалами по разработки игр (возможно, пока что эта страница ещё не существует).

Если нашли баг, напишите мне в Telegram и обязательно укажите тег "@pygdf_bug" в начале сообщения.

Всё то, что я хотел реализовать в PyGDF 1.0:

  • Реализовать конвейер рендеринга.

  • Сделать 2D аниматора для покадровой анимации.

  • Сделать чтобы у параметров спрайта не обязательно было указывать текстуру.

  • Переделать utils.py. В частности, название и назначение функций.

  • Сделать простую поддержку Discord Rich Presence. Реализовано в utils.py

  • Сделать простую поддержку PyImGUI[pygame].

  • Исправить баги в эффекте системы частиц 2D.

  • Сделать чтобы у окна можно было убрать заголовок (функция set_titlebar(True/False) -> None)

  • Сделать поддержку игровых сцен.

  • Вывести все функции отвечающие за ввод данных в отдельный класс-обработчик input.InputHandler(Window)

  • Сделать 2D освещение:

    • Сделать точечный источник света:
      • Спрайтовый источник света.
      • Шейдерный источник света.
  • Улучшить работу Font.

    • Переделать в другой класс - FontGenerator и обновить старый код.
  • Сделать поддержку Net:

    • Сделать минимальный API для работы сетевого соединения (Сделать реализацию TCP/IP протокола).
    • Сделать простую реализацию Host / Client для того, чтобы вы могли сделать сетевую игру.
  • Переписать 2D физику:

    • Сделать чтобы создавалась сетка коллизии из текстуры (Physics2D.MeshGenerator()).
    • Сделать поиск ближайшего объекта в радиусе, и поиск всех объектов, попадающих под радиус.
    • Исправить разные мелкие недочёты и ошибки в реализации.
    • Вообще переделать весь API 2D физического движка.

К этому релизу приложены 2 файла:

  • PyGDF-Framework.zip - Это шаблонный проект для разработки игр и программ.
    Просто разархивируйте и получите папку с уже готовой начинкой проекта.

  • gdf-1.0-cp311-cp311-win_amd64.whl - Это библиотека pip которую можно установить у себя на пк.
    Благодаря ей, можно не использовать ядро с его исходным кодом у себя в проекте.
    Это тоже самое если бы вы использовали библиотеку pypi.
    Установить эту библиотеку можно консольной командой (убедитесь что консоль открыта в той же директории, где и находится этот файл!):
    pip install gdf-1.0-cp311-cp311-win_amd64.whl

    Импортировать в коде можно будет так:

    import gdf
    from gdf.graphics import Window
    from gdf.net import *
    # и тд ...

Ссылки:

Телеграм
PyGDF
PyGDF-Get-Started