ikvk

ikvk

На Пикабу
Дата рождения: 11 ноября
111 рейтинг 1 подписчик 1 подписка 2 поста 0 в горячем
11

Переход от ООП к ECS при разработке игр

Когда-то у меня было мало опыта в разработке и я решил - буду делать игру, используя ООП.
Это ведь популярная парадигма разработки.
И сделал. Я придумал достаточно оригинальную идею игры, реализовал базовую механику за пару недель и убедился что игра жизнеспособна.

И сразу же понял что с кодом что то не так:
Взаимодействие между кучей объектов оказалось не гибким - нужно было изобретать способы передачи одних объектов в другие.
Трудно было понять общую картину зависимостей.
Изменение логики требовало больших усилий.
По мере добавления новых идей и механик, разработка превращалась в пытку.
В этот момент я понял что делаю что то не так и убрал проект в ящик.

Спустя несколько лет я накопил опыта и познакомился с паттерном ECS (Entity-Component-System). Он решает задачу улучшения гибкости, модульности и производительности систем. Вспомнил про игру и пошёл искать библиотеку ECS для python (игра на нем).Сущеуствующие библиотеки ECS для python оказались не идеальны, если сказать мягко.

В итоге я написал свою реализацию:
https://github.com/ikvk/ecs_pattern
https://pypi.org/project/ecs-pattern/
И воспользовался ей для создания своей игры.
Использование ECS дало свои плоды: писать код стало в удовольствие, появилась гибкость и модульность.

ECS для разработки игр прекрасен на любом языке.
Если вы делаете игру, для которой не нужна видеокарта, вам может пригодиться мой опыт.
В репозитории бибилотеки ecs_pattern есть краткие доки, пример использования на примере моей игры и еще пара полезных примеров.
На низкоуровневых языках ECS решает задачу оптимизации использования ресурсов, но это уже совсем другая история.

*Игра называется "Trig fall", размещена в rustore, vkplay, appgallery.

Спасибо за внимание :)

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества