TGViewer
ECS Comrade ECS Comrade @ecscomrade · 935 subscribers
Post #84 1.13K
"Личный опыт"

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

Чем Вы сейчас занимаетесь в игровой индустрии?
Вместе со своей командой Epic Cat Team мы работаем над Tower Defence для ПК под названием «Dream Keeper». Сеттинг-фентези. Также мы пытаемся добавить в нашу игру элементы ARPG. Например, у нас есть герой, который помогает башням защищать базу. Его можно прокачивать и экипировать разными шмотками для усиления его характеристик.

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

Были ли попытки писать код на "чистом" ECS?
Мы изначально не планировали писать код полностью на pure ECS, поскольку не все программисты в нашей команде хотели с ним связываться. Мы решили делать основную часть на ECS, а оставшийся код интегрировать в систему.

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

Получилось ли так, что увлёкшись разработкой Вы начали создавать свой собственный фреймворк на базе ECS?
В общем мы действительно думали о том, чтобы разработать что-то по типу фреймворка, но почти сразу от этого отказались, поскольку к этому моменту на ECS были только самые узкие места кода (в плане производительности), а остальное было на обычном КОП.

Почему отказались от "pure" и перешли в гибридную основу?
В основном это было обусловлено постоянно меняющимися идеями геймдизайнеров и остальных участников команды. Мы несколько раз очень сильно меняли концепцию игры и многие игровые механики (и продолжаем это делать, хотя уже и не так активно). В какой-то момент мы поняли, что поддержка архитектуры занимает у нас довольно значительную часть времени и решили отложить это дело до того момента, как игровые механики и концепции более или менее устаканятся. Возможно, если бы мы были более опытны в использовании ECS и была бы более конкретная и четкая идея игры, то было бы проще придерживаться паттерна…
Тем не менее система пуль башен, написанная специально под ECS так и осталась в нашем проекте и прекрасно работает.

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

Если бы Вы вернулись назад, то как бы Вы приступили к разработке?
Я бы сделал то же самое, поскольку не мог знать о последствиях (так я обычно отвечаю на подобные вопросы). Но если говорить о будущем, то я еще обязательно буду следить за ECS и стараться использовать его в других своих проектах.

#case #unity #talk
More from @ecscomrade
  1. Feb 11, 2024Записали я Александром(@chromealex) - автором ME.BECS разбор демо игры на фреймворке. Пого…
  2. Dec 27, 2023ECS Comrade - 5 лет! Сообщество было создано 20 декабря 2018
  3. Nov 26, 2023DOTS development status and next milestones Unity выкатила официальный пост по состоянию D…
  4. Sep 18, 2023Morpeh.Godot Первая версия демо портирования Morpeh ECS на Godot. Кубики полетели, а значи…
  5. Jun 26, 2023https://coffeebraingames.wordpress.com/2023/06/25/chunk-iteration-in-entities-1-0/
  6. Jun 22, 2023#вакансия Команда SIXHANDS в поисках Unity Developer для проекта на ME.ECS Что ждёт: - Раб…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →