Сделать базовый функционал уничтожения объектов
Версия
0.5.0 alfo (2020-04-01), текущее состояние ветки develop
72dd76a3
Резюме
Нужно чтобы объекты можно было уничтожить.
Описание улучшения
Уничтожение объектов, это конечно большой многосторонний функционал, который касается очень многих разных аспектов. В рамках настоящей задачи речь о создании базовых механизмов.
-
Нужно реализовать в бэкенде функционал структурной целостности для каждого объекта, в том числе различные системные возможности защиты важных объектов виртуального мира от возможного вандализма и уничтожения, то есть установления параметра "бессмертия" для отдельных важных объектов, например, базовых космических станций. В будущем когда будут реализованы различные специальные защитные подразделения и т.д. можно будет и многих объектов снять такой параметр и сделать их теоретически уничтожаемыми. По этому вопросу нужна будет отдельная задача по джанго-бэкенду.
-
Структурная целостность будет в виде числового параметра, будут различные факторы влияющие на уменьшение количества единиц структурной целостности, как и факторы повышающие, но сейчас не об этом речь. Когда значение структурной целостности объекта будет доходить до 0, этот объект будет считаться уничтоженным.
-
Уничтоженный объект будет получать соответствующий тип в базе. Ну то есть объект, такой как космический корабль, как правило не будет удаляться в базе, а будет только получать соответствующий тип.
-
Понятно, что в Клиентском приложении уничтоженный объект будет не просто исчезать, а нужно будет показывать что объект уничтожен. Вот это очень большой и сложный вопрос, как это реалистично показывать для разных объектов. Первым шагом нам нужно реализовать пока простой универсальный механизм. На том месте где был ранее объект, показывать анимацию трехмерной вспышки, такой нарастающий вспыхивающий шар. Который вспыхивает и исчезает.
-
Дальше идёт важный вопрос, что остаётся после разрушения, после показа вспышки, какие там обломки появляются. Это тоже большой и сложный вопрос, чтобы показывать реалистичные обломки, тем более разные в зависимости от того, каким образом объект был разрушен. Но сейчас на первом шаге, нам нужно для начала показывать какие-то универсальные обломки. Груда непонятно чего. Чтобы это можно было пока универсально показывать и у разрушенных кораблей и разрушенных астероидов. Пока у нас в обломках не будет так называемого лута, то есть того что можно было бы подобрать, так сказать поживится. Это будет потом отдельный функционал.