PyGDF v1.0-release (not stable)
Примечания:
- Самая ранняя (вроде как стабильная) версия ядра и фреймворка в целом.
- Данная версия пока что рассчитана на разработку 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 * # и тд ...