Публикации по теме 'entity-component-system'


Создание игры в Bevy: 2D- и 3D-движок с открытым исходным кодом, построенный на Rust
Ранее я писал обо всех обещаниях, которые дает Unity’s Project Tiny , предлагая возможность рендеринга 2D и 3D игр с поразительной скоростью и небольшими размерами. Но, несмотря на все преимущества, которые ECS приносит с собой, есть много сложностей, которые она приносит. Рассмотрим Bevy , игровой движок с открытым исходным кодом, управляемый данными, который построен на Rust. Bevy, код которой доступен в Github , содержит ряд примеров в папке Примеры . После получения проекта..

Nomad Game Engine: Часть 2 - ECS
Долой наследование! Этот пост является частью серии, в которой я рассказываю о своем опыте создания игрового движка ECS с нуля. Посетите домашнюю страницу этого проекта , чтобы получить дополнительные сообщения, информацию и исходный код. Система компонентов сущности Как упоминалось в моем последнем посте, игровой движок, над которым я начинаю работать, будет следовать методологии ECS (Entity Component System). В этом сообщении в блоге я постараюсь как можно проще объяснить свою..

Понимание, регистрация, отслеживание и профилирование ECS
Инструменты самоанализа для лучшей отладки и адаптации Основными составляющими каждого приложения на основе ECS являются компоненты и системы. Компоненты отражают элементарные составные части данных, а системы - это функции , которые преобразуют данные. Все эти части просты, независимы и могут быть составлены, как кубики LEGO®. Это здорово с точки зрения гибкости, но также пугает, особенно если вы новичок в проекте. Чем больше вы увидите несвязанных частей головоломки, тем больше..

Unity DOTS и не только: краткое введение
Сегодня мы обсудим некоторые из интересных и интересных новостей о Unity: Data-Oriented Technology Stack, Unity Physics, Project Tiny. ТОЧКИ Как следует из названия, новая DOTS Unity в значительной степени основана на новой методике проектирования и программирования, ориентированной на данные. Из нашего прошлого опыта мы знаем, что можем писать наш код C # объектно-ориентированным способом в Unity, но команда Unity обещает совершенно другой подход к дизайну игр, и этот DOD (Data-Oriented..

Верфь + Dominator + LitElement =
Вот доказательство концепции подхода к созданию крупномасштабных приложений в Интернете, в первую очередь на Rust с небольшим количеством Typescript: Https://github.com/dakom/todo-shipyard-lit-dominator Что это за разные технологии и как они сочетаются друг с другом? Система компонентов судоверфи - это настоящая ECS, написанная Леудцем / Диланом Анселем. Он использует те же основные идеи, что и EnTT (C ++ ECS, используемый в Minecraft). Концептуально это обеспечивает..

Nomad Game Engine: Часть 4.3 - AoS против SoA
Оптимизация хранения данных Этот пост является частью серии, в которой я рассказываю о своем опыте создания игрового движка ECS с нуля. Посетите домашнюю страницу этого проекта , чтобы получить дополнительные сообщения, информацию и исходный код. В следующих нескольких сообщениях в блоге мы собираемся погрузиться в самую суть. Я оставлю это как предупреждение: на самом деле для ECS ничего из этого не требуется. Разница в производительности в подавляющем большинстве игр будет..

Вопросы по теме 'entity-component-system'

изменить значение словаря как выходной параметр и ссылку
Я хочу создать пример Entity-Component-System. У меня есть такие компоненты, как internal struct Position : IComponent { public int X { get; set; } public int Y { get; set; } } а также internal struct Movementspeed : IComponent...
43 просмотров
schedule 23.08.2023

Пользовательский распределитель памяти в пуле с realloc
Я создаю pooled_allocator для выделения памяти для моих компонентов определенного типа в одном блоке памяти. Как я могу обновить уже выделенные PTR, хранящиеся в каком-либо контейнере? Я реализовал ECS для своей игры с общим подходом. я...
94 просмотров

Как следует обрабатывать установочный код в entity-component-system?
Я пишу фреймворк ECS, а также игру с ним на Python. В структуре ECS компоненты должны содержать только данные. Однако иногда для создания данных требуется код настройки. Например, в аудиокомпоненте данные будут представлять собой громкость звука...
336 просмотров

Как обрабатывать коллизии в шаблоне ECS?
Я делаю игру с машинописным текстом и шаблоном ECS. Но я не могу понять, как обрабатывать столкновения между объектами. У меня есть сущность Player с набором компонентов: LayerComponent - компонент, хранящий имя слоя для рендеринга;...
1813 просмотров

Time.timeScale не работает для пакета Unity.Physics (DOTS)
если я установил Time.timeScale = 0; ничего не меняется, если установить Time.fixedDeltaTime = 0; мои физические объекты начинают вести себя странно, но не останавливаются полностью. Может кто знает как поменять timeScale для DOTS Physics
284 просмотров

Есть ли способ увидеть (и получить сущность) мир с помощью системы ECS rust Legion?
Я следую руководству по ржавчине, в котором используются спецификации ECS, и я пытаюсь реализовать его, используя взамен legion ECS . Я люблю Legion, и все шло гладко, пока я не столкнулся с проблемой. Я не знаю, как сформулировать свой вопрос....
252 просмотров
schedule 17.03.2022

TypeScript опускает геттеры-сеттеры только для частичных данных?
как я могу опустить геттеры, сеттеры, методы в Partial<> данных? Или существует способ получить такую ​​архитектуру с помощью машинописного текста? Мне нужны типы с полным доступом и типы без readOnly. Я пытаюсь сделать небольшой...
167 просмотров