SNK27

SNK27

На Пикабу
128 рейтинг 0 подписчиков 0 подписок 3 поста 0 в горячем
10

Создаю свою версию игры стратегии Kingdom с нуля - I часть

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

За лето я познакомился и прошел всю серию игр Kingdom. Для тех, кто не знаком с этой игрой, я с уверенностью могу сказать, что таких, как и я когда-то, немало. Это 2D стратегия, выполненная в стиле пиксель-арта. Игрок выступает в роли Короля забытого королевства, имея лишь корону и пару золотых. Его задача — построить лагерь, который со временем превратится в королевство, укрепить оборону, нанять солдат и рабочих. Однако на его пути встречаются враги, стремящиеся забрать всё золото и, самое главное, корону. Вот вкратце суть игры.

Моя игра в данный момент разработки

Моя игра в данный момент разработки

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

Kingdom New Lands - мой вдохновитель. Скриншот для сравнения

Kingdom New Lands - мой вдохновитель. Скриншот для сравнения

Итак, с чего же я начал свои эксперименты и что уже готово?

Игрок как инструмент

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

Первый и пока единственный спрайт Короля (игрока). Набросал за 5 секунд чтобы видеть себя в игре

Первый и пока единственный спрайт Короля (игрока). Набросал за 5 секунд чтобы видеть себя в игре

Понятный интерфейс

В оригинале нет интерфейса, кроме «счётчика монет» и кнопки «купить». Даже эти элементы UI обыграны как детали игры, а не интерфейса. Вот Король купил ограду и может её лишь улучшить. Здесь и начинаются отличия. Я добавил понятный интерфейс. Когда Король приходит к кучке камней на земле, появляется кнопка «Построить ограду». Просто и понятно. А то я помню, как каждое действие проверял в интернете, что да почему, а обзорщики игры, которые этого не стали делать, пропустили половину фич.

Так выглядит "Счётчик монет" в оригинальном Kingdom. Монеты падают в мешочек

Так выглядит "Счётчик монет" в оригинальном Kingdom. Монеты падают в мешочек

Взаимодействие после постройки

После постройки (пока мгновенной) взаимодействия не заканчиваются только на прокачке. Королю вольно открыть или закрыть «ворота» ограждения. Если не закрыть их вовремя, враги смогут атаковать королевство напрямую. При этом охотники и прочие поселенцы не будут выходить за границы царства. Таким образом, «закрыть» — это значит загнать всех своих в безопасное место. Однако нужно вовремя открывать ворота, ведь кто-то должен зарабатывать деньги.

Элементы UI и взаимодействие с ограждением.

Элементы UI и взаимодействие с ограждением.

Время и счётчик прожитых дней

В Kingdom поведение Короля зависит от времени дня, так как враги нападают только ночью. Я решил оставить эту особенность. Но бывало непонятно, когда уже настало опасное время и пора мчаться домой, а когда можно продолжать исследовать таинственный лес. Я решил и здесь добавить интерфейс — время и счётчик прожитых дней. После 20 часов все поселенцы, если ворота были открыты, бегут домой, а солдаты занимают боевые позиции. В 6 утра, с позволения Короля и его ворот, все выходят на работу.

Время и количество прожитых дней. Также кнопки управления лучниками.

Время и количество прожитых дней. Также кнопки управления лучниками.

Боевые юниты — лучники

Основа оригинала — боевые юниты-лучники. Но чаще всего они либо сутками сидят на позициях, либо изредка охотятся. Я повысил им коэффициент полезного действия. Днём, если ворота открыты, автоматически назначается три охотника из списка лучников. Они выходят за пределы стен и добывают золото Королю, охотясь за дичью. Если на карте есть ещё лучники, трое назначаются защитниками дальней стены. Дальняя стена — это граница королевства. Стен может быть много, но лишь одна крайняя. Лишнюю стену можно «сломать» в один клик.

Первый набросок и финальный пиксель-арт спрайта Лучника.

Первый набросок и финальный пиксель-арт спрайта Лучника.

Охота

Я создал кроличью нору — их спавн. Теперь Король будет видеть, где их скопление. С некой периодичностью появляются новые кролики, бродящие по карте. Если они попадают в зону видимости лучников, то достаётся лук и выпускается стрела. А если кролики начнут приносить мало прибыли, можно будет уничтожить их логово и построить что-то другое.

Охотники. Лук. Стрела. Кролик

Охотники. Лук. Стрела. Кролик

Вариативность построек

В оригинале разработчики сами устанавливают точки, где что можно построить, или игра автоматически создаёт их после прокачки или расширения территорий. Я же хочу дать выбор игрокам. Будут неизменные основы — первая стена (ограда) и первая башня позади неё. Также в Kingdom две линии обороны — слева и справа. Я планирую сделать так, что самая левая часть карты — ратуша. Если враги доберутся до неё, королевство будет погублено. Далее слева направо будут свободные места для построек. Замыкать их будет граница. А далее Королю потребуется расширение в правую сторону карты.

Нулевой уровень ратуши - костер

Нулевой уровень ратуши - костер

Строители

Здесь пока глобальных идей нет. На данный момент постройки уже не мгновенно создаются, а на каждую задачу назначается свободный от дел строитель и бежит на точку. По прибытию, в зависимости от сложности работы, запускается таймер, который также виден Королю, в отличие от оригинала. Кто шарит за Kingdom, скажет, что у игроков развивается чувство времени и тайм-менеджмент из-за отсутствия показателей времени. Я считаю, что это никуда не денется, добавив возможность видеть время. Далее постройка создаётся. Пока построить можно лишь одну ограду.

Строители пока что даже без наброска. Просто перекрашенные лучники в черный

Строители пока что даже без наброска. Просто перекрашенные лучники в черный

Сопровождение

Это полностью новая фишка. Только в последней части Kingdom есть что-то похожее, но не совсем. Королю бывает опасно ходить за пределами царства одному. Он беззащитен и не может давать отпор врагам. Но есть решение — назначить одного из лучников в сопровождение (пока одного, а может и больше в будущем). Эскорт ходит за Королём и всегда готов защитить корону от кроликов (пока врагов нет).

Идеи на будущее

Самое главное, что я хочу сделать, — это не просто скопировать любимую игру, я ею лишь вдохновляюсь, а сделать уникальный проект. На данный момент у разработчиков Kingdom есть несколько частей и дополнений. Но они все одинаковые. Меняется лишь окружение и добавляются соответствующие элементы. Я не забираю их идею. Ведь если так подумать, то у меня выходит обычный Tower Defender с видом сбоку, как и проект Kingdom, если присмотреться. Пока я буду и дальше создавать основы и скелет игры. Не забывайте, что я — лишь самоучка и только учусь делать игры. В идеях сделать новых поселенцев с уникальными профессиями. Скорее всего, когда я создам рабочую версию игры с минимальными механиками, я её выложу в Яндекс Игры и буду постепенно обновлять и уже доводить до финального замысла.

Буду рад вашей активности, идеям, обсуждениям, критике, просто комментариям. Возможно, буду снимать видео версию этого дневника разработки.

Показать полностью 10
9

Как я начал разработку сюжетного раннера - Космо Капитан

Когда-то давно я прочитал очередную главу по созданию собственной игры в программе Unity, в которой автор книги рассказал, как написать код для простенького 2D раннера про космический кораблик, блуждающий в бескрайней тьме, который только и мог стрелять в метеориты, встречающиеся на пути..

Тогда я совсем не умел писать код. Эта игра и дальнейшее ее развитие - стали моим первым опытом написания собственного кода (о нем позже).

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

Очень старая обложка игры

Очень старая обложка игры

Игру я показал друзьям и благополучно забыл. Пока не познакомился с Яндекс играми. Это не реклама. Я даже не знаю, куда еще можно выкладывать игры в связи с последними ограничениями для российских разработчиков.

Чтобы выложить игру, я решил ее визуально улучшить, добавить сохранения, поднять качество интерфейса. Зайдя в свой старый код спустя год, я ужаснулся его написанием. Пришлось разбираться в каше некачественного кода. После улучшения скриптов, я заметил, как звёзды на фоне игры мылили глаза и я сделал их красивыми через рандомные частицы. Теперь получилось, будто герой взлетает откуда-то. Добавил планету, похожую на землю при старте игры. Но куда герой улетает? Я также решил добавить одну единственную фразу:

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

Возможно, новая будущая обложка игры или просто арт с игрой

Возможно, новая будущая обложка игры или просто арт с игрой

Теперь в игре была и цель и интрига, хоть и без реализации продолжения. А почему бы не продолжить и не добавить пару заданий? Так пошло поехало и вот в игре уже есть полноценный сюжет. Пока только на бумаге, но реализовано уже много: добавлены новые виды врагов и боссы. Теперь это не просто очередной раннер, а это раннер, походу которого нужно проходить сюжет и прокачивать судно героя, чтобы пройти очередной испытание и узнать судьбу Космо Капитана!

Что я добавил и добавлю в игру - узнаете по ходу разработки. Подпишитесь на аккаунт, пожалуйста! Мне нужна ваша поддержка. Буду рад критике, советам и идеям!

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

ВИДЕО:

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

Куда же выложить игру?

- Этот вопрос меня долго волновал. Мобилки недоступны, но оказывается есть другая площадка, которая у нас в России имеет много возможностей и игроков, и это - Яндекс Игры.

В этом году, не смотря на отсутствие времени, я смог лучше понять, как устроен код. С помощью книги, изучил, как работает примитивный искусственный интеллект. Даже не дочитав главу, я начал пробовать и экспериментировать. А чуть раньше прошел видеокурс, как работает Объектно-ориентированное программирование (основа для всех программистов), смог в нём разобраться и даже переписать свои старые скрипты на более улучшенные. Так вот, в совокупности приобретения этих двух навыков, я начал творить новые скрипты, которые вылились в новую игру. Правда, визуально она не особо примечательная - в ней почти нет текстур и моделей, а выполнено всё из простых форм движка. Это, скорее, не игра, а просто портфолио для демонстрации навыков программирования. В будущем можно будет добавить графику, больше уровней и сюжет.

ЧТО ДЕЛАТЬ В ИГРЕ?
В игре есть обучающий механикам уровень и бесконечный уровень, где нужно выживать, убивая патрулирующих роботов, робосферы и турели, из пистолета или при помощи топора, а также искать патроны, аптечки и подзарядку. Да, персонаж - тоже робот и ему нужна энергия для сражения.

КАКИЕ ЕСТЬ МЕХАНИКИ?
Эта часть, скорее, для программистов или для портфолио. Все скрипты и механики сделаны самостоятельно. Импортированы только несколько моделей и аудио файлы.
- ООП. Например, все враги имеют один общий скрипт, в котором хранятся общие для всех врагов переменные и методы - количество жизней, получение урона, движение, поиск игрока итп.
- Примитивный искусственный интеллект. Например, Патрулирующий враг имеют свою логику движения. Он оценивает окружающую обстановку. Он не пойдет в стену, не прыгнет в пропасть, не повернет в тупик, прыгнет на уступ, пойдет задним ходом, если заблудился. И своя логика при обнаружении игрока.
- Игрок. Можно прыгать, бегать, приседать, стрелять из пистолета, использовать зум прицел или крушить всё топором и блокировать удары.
- Враги. Турели, работающие как камеры видеонаблюдения и пулеметы. Есть защищённые медленные и слабые быстрые.Против них лучше не идти напролом. Патрули можно обезоружить, нанеся урон в "пушку" врага, а можно ударить по "ногам" и лишить его движения, или же ударить сразу в голову. Есть еще прыгающая робосфера, которая наносит урон шипами при контакте с игроком. С ней нужно быть быстрым, иначе она сама разгонится до высоких скоростей и врежется в игрока.


Целый месяц я готовил свою игру Plazma Heart к релизу на Яндексе. И игра опубликована! Спасибо всем тестировщикам за помощь.


Теперь мне нужна твоя помощь! Скачивать и регистрироваться не нужно! Просто перейди по ссылке и поиграй в игру! Важно привлечь внимание к релизу, и, надеюсь, ты мне в этом поможешь!

Дополнительно можно оценить игру и написать отзыв, если есть (любой) аккаунт на Яндексе.

Также больше историй разработки новых игр будет на моем аккаунте!

ИГРА: https://yandex.ru/games/app/335508?lang=ru

Куда же выложить игру?
Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества