SilentGamzee

SilentGamzee

Главарь студии OurLastSpring. Разрабатываем ремейк редактора WorldEditor из игры Warcraft 3. ВК: https://vk.com/ourlastspring
пикабушник
поставил 1 плюс и 0 минусов
271 рейтинг 22 подписчика 34 комментария 6 постов 4 в горячем
1 награда
За помощь Лампочгуку
31

WorldEditor на Unity. Часть 1

WorldEditor на Unity. Часть 1 Unity, Unity3d, Разработка, Gamedev, Инди, Компьютерные игры, Видеоигра, Видео, Длиннопост

Тайлы карты, окруженные с разных сторон текстурами.

Привет любители стратегий и третьего Варкрафта. Ранее, я публиковал посты о ходе разработке игры ElementalsFight (убийцы Варкрафта). Сейчас я бы хотел поведать о создании редактора.

Этап 1 - Тайловый редактор

Те, кто щупал WorldEditor, помнят, что редактор позволял в пару кликов создать интересную поверхность с переходами от одной текстуры к другой.

WorldEditor на Unity. Часть 1 Unity, Unity3d, Разработка, Gamedev, Инди, Компьютерные игры, Видеоигра, Видео, Длиннопост

Чем же отличается редактор Warcraft`а от привычных нам редакторов в Unity, UnrealEngine и т.д.?
Для 3д они используют Terrain. Это один кусок поверхности, который мы можем модифицировать и рисовать на нем текстуру по принципу графического редактора (Paint).

WorldEditor на Unity. Часть 1 Unity, Unity3d, Разработка, Gamedev, Инди, Компьютерные игры, Видеоигра, Видео, Длиннопост

Да, можно было бы наложить текстуру по тайлам, как в варкрафте, но что делать с возвышенностями\низинами в дальнейшем, ведь видно, что это отдельный участок поверхности?

Поделить изначально на тайлы (куски поверхности) и накладывать текстуру уже на них. Тайлы мы создали, расположили их, базовую текстуру наложили.

WorldEditor на Unity. Часть 1 Unity, Unity3d, Разработка, Gamedev, Инди, Компьютерные игры, Видеоигра, Видео, Длиннопост

Далее, нам нужно рисовать по кускам нашу текстуру. Я решил воспользоваться масками, чтобы вырезать из текстуры нужный кусок и вставить в зависимости от типа текстуры на краях.
Как новичок, я ошибся, и изначально проверял не по углам тайлов на тип текстуры, а по каждой стороне (8 сторон)

WorldEditor на Unity. Часть 1 Unity, Unity3d, Разработка, Gamedev, Инди, Компьютерные игры, Видеоигра, Видео, Длиннопост
WorldEditor на Unity. Часть 1 Unity, Unity3d, Разработка, Gamedev, Инди, Компьютерные игры, Видеоигра, Видео, Длиннопост

Далее, нужно было сделать больше типов текстур, с которым может взаимодействовать наш тайл (4 угла - 4 возможных текстуры по бокам)

Пришлось значительно модифицировать шейдер в Amplify, чтобы добиться желаемого результата (не без костылей). Чтобы каждая последующая текстура перекрывала предыдущую и создавала свой слой.

WorldEditor на Unity. Часть 1 Unity, Unity3d, Разработка, Gamedev, Инди, Компьютерные игры, Видеоигра, Видео, Длиннопост
WorldEditor на Unity. Часть 1 Unity, Unity3d, Разработка, Gamedev, Инди, Компьютерные игры, Видеоигра, Видео, Длиннопост

С этим еще есть некоторые проблемы и есть куда улучшать, но желаемый результат получен. Редактор убийцы Варкрафта3 - в разработке :)
Видео-пример работы редактора можете посмотреть ниже

Следить за разработкой можно по ссылкам ниже или помочь проекту, купив игру в стим:
ВК: Тык
Инста: Тык
Стим: Тык

Показать полностью 6 1
25

Warcraft 3 Кастомки на Unity. Часть 5

Greed Is Good - от этой фразы, у игрока в Warcraft 3 свело олдскулы.

Warcraft 3 Кастомки на Unity. Часть 5 Игры, Разработка, Gamedev, Идея, Steam, Кот, Инди игра, Мемы, Компьютерные игры, Стратегия, Unity, Инди, Видеоигра, Олдскул, Ностальгия, Длиннопост

Привет пикабу. С последнего поста мне задонатили на два дошика и банку кофе, так что разработка идет полным ходом!
Обновил Юнити, запустил проект, увидел множество ошибок, откатил Юнити. Все замечательно!
За последний месяц я исправил парочку ошибок, оптимизировал код (еще есть куда оптимизировать дальше) и добавил пару пару парочку багов особенностей. Далее, обо всем по порядку.


Что за игра и куда кидать котиков?

Если кратко, это стратегия где нужно строить здания и из зданий появляются существа, которые идут убивать противника и противник делает тоже самое. НО, главная миссия этой игры в другом. Убить WoW  Warcraft3 с его редактором карт. Создать редактор карт, который будет обновляться и улучшаться вместе с сообществом, а не умрет вместе с игрой.

Про котиков. Кидайте в сообщения группы вк. Лучший котик будет награжден другим фото котика.


Режим игры против ботов.

По отзывам тех, кто все таки добрался до игры (полтора фаната), был сделан вывод, что игроки в многопользовательской игре все же хотят играть против кого-то.

Поэтому, первым делом добавил читы, а потом уже бота.

GreedIsGood, кстати.

Warcraft 3 Кастомки на Unity. Часть 5 Игры, Разработка, Gamedev, Идея, Steam, Кот, Инди игра, Мемы, Компьютерные игры, Стратегия, Unity, Инди, Видеоигра, Олдскул, Ностальгия, Длиннопост

Визуализация клика

Теперь вы знаете куда вы бежите. Еще меняется цвет, если вы решили пожульничать и управляете ботом с помощью чит-режима.


Из основных минусов апдейта, теперь у юнитов не ломается анимация бега и они работают нормально.

Warcraft 3 Кастомки на Unity. Часть 5 Игры, Разработка, Gamedev, Идея, Steam, Кот, Инди игра, Мемы, Компьютерные игры, Стратегия, Unity, Инди, Видеоигра, Олдскул, Ностальгия, Длиннопост

Редактор карт

Теперь о самом главном. Редактор еще не готов и ему предстоит еще множество обновлений перед публичным релизом исходников. На данный момент он может только упрощать жизнь, создавая логику способностей в пару строк и делать вот так с тайлами, как было в варкрафте (вот тут, олдскулы свело уже у меня).

Warcraft 3 Кастомки на Unity. Часть 5 Игры, Разработка, Gamedev, Идея, Steam, Кот, Инди игра, Мемы, Компьютерные игры, Стратегия, Unity, Инди, Видеоигра, Олдскул, Ностальгия, Длиннопост

Если вас заинтересовал проект, то следить за ним можете вот тут:
Steam: тык.
Вконтакте: тык.

Инстаграмм: тык.

Показать полностью 3
25

Warcraft 3 Кастомки на Unity. Релиз в Steam. Часть 4

Warcraft 3 Кастомки на Unity. Релиз в Steam. Часть 4 Warcraft, Warcraft 3, Моддинг, Custom, Steam, Инди, Indiedev, Разработка, Unity, Unity3d, Игры, Компьютерные игры, Разработчики, Онлайн, Мультиплеер, Длиннопост

Об игре
Warcraft 3 - это RTS, но которая вносила многие изменения в привычные механики. Добавляя героя, уровни, различные способности. Но самое главное - позволяя создавать на основе этого свои собственные карты, способности, героев.
ElementalsFight - это духовное продолжение этого. Но помимо этого, хотим привнести для каждой пользовательской карты удобный матчмейкинг, кастомизированные меню карт и многие мелкие удобные вещи, которые не доступны в текущем Warcraft 3.

Релиз

Буду краток. Основная наша цель - создание крупного моддинг сообщества, как это было в Warcraft 3. Первым делом мы будем ориентироваться на редактор карт, с возможностью создавать различные игровые миры на движке игры. С минимальными навыками программирования.

В текущей версии игры мы лишь продемонстрировали пример карты (ElementalsFight), сделанной в этом редакторе. В дальнейшем, как редактор будет доведен до качественного уровня - мы выпустим его для пользования сообществом.

Warcraft 3 Кастомки на Unity. Релиз в Steam. Часть 4 Warcraft, Warcraft 3, Моддинг, Custom, Steam, Инди, Indiedev, Разработка, Unity, Unity3d, Игры, Компьютерные игры, Разработчики, Онлайн, Мультиплеер, Длиннопост

Текущая Работа

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

В ближайший патч планируется добавить Бота-противника, чтобы можно было проверить свои навыки перед игрой с реальным игроком. Так же, исправить некоторые недочеты с поиском пути, анимациями.


Приглашаю всех желающих на Стрим

Начало 02.01.2021 в 20:00 по МСК.


БОЛЬШЕ ОБ ЭТОЙ ИГРЕ:
VK: vk.com/ourlastspring
Steam: ElementalsFight
Twitch: twitch.tv/ourlastspring
Warcraft 3 Кастомки на Unity. Релиз в Steam. Часть 4 Warcraft, Warcraft 3, Моддинг, Custom, Steam, Инди, Indiedev, Разработка, Unity, Unity3d, Игры, Компьютерные игры, Разработчики, Онлайн, Мультиплеер, Длиннопост
Показать полностью 1
25

Warcraft 3 Кастомки на Unity. Часть 3

Продолжительное время с прошлого поста старался решить разные технические детали, поэтому сегодня расскажу о них.


Начну с самого-самого. С меню и списка лобби.

Думаю, все, кто старался реализовать сетевую часть своей игры слышали о Photon Bolt. Это сервис, помогающий организовать лобби, найти другие лобби и всё это корректно настроить. Подумали, что я использовал его? Нет, я использую Mirror. И слегка Steam. Сейчас расскажу почему.


Какова наша задача? Найти список лобби и присоединиться к нужному.


Почему не Photon Bolt\Server?

Если говорить о маленькой игре, в которой одновременное количество игроков менее 100, то это прекрасное решение, позволяющее не строить костыли, но если больше, то лучше написать свое решение для сервера. Такое выдалось ощущение после прочтения информации и поверхностного тестирования.


Как же тогда у меня работают лобби?

На данный момент используется Steamworks.Net для поиска\создания лобби и после этого создается, на основе лобби, сервер на Mirror, который использует данные лобби.

Warcraft 3 Кастомки на Unity. Часть 3 Unity, Unity3d, Разработка, Разработчики, Игры, Компьютерные игры, Ностальгия, Gamedev, Warcraft, Warcraft 3, Моддинг, Длиннопост

Звучит сложно? На самом деле, все намного проще, чем кажется.
Mirror позволяет использовать не только свои типы соединений, которых довольно много на выбор, но и другие, и прекрасно работать с ними.


О чем это я? Ах да, о том, что Mirror прекрасно может работать через Steam P2P. Все что от меня требовалось, так это создать у владельца лобби сервер и присоединить по SteamID к нему других игроков в лобби и дождаться их подключения.

Warcraft 3 Кастомки на Unity. Часть 3 Unity, Unity3d, Разработка, Разработчики, Игры, Компьютерные игры, Ностальгия, Gamedev, Warcraft, Warcraft 3, Моддинг, Длиннопост
Warcraft 3 Кастомки на Unity. Часть 3 Unity, Unity3d, Разработка, Разработчики, Игры, Компьютерные игры, Ностальгия, Gamedev, Warcraft, Warcraft 3, Моддинг, Длиннопост
Warcraft 3 Кастомки на Unity. Часть 3 Unity, Unity3d, Разработка, Разработчики, Игры, Компьютерные игры, Ностальгия, Gamedev, Warcraft, Warcraft 3, Моддинг, Длиннопост

После создания сервера и прогрузки на игровую сцену, ожидаем остальных. Что происходит, когда игрок-клиент прогружается? Он отправляет на сервер флажок готовности, а сервер информирует других игроков. Никаких связей Клиент-Клиент.


После того, как все загрузились, то для каждого игрока выдается герой, которым он может управлять, но, по факту, принадлежит серверу.

Почему так? Допустим, игроку принадлежит какой-то объект, который синхронизирован с сервером и он отключается. Что делает Mirror? Он удаляет\деспавнит этот объект, но нам этого не нужно, поэтому заранее все объекты принадлежат серверу и пока сервер активен - они будут существовать.

Warcraft 3 Кастомки на Unity. Часть 3 Unity, Unity3d, Разработка, Разработчики, Игры, Компьютерные игры, Ностальгия, Gamedev, Warcraft, Warcraft 3, Моддинг, Длиннопост

С момента прошлого поста, все базовые механики передвижения\строительства\применения способностей были полностью синхронизированы с сервером. Для демонстрации, добавлю другого игрока и начну строительство зданий.

Warcraft 3 Кастомки на Unity. Часть 3 Unity, Unity3d, Разработка, Разработчики, Игры, Компьютерные игры, Ностальгия, Gamedev, Warcraft, Warcraft 3, Моддинг, Длиннопост

Теперь к самому сочному и почему в название поста вообще есть Warcraft. Это способности и как они работают. Помните, как в WorldEditor`e, в Варкрафте, настраивались по событиям способности и, по желанию, дополнялись кодом? Здесь это работает так же!
Есть набор заготовленных событий (Нажатие на способность, каждый тик способности и т.д.) и при каждом событии можно вызвать одно из готовых действий (Нанести урон, Наложить дебафф и т.д.).

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

Warcraft 3 Кастомки на Unity. Часть 3 Unity, Unity3d, Разработка, Разработчики, Игры, Компьютерные игры, Ностальгия, Gamedev, Warcraft, Warcraft 3, Моддинг, Длиннопост
Warcraft 3 Кастомки на Unity. Часть 3 Unity, Unity3d, Разработка, Разработчики, Игры, Компьютерные игры, Ностальгия, Gamedev, Warcraft, Warcraft 3, Моддинг, Длиннопост

Всем спасибо, кто дочитал до конца и вообще, что читаете\следите за моими постами))


Ссылка на вк: https://vk.com/ourlastspring

Показать полностью 7
16

Warcraft 3 Кастомки на Unity. ElementalsFight. Часть 2

Да будет так. Главный герой - Ёлка.


Что-то сделано, что-то в процессе. Но самое главное - реализовал строительство! Строить можно только на отведенных локациях (помимо базы, можно будет строить на специальных местах в лесу).


Дык, о чем вообще игра?

- Ать вотъ я пока не знаю, но зато красиво!


Но если чуть серьезнее, то игра про:

Строишь здания -> Существа из зданий идут к врагу -> Ломают врага.


А враг человек и может устроить точно такое же злодейство!


Ну и чем больше вариаций зданий\улучшений\юнитов, тем лучше, но основное отличие - наличие того самого героя, который сражается вместе с юнитами, прокачивается, собирает разные предметы, улучшается и прочее.


Но пока у нас только ёлка, пару камней и пехотинец:)

Warcraft 3 Кастомки на Unity. ElementalsFight. Часть 2 Warcraft 3, Unity, Unity3d, Игры, Компьютерные игры, Dota, Разработка, Инди, Инди игра, Gamedev, Гифка, Длиннопост

Аффтор, чем ты там вообще занимаешься?


Уважаемый единственный подписчик, работа идет. Вот сделал первую рабочую версию главного меню, парочку зданий, строительство. Главное - осталось лишь пару десяткой лет до релиза, и вуаля, игра мечты готова.


А пока покажу одно из зданий из расы НеЖивых Нежити и скрин из меню, где успешно завершено создание лобби и мелочные штуки с интерфейсом.

Warcraft 3 Кастомки на Unity. ElementalsFight. Часть 2 Warcraft 3, Unity, Unity3d, Игры, Компьютерные игры, Dota, Разработка, Инди, Инди игра, Gamedev, Гифка, Длиннопост
Warcraft 3 Кастомки на Unity. ElementalsFight. Часть 2 Warcraft 3, Unity, Unity3d, Игры, Компьютерные игры, Dota, Разработка, Инди, Инди игра, Gamedev, Гифка, Длиннопост

Так причем же здесь Варкрафт 3?


В том, что игра духовный наследник тех же кастомок и многие механики из тех карт переносятся в отдельную игру. С адекватным ладдером, поиском игр и токсичным комьюнити:)


Всем спасибо за внимание, вы потрясающие!


Группа ВК: ТЫК

Показать полностью 2
63

Warcraft 3 Кастомки на Unity. Часть 1

Предисловие


Когда Варкрафт был на пике популярности, многие, кто играл в него, обязательно щупали кастомные карты. А некоторые и пропадали там на долгие года. Вроде меня (счастливый хыхык). Когда вспоминаю конкретные карты, то сразу на ум приходят Dota, CastleFight, Angel Arena или Пути Эволюции. Многие подобные, популярные, карты делали из обычной RTS игры, третьего Варика, нечто уникальное.


Но была одна главная особенность для каждой кастомки - герои. В отличии от стратегий, где игрок командовал целой армией, подобные карты давали возможность управлять хоть лишь и одним юнитом, но с набором своих способностей, которые можно прокачивать вместе с повышением уровня героя.

Warcraft 3 Кастомки на Unity. Часть 1 Warcraft 3, Warcraft, The Frozen Throne, Unity, Unity3d, Custom, Dota, Dota 2, RTS, Стратегия, Разработка, Gamedev, Эволюция, Ностальгия, Длиннопост
Warcraft 3 Кастомки на Unity. Часть 1 Warcraft 3, Warcraft, The Frozen Throne, Unity, Unity3d, Custom, Dota, Dota 2, RTS, Стратегия, Разработка, Gamedev, Эволюция, Ностальгия, Длиннопост

Затем вышла Dota2...

Красивая (по сравнению с графикой игры 2002 года), с возможностью быстро найти игру, без технических сложностей, без туториала погрузиться все глубже и начать играть.

Так же дота привнесла улучшенную систему покупки предметов и задержка до действий юнитов стала меньше, что повысило комфорт от игры.

Когда Dota 2 перешла на Source 2 и появилась возможность создавать свои Кастомки, то я был один из первых, кто попытался выпустить что-то интересное, но дальше первых версий не ушло, т.к. редактор был требователен к железу, в отличии от редактора в Варике.

Warcraft 3 Кастомки на Unity. Часть 1 Warcraft 3, Warcraft, The Frozen Throne, Unity, Unity3d, Custom, Dota, Dota 2, RTS, Стратегия, Разработка, Gamedev, Эволюция, Ностальгия, Длиннопост

Спустя множество лет игры в Dota 2 и немножко работы в Unity...

А почему бы не сделать свою Кастомку, но как отдельную игру? С блекджеком, эволюцией, поиском игр и рейтинговым ладдером?

Вот и началась разработка ElementalsFight.

Игра сочетающая лучшее (на мой взгляд) из разных карт Warcraft 3.

На данный момент планируется сделать игру только для двоих игроков. Каждая сторона может собрать свой уникальный Элемент! В зависимости от элемента можно построить разные здания на базе, что производят существ и идут по линии, к вражеской стороне.


Место для спавна боссов, где можно получить уникальные предметы для Героя.

Warcraft 3 Кастомки на Unity. Часть 1 Warcraft 3, Warcraft, The Frozen Throne, Unity, Unity3d, Custom, Dota, Dota 2, RTS, Стратегия, Разработка, Gamedev, Эволюция, Ностальгия, Длиннопост

Одна из локаций карты, где можно добыть элементы другого типа.

Warcraft 3 Кастомки на Unity. Часть 1 Warcraft 3, Warcraft, The Frozen Throne, Unity, Unity3d, Custom, Dota, Dota 2, RTS, Стратегия, Разработка, Gamedev, Эволюция, Ностальгия, Длиннопост

По мере разработки я продолжу выпускать DevLog`и, чтобы сделать игру, которые люди, помимо меня ждали и надеялись когда-нибудь увидеть.

Если у вас есть идеи или предложения, то буду рад их прочитать под постами или в своей группе вк: ТЫК

Показать полностью 4
Отличная работа, все прочитано!