"LTA: Light. Thrusters. Action!" - Апдейт по игре
Привет! Самая главная фича - это то, что я придумал название:)
Что добавлено с прошлого раза:
Атмосфера вокруг планет
Пока только визуально, но в будущем планирую сделать, что у некоторых планет в прямом смысле была "своя атмосфера", со своими свойствами. Свойств пока в плане два: это радиус атмосферы и плотность. Плотность влияет на то, как атмосфера будет противодействовать предметам, которые падают на планету.
Если атмосфера плотная, то все, что через нее летит будет получать урон пропорциональный свой скорости. Опять же повторюсь, не знаю, как это будет работать на практике, но посмотреть очень интересно :)
Генерация сектора космоса
Сделал не очень мудреный генератор планет. Они как бы располагаются каждая на свой орбите вокруг общего большого центра масс. На этом месте будет звезда, но пока ее там нет :)
Тестировал генерацию на большом количестве планет. Вроде выглядит неплохо. Но думаю, что в итоге в игре в одной звездной системе будет не больше 10-20 планет.
Все генерится по ключу, и в будущем можно будет запоминать особо удачные системы, чтобы снова сгенерить их в таком же виде и сыграть в них снова.
Сейчас у каждой планеты минимум параметров и разнообразия сильно не хватает, но я над этим работаю:)
Эффекты от попадания снарядов
Тут ничего особенного. Эти эффекты сильно напрашивались. Вариант не финальный, но уже есть с чем работать.
Оружейные системы и получение урона
Изначально в прототипе я сделал только один вид оружия - ракеты. Они сделаны максимально просто и негибко. В целом все получение урона сводилось к тому, что если корабль столкнулся с ракетой, он получает урон и все.
Когда задумал сделать урон от атмосферы - уже начались проблемы, она в эту систему не вписывается, и нужно делать более универсальное решение. Я посоветовался с другом, и он на программистском языке рассказал мне, как все можно доработать.
Я более-менее разобрался и переделал систему получения урона. Теперь можно легко добавить новые виды урона и обработать их.
Снаружи ничего не изменилось, но внутри изменений - о-го-го :)
На этом у меня пока все, надеюсь, скоро можно будет собрать нормальный билд и поиграть в него :)
Спасибо за внимание. Пока!
Подробнее
И по интерфейсам получается примерно план такой: - Создаешь базовый класс DamageData; - Создаешь наследников этого класса для каждого типа урона (физический, ножевой, огненный и тд.); - Создаешь интерфейс IDamageable; - Делаешь в нем метод ApplyDamage(DamageData data); - Группируешь объекты по базовому принципу (Астероид, Корабль, Планета); - Каждому такому базовому классу приписываешь IDamageable; - ApplyDamageQ в этих базовых классах может быть как сразу реализован, так и оставлен для реализации наследникам (приписать abstract); - У наследников прописываешь обработку урона; - Вешаешь эти скрипты куда следуют; - Потом в пулях, лазерах, планетах и тд. - вызываешь этот метод ApplyDamageQ для каждого из них; - ???? - PROFIT
LTA Атмосфера и посадка,Gaming,cubicpie,cubic pie,
LTA Генерация планет,Gaming,cubicpie,cubic pie,
LTA Эффекты от попадания,Gaming,cubicpie,cubic pie,
Игры,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,нейросети,Инди игры,MidJourney,космос,unity,Unity3D,геймдев