Башенки
Привет, просто хочу поделиться анимацией базовых башен в своей игре.
Привет, просто хочу поделиться анимацией базовых башен в своей игре.
И снова спустя довольно продолжительную паузу я вновь прошу позаимствовать толику вашего внимания, уважаемые читатели. На этот раз я готов порадовать вас не только яркими рассказами и картинками, а вполне реальной(но, к сожалению, неосязаемой) игрой. Да-да, её можно запустить и более того - в неё можно поиграть. Отныне Abyss Protection доступен в Steam всем желающим! Безусловно игра находится не в финальном своем виде, многие элементы могут измениться и блаблабла, думаю вы меня понимаете.
За эти недели мы внесли много изменений в игру. Некоторые механики были переработаны, а некоторые выброшены и заменены другими. Но в первую очередь хотелось бы отметить работу над балансом, которая продолжается и по сей день. Изначально перед нами стояла довольно комплексная и сложная задача - продумать всё так, чтобы меняющаяся от сессии к сессии карта каждый раз заставляла игрока пораскинуть мозгами, испытать напряжение и долгожданное спокойствие в определённое время. Исходя из динамики тестов, которые проводятся командой изо дня в день, мы всё ближе и ближе к необходимому результату. Многие башни получили иные цифры наносимого урона и прочих характеристик, включая стоимость. Была добавлена механика банков и пехоты, которая устанавливает планку создаваемых башен и добытого золота игроком. Теперь, чтобы ее повысить вам необходимо устанавливать специальные башни, расширяющие ваши возможности в развитии и защите.
Также несколько идей из комментариев под постами были учтены нами и пошли в игру в виде законченной механики. Одна из таких - Бомбер.
Этот вражеский юнит способен взорвать башню игрока, если оный не успеет нейтрализовать его до опасного сближения. Также уже существующим врагам были добавлены различные способности. Кто то может отключать Тесла-башни, кто то замедляет их перезарядку и тд.
Не все наши грандиозные планы полностью реализованы, но с нынешней динамикой мы ожидаем предельно быстро добиться желанного вида игры. В комментариях под постом вы можете предлагать свои идеи, давать конструктивную критику игры. Мы видим и слышим всех. Кто знает, возможно именно ваша идея будет реализована подобно тем, что вы видите выше. Дерзайте!
______________________________________________________________________________________________________
Страница игры в Steam: https://store.steampowered.com/app/1688520/Abyss_Protection/
На данный момент тестируем ночной режим о котором было упомянуто в посте ниже. Та самая механика, которая создавалась специально для него есть ничто иное, как механика освещения.
Теперь, когда Солнце исчезло за горизонтом, башни практически полностью утратили возможность вовремя засекать присутствие врага. Только специальные башни маяки, разработанные по давно исчезнувшей технологии, помогут им вновь узреть всё и даже больше.
Помимо специально созданного типа башни на локации появятся новые, необычайно сильные типы врагов, способные уничтожать целые поселения вашего маленького королевства. Также существенно повысится множитель здоровья у базовых сил зла. Подробнее же готовящийся режим будет описан в обещанном посте, который на данный момент готовится. Спасибо, что вы с нами!
Abyss Protection в Steam: https://store.steampowered.com/app/1688520/Abyss_Protection/
Добрый день, спустя довольной большой промежуток времени на связи снова я и снова показываю вам, уважаемые читатели, детище нашей небольшой студии, которая за эти пару месяцев претерпела некоторые изменения, существенно повлиявшие на разработку Abyss Protection и сроки выхода игры. Но, пожалуй, отставим демагогию и от общего сразу перейдем к частному. Хочется сразу сообщить, что все 2 месяца, что меня не было в эфире команда усердно работала, а не сидела как лис из всеми известного мема и офигевала от происходящего. Отнюдь, этот период наиболее сильно отразился на наполнении и визуале проекта, чуть ниже вы, естественно, сможете увидеть плоды нашего труда и оценить, пока пусть и визуально, качество игры. А оценивать поверьте придется крайне много.
Но прежде хотелось бы поведать об изменениях, предшествующих игровым. Нас осталось пятеро, прямо как могучих рейнджеров. Это повлияло на продолжительность разработки, а также увеличение нагрузки на каждого члена команды, однако мы в Exbyte Studios закоренелые оптимисты и привыкли искать позитивные моменты везде. Пусть пять человек не шибко объемная команда для разработки (Хоть и есть примеры успешных игр с гораздо более скромным составом) теперь мы можем собраться в мегазорда. На самом деле, в маленьком коллективе гораздо более высокий уровень коммуникации между его участниками, что позволяет повысить продуктивность, не смотря на потерю важной части команды. Сейчас каждый отвечает за гораздо более широкий и разнообразный круг задач, чем прежде. Это позволяет вырасти человеку как специалисту, а игре как качественному продукту.
После краткого ликбеза выше, наконец мы можем приступить к игре. Первое, что бросится в глаза при сравнении старых скриншотов из вот этого поста с нынешними – интерфейс. Мы перерабатывали его очень много раз, не могу отрицать, что часть сотрудников полегла в баталиях за длину бороды мага на соответствующей кнопке, но большими или малыми потерями UI полностью готов. Данная версия максимально близка к финальной, вас может ожидать разве что несколько новых функциональных кнопок, отвечающих за отдельные механики, но я вам этого не говорил!
Второе, но точно не по значимости – генерация. Наши 3д художники без перерыва ковали и куют десятки новых ассетов растительности, построек и отдельных объектов чтобы внести разнообразие в общую картинку. Тем временем кодеры также не сидят без дела и уже внесли множество исправлений и доработок в алгоритм, что позволило нам наиболее гибко и удобно добавлять новые элементы окружения, а также создавать целые биомы, которые в будущем будут оказывать существенное влияние на геймплей и расстановку ваших сил.
Помимо этого, в проект был добавлен внушительный бестиарий противников. Тараны, катапульты, рыцари, закованные в тяжелые доспехи, огромные боссы владыки гоблинов, големы и многое другое. Каждый вид имеет свои анимации смерти и передвижения, дополняют это всё десятки различных эффектов, большинство из которых также было разработано и интегрировано в проект в последние 2 месяца.
Дабы вы еще больше прочувствовали новшества и изменения, добавленные в игру – ниже я прикреплю небольшое геймплейное видео. В последующем на этом профиле также появятся статьи, которые будут более глубоко разбирать процесс оптимизации и творческого оформления Abyss Protection.
Спасибо за внимание и до новых встреч на фронтире бездны!
Abyss Protection в Steam: https://store.steampowered.com/app/1688520/Abyss_Protection/
В ноябре прошлого года мы с другом-художником решили принять участие в Сибирском Гейм Джеме. Game Jam - это конкурс для разработчиков игр, где за ограниченное время нужно сделать игру на случайно выбранную тему.
Тема этого джема - Закон Мёрфи.
Если что-нибудь может пойти не так, оно пойдёт не так
Не хотелось бы обсуждать, насколько хорошо тема подходит для джема, но холиваров она вызвала предостаточно. Так как допускается любое трактование темы, многие пошли простым путём, и переформулировав закон в "Бутерброд всегда падает маслом вниз" пошли делать игры про бутерброды с маслом, или просто про масло :-)
Ещё было несколько игр, где главный герой теряет ключи от машины, у него ломается кофе-машина, протекает раковина, и т.д. Мы захотели пойти другим путём. У нас давно было желание сделать игру жанра Tower Defence. И мы интерпретировали тему вот так
Если в данный момент может выйти монстр, от которого ты меньше всего защищен, то именно он и выйдет, и пойдёт по самому безопасному для себя пути.
Мы нарисовали монстров 4 разных цветов, и решили, что их могут бить только башни своего цвета.
И нарисовали карту с 4 возможными путями. Сразу покажу получившийся геймплей с последних минут игры, на нём видно, что как только меняешь цвет башен, ИИ сразу же начинает выпускать других монстров. Получается, игрок постоянно находится в напряжении, ведь ему нужно всё время реагировать на меняющуюся обстановку. И более того, нельзя заранее выучить волны, и подготовиться под них, каждая новая попытка уникальна, и зависит от твоих действий.
В джеме было много номинаций, несколько шуточных, несколько серьёзных. Многие не поняли наше трактование темы, либо не увидели его в геймплее, поэтому в номинации Попадание в тему мы заняли только 41-ое место. Зато в номинации Приз зрительских симпатий мы заняли 10 место, что было для нас огромным достижением, так как это наше первое участие в джемах, да и в принципе мы только начинаем свой путь в геймдеве.
В добавок к оценке, мы собрали несколько десятков положительных отзывов о этой игре, и пожелания развить её в полноценную игру. Чем мы естественно и решили заняться. В полноценной игре появятся
1. Несколько десятков уровней
2. Разнообразные монстры со своими особенностями
3. Апгрейд и усиление башен
4. Герой, находящийся на поле боя, со своими умениями и прокачкой
5. Умения, которые активирует сам игрок
Прототип, сделанный на джеме, выявил и некоторые минусы. Например, темп игры был слишком высок, монстры слишком огромные и двигаются слишком быстро. Поэтому, в процессе разработки, пока не нарисованы новые монстры, игра состоит из квадратиков и прямоугольников.
Вот так выглядит игра на данный момент, буквально позавчера добавили эффект молнии (тоже черновой вариант).
Спасибо, что прочитали!
Сыграть в игру, разработанную на джеме: https://sinedsem.itch.io/sneaky-forest
Следить за разработкой в группе ВК: https://vk.com/sneaky_monsters
И заходить на стримы, где я разрабатываю игру: https://www.twitch.tv/spellsingergames
Привет! Я являюсь членом gamedev студии Exbyte и сегодня хотел бы поведать вам о нашей еще не вышедшей игре Abyss Protection, в частности что это такое и с чем едят tower defence, приправленный глубоким лором, ярким мультяшным стилем и почти бесконечным количеством разнообразных уровней, но прежде о нас!
Exbyte Studios зародилась в самой пучине пандемии, а именно осенью 2020 года, когда коронавирус решил, что отправится на учёбу вместо студентов университетов и институтов после закончившихся летних каникул. Историю появления студии можно поистине соотнести с библейской, у нас также было первое слово, но слово это было: “Пень”. Да да, короткий неказистый, возможно немного трухлявый пень, который в один из пасмурных вечеров моделировал один из наших будущих 3д дизайнеров. Что-то в этом пне было настолько глубокое, настолько проницательное и завораживающее, что заставило оставшуюся команду, на тот моменту еще являющуюся горсткой однокурсников, покумекать и единогласно решить – “Студии быть!”.
Начавшаяся с пня череда удачных случайностей, продолжилась, возможно даже многократно усилившись. Ведь какой шанс, что в этой самой горстке однокурсников найдётся и талантливый управитель, который готов взять бремя game дизайнера, а затем повести всех за собой, и начинающие кодеры, которые схватывали всё налету, к тому же, что еще более удивительно выбравшие один и тот же язык программирования в качестве хобби, и много-много кто еще. Все эти люди словно шестерни встали на свои места в огромном механизме и в его жерле пошла работа над созданием множества прототипов.
Но хорошо всё бывает только в сказках… Тогда еще только новорожденная студия пошла по пути многих подобных и чуть не утонула под толщей собственных амбиций. Первый проект было решено не учить ползать, а сразу отправить в полёт. Он представлял из себя огромного размера сетевую игру жанра ММО, данжи, разнообразные по виду и сложности механики, сюжет, который показал бы всем sci fi проектам, где зимуют жнецы и ситхи, карта с кучей биомов и городов – всё это должны были сделать 8 человек, которые несколько дней назад примерили на себя роль сотрудников небольшой инди студии. Тогда вопреки количеству работ общий уровень воодушевления возобладал над общим уровнем здравомыслия, и процесс начался. Начался бодро, каждый прогрессировал на глазах, но от этого общее поле задач также становилось ясным и четким, уходил туман новичков, который скрывал холмы, нет, горы требующего внимания, а между тем бюджет нашей студии (как и сейчас) составлял чистый энтузиазм в количестве одна штука, бутерброд с колбасой в количестве одна штука. Дабы сотрудники не умерли от голода/обезумели/разбежались было принято решение сосредоточиться на небольших проектах, что позволило ещё больше отточить навыки на совершенно разных стилях, механиках и в последующим довести одно из таких поделий до сносного состояния. Да, как вы уже догадались этим проектом стал Abyss Protection.
Первоначально никто и не мог представить, что из всей кипы прототипов (А их и правда не мало) появится на свет именно этот. Ведь будем честны towerdefence далеко не самый популярный жанр с, в целом, уже устоявшейся формулой. На рынке по сей день можно встретить крайне мало проектов, которые бы решили бросить вызов золотому стандарту жанра и потеснить трёх его монументальных слонов своими жирафами. Но, прежде чем говорить о жирафах стоит немного да задеть тех самых слонов. И первый это тактика. В течение 100% времени игрового процесса вы должны быть максимально сосредоточены: на карте, пребывающих и пребывающих силах противника, ваших ресурсах и юнитах. Все эти данные нужно держать в голове и вместе с этим умело жонглировать ими как первоклассный фокусник. Какие типы врагов стоит уничтожить как можно быстрее, какие волны пока стоит “не замечать” чтобы расправиться с наиболее опасными, какие юниты наиболее эффективны в данной ситуации – все эти постоянные вопросы создают напряжение, а вместе с ним соответствующий интерес. Ведь, согласитесь, когда последняя дружеская стрела поставила точку в этой истории, когда упал последний негодяй чувство эйфории и своего гения тактики мгновенно повышает уровень эндорфина. Жить становится лучше, жить становится веселее.
Второй слон — это причина необходимости тактики и каких-либо действий в мире tower defence в целом – ваш дом, ваша крепость. Зачем предпринимать какие-либо действия для защиты от супостатов, когда за вашей спиной нет…Ничего, ни крепости, в которой ваш герой совсем недавно пил хмельное бок о бок со своими солдатами, ни города, в котором ждёт та самая. Поэтому, думаю, этого слона можно даже назвать игрообразующим, ведь без мотивации любое действо будет казаться бессмысленным. И, наконец, третий слон – прогрессия. На протяжении всей своей истории человечество развивается, преодолевая всё новые и новые трудности. Суровые климатические условия, огромные расстояния на Земле, в космосе, а в будущем возможно и во времени. Развитие одна из главных целей каждого человека и в играх всё работает абсолютно также. Улучшение юнитов, крепости позволяет уничтожать и выдерживать атаки всё более и более исполинских противников, которые на первых уровнях одним своим видом говорили…Нет, кричали о вашем полном поражении. Это определенно добавляет гормонов радости в их общую копилку.
Итак, все слоны измерены и описаны, теперь очередь жирафов. В самом начале я сказал, что мы собираемся именно что потеснить, а не низвергнуть трёх фундаментальных животных, потому что они работают, но работают неидеально. Сюжет и лор – одно из того, на что мы решили обратить внимание. В Abyss Protection роль “крепостей” и “городов” заняли феоды – части великого королевства, расколовшегося из-за ужасного катаклизма. Отныне феоды раскиданы по разным измерениям, и вы как единственный наследник престола должны отыскать каждый из них и выхватить из лап ужасных врагов. Каждый феод будет обладать уникальной историей, собственным путем развития и неповторимыми героями, что окажут помощь в вашем нелегком деле. Также своими действиями вы сами определите кем являются злостные захватчики и какие цели они скрывают. Индивидуальность игровому процессу будет придавать не только история, но и генерация. Каждое измерение, появление врагов и феод будут процедурно создаваться на новом уровне, в купе с количеством эффектов, разнообразием ассетов, врагов и апгрейдов, которое со временем будет только расти – повторяющиеся ситуации становятся абсолютным исключением.
Все эти нововведения благополучно повлияют на итоговый игровой процесс, сделав его насыщеннее и живее, а убедиться в этом вы сможете совсем скоро, а именно – 2 мая, в день выхода игры. Подписывайтесь, чтобы следить за новыми новостями и событиями. Спасибо!
Доброго дня, дорогие друзья! Сегодня речь пойдет о разработке, нашей командой Hell Squirrel Games, мини-проекта для конференции DevGamm. Проект называется – ADAM.
Что такое ADAM? Это игра в жанре Tower Defense, где мы, при помощи пушки на круговой рельсе, обороняем город от нападения врагов. Цель: не дать врагам подобраться к зданиям, стоящим за «ADAMом» - той самой пушкой.
Именно так мы впервые увидели концепт-арт ADAMa, который нарисовал Денис – автор идеи.
С чего началась разработка? Разработка началась с того, мы обговорили пару вопросов, собрали картину проекта у себя в голове и составили график выполнения работы. Так как времени до DevGamm не так много, необходимо максимально ускорить и оптимизировать разработку, что без продуманного графика и плана сделать практически невозможно.
Первым пунктом графика был дизайн документ - сердце проекта, в нем должно быть описано ну просто всё-всё, это своеобразная текстовая версия игры. Останавливаться на его оформлении я не буду, к счастью этого добра навалом в интернете. Скажу лишь одно – дабы кооперативно работать над документацией игры, мы используем Google Диск.
После того, как Денис написал диздок, наконец началась моя работа, как программиста. По данному документу я начал составлять техническое задание. Его я оформлял в Trello.
Именно так выглядит ТЗ на момент написания этого поста.
Легкое создание путей для движения танка
Теперь перейдем к технической части. Так как наш игрок - танк, двигается по пути, в нашем случае по кругу, то нужно этот круг как-то обозначить. Жестко кодить движение танка именно по кругу не вариант, ибо в будущем планируется и другие пути.
Путь восьмеркой и 6-ти угольник.
Я начал думать, каким образом сделать это быстро и удобно. Расставлять точки в редакторе Unity - обезьяний труд, также как и прописывать координаты вручную. Единственным нормальным вариантом, который я придумал, рисовать пути в 3D редакторе и потом с помощью скрипта получать координаты каждой вершины.
Вот так выглядит круглый путь в Blender, вершины и грани, без единого полигона.
Дальше импортируем эту модель в Unity и в параметрах импорта обязательно надо убрать галочку Optimize Mesh, иначе Unity посчитает, что модель пустая так как нету полигонов.
Теперь создаем объект, добавляем на него MeshFilter и пихаем туда нашу модель, после чего перекидываем скрипт, и в нем указываем тот самый MeshFilter. Удобство скрипта заключается в минимальных количествах действий со стороны разработчика, чтобы сгенерировать путь, необходимо нажать одну кнопку.
Тот самый MeshFilter с нашей моделью и скрипт для создания путей. Внизу вывод кол-ва точек, длина пути и координата каждой точки.
Если всё сработало правильно, то в окне редактора мы должны увидеть следующее:
Теперь в скрипте танка, указываем объект с путем и получаем от него массив координат, дальше уже двигаем этот танк по этим координатам. Кстати, не только танк двигается по путям, но ещё и камера.
Теперь пару слов о том, как работает скрипт. На самом деле всё предельно просто, через MeshFilter мы получаем непосредственно саму модель, а дальше из модели мы забираем координаты вершин, трансформируем их в нужный нам вид(WorldSpace или LocalSpace) и закидываем их в массив. Примерно так:
Vector3[] vertices = meshFilter.sharedMesh.vertices;
for (int i = 0; i<vertices.Length; i++)
{
path[i] = transform.TransformPoint(vertices[i]);
}
Сначала получили вершины, а потом через цикл присвоили к массиву.
Движение камеры
Это тоже довольно интересный момент разработки. Все наверно знают, что движение и положение камеры в пространстве очень важный элемент в игре, от него зависит очень много. Но сейчас я лишь хочу рассказать пару слов про тряску камеры.
Так как предполагалось, что камера будет вести съемку с вертолета, как будто прямое включение новостей, то необходимо сделать некую тряску, как будто оператор высунулся из двери и вручную снимает происходящее снизу.
Примерно так я это представил.
И вот тут я задумался, а как сделать по-настоящему реальную тряску или хотя бы близкую, как в кино. Конечно! У меня же есть камера на телефоне и руки! Я взял черную изоленту, наклеил небольшой кусок на стол и начал снимать сверху, с зумом, представляя что я вертолете и снимаю интересный репортаж.
После, я закинул видео в AfterEffects и сделал TrackMotion по углам изоленты и получил следующее:
К сожалению я так и не нашел способа экспорта графика анимации в Unity, поэтому пришлось действовать по старинке. Я проанализировал данный график, попытался повторить его с помощью кода, с различными параметрами, которые я смог бы потом менять прямо в редакторе.
Вышло довольно не плохо, а самое главное, что тряска ещё очень сильно настраиваемая.
Последние 4 параметра отвечают за тряску камеры.
В итоге, я таки допилил демку-прототип в срок, в ней не было супер графики и моделей, в нем были только геимплей и механики. Сейчас нам предстоит работать над балансом, а параллельно с этим мы можем начинать рисовать модельки и продумывать дальше уровни и игровой процесс.
Пара скринов с прототипа:
О дальнейших успехах разработки проекта мы подробно напишем во второй части нашего блога.
Спасибо за внимание!
Страница Ancient Guardian в Steam: http://store.steampowered.com/app/557580
Страницы нашей группы в ВК: https://vk.com/hellsquirrelgames