Зомби готовы!
А так же модель шотгана. Показан вариант обычного и альтернативного огня.
А так же модель шотгана. Показан вариант обычного и альтернативного огня.
Это первая встреча человека и нашей игры. В наше время минимализм всё больше и больше завоевывает свое место в компаниях, мы все помним как раньше выглядели логотипы известных компаний, а сейчас смеемся, что по ним прокатился каток. Всё это сделано с очень простой и очень хитрой целью. В наше время краски везде, наше внимание привлечь хотят каждый предприниматель. Куда не глянь везде реклама и вопрос «Как привлечь людей?» Мы избалованы рекламой, избалованы громкими слоганами и цветами. А с этим и второй нюанс, мы насмотрены. Мы также много видели интерфейсов, уже много во что успели поиграть. Давайте сочетать стиль и опыт?
Минимализм нужен для простоты восприятия, для запоминания. Мне легче запомнить белое яблоко, чем картину с деревом и надписями. А вот интерфейс, я как-то работал над интерфейсом для одной игры. Мне не понравилась кнопка «выход» Она была в правом нижнем углу, в то время как я искал ее слева. Проблема в том, что я играл в кучу игр и теперь я точно знаю что кнопка выход обычно слева снизу. А где кнопка выключения windows? Из-за того что я потерялся, почувствовал себя глупым. Я получил впечатление, впечатление об неудобном интерфейсе в сложной игре, которую мне было тяжело понять. Когда я разговаривал с разработчиками, они мне ответили на вопрос «зачем вы сделали именно такую кнопку?» Кнопка былая спрятана для того, чтобы игроки не выходили из игры, а оставались играть дальше. Верность данного умозаключения я оставляю на разбирательство вам. Я же думаю это не верная стратегия.
Стиль для своего интерфейса я выбрал минималистичный. Думаю, минималистичный интерфейс будет идеально вписываться для большого возрастного контингента и понятен большинству. Расположение кнопок буду делать интуитивными другим интерфейсам. Возможно вы скажите что это не оригинально, а зачем мне изобретать велосипед заново? Люди привыкли что настройки находятся слева сверху, пусть там и будут.
Как известно, самое первое, что нужно сделать, когда пишешь код, — это продумать архитектуру программы, соблюдая все правила и рекомендации. Я поступил именно так, когда стал работать над игрой.
У меня опыта не много, поэтому я знал, что точно где-то совершу ошибку или изобрету велосипед. Но, как говорится, попытка не пытка. Я придумал, как реализовать карту в игре, все было отлично, все нормально писалось и работало.
И вот осталось совсем ничего: добавить финальные штрихи и довести до ума. Один из этих «штрихов» был забор. Он, как известно, состоит из колышка и стенки в направлении к другому забору. Звучит просто, но если перевести на язык кода, это означало, что состояние объекта зависит от объектов вокруг него. А с этим была проблема: придуманная архитектура не позволяла это сделать.
«Ну» — думаю я, — «Сейчас немного ее подкорректируем и готово». Но как бы не так. Оказалось, что проблема не просто в архитектуре, проблема в той парадигме, которую я использовал для написания кода. Пришлось не просто все переписывать, пришлось менять весь подход и думать другими категориями и объекта. Вот такой забор.
Программист в моей команде - Андрей Лукьянов
Автор: Павел Лаптев
Начинаю свой блог «Дневник разработчика" как и обещал у себя в истории в instagram и можете подписаться на меня, так как все свои "анонсы» я буду первым делом публиковать там
И начну я свой блог с геймплейного тизер-трейлера
Конечно же это только прототип. Вся рисовка и логика стрельбы будет меняться в будущем!
Пару слов о задумке вида камеры и рисовании спрайтов:
Так как я работаю в движке Game Maker Studio 2, который в принципе не предназначен для 3D проектов, но и моя игра не совсем 3D. Я скорее назвал бы это лишь фейковым эффектом объемности. В основу этого метода вида камеры входит массив, который перебирает все мои слои спрайтов и накладывает друг на друга. И поэтому рисовать это довольно трудно😥 И поэтому я использую сторонние программы, такие как SpritePile. Этот софт позволяет рисовать спрайты и в это же время наблюдать за результатом вашей работы что очень удобно. Ссылку на программу оставлю в конце поста.
SpritePile
Мои референсы и туториалы на эту тему:
Где-то 1 - 1.5 года назад я увидел геймплейный трейлер к игре под названием NIUM. Постапокалиптическая экшн-игра, в которой игроки будут ползать по разрушенной, заброшенной зоне отчуждения в стиле STALKER. Мне очень понравился вид камеры. Сама по себе игра вышла еще в 2016 году на itch.io. Вот ссылка на видео YouTube👇
Ссылка на игру под постом
Оказалось, что автор этого проекта Moppin, который разработал Downwell.
Это любопытная игра, в которой отважный молодой человек спускается в колодец в поисках неслыханных сокровищ. Для собственной защиты у него есть только чудесные "пулеметные бутсы". Его задача спуститься как можно глубже во тьму, кишащую недружелюбными созданиями и полную мистических тайн, чтобы собрать как можно больше восхитительных красных кристаллов, которыми усыпаны стены колодца. Ни один его спуск не будет похож на предыдущий!
Учебники и образовательные видео:
И после этого я начал шерстить весь YouTube и сайты с вопросами для разработчиков. И в итоге я наткнулся на парня в YouTube, который работал над логикой SpriteStacking 3D. На YouTube он подписан как Gizmo199, ссылку на его канал я оставлю под постом. И он тоже как и я участвует в Game Jam, поэтому можете сыграть в его игру в браузере OperaGX и оставить оценку. Думаю ему будет приятно😊
Его трейлер к игре ☝
Сюжет:
По поводу сюжета и названия моего проекта пока ничего внятного сказать не могу. Сначала была задумка сделать SurvivalRPG с открытым миром, но потом пришла в голову другая идея...
Просто я начал именно с механики и немного добавил "красивых" спрайтов и атмосферных звуков в прототип для ясности. О чем же будет эта игра?
Пока точно не знаю😂
На этом я думаю закончить свой первый блог. Начало положено так сказать, а дальше уже следите и подписывайтесь на меня, чтобы быть в курсе моих следующих DeVlogах 😉☝
Ссылки на авторов и программы:
Автор: Андрей Торчинский
Несмотря на не самое удачное начало года, работа над проектом продолжается. Пришло время поделиться тем, что было сделано за прошедшие 3 месяца.
Небольшое резюме по поводу того, что за игру делаю:
King, Witch and Dragon - это 2.5D метроидвания наоборот или "Антивания".
По ходу игры главный герой постепенно теряет способности, а чтобы продвигаться вперёд, игрок должен приспосабливаться к новым ограничениям и искать альтернативные пути.
Сейчас готовы основные игровые механики и в процессе блокинг и обкатка уровней "на кубиках".
Новые механики и новые испытания
Со времени предыдущего девлога в песочницу добавилось 5 новых зон, в каждой из которых 15 испытаний для определённой способности персонажа.
Итак, по порядку...
Опасный спуск
В этой зоне игроку потребуется способность Крылья летучей мыши, которая позволяет совершать двойной прыжок и плавно парить в воздухе.
Придётся спускаться в колодцы полные как статичных, так и подвижных шипов.
Липкие стены
Для этих испытаний игроку потребуется Щупальце, которое работает как крюк-кошка.
Обычно, игрок цепляется щупальцем за специальные крюки, но в этой зоне также он может цепляться к специальным липким стенам и держаться на них даже вверх ногами (не имея при этом паучьих лап).
Пробиваемые стены
Это ещё один особый вид стен, которые можно разрушить только с помощью Змеиного рывка.
Также в этой зоне активно используются специальные подвижные блоки, которые можно толкать и на которых можно "сёрфить", чтобы добраться до прижимной панели, по пути расчищая путь с помощью змеиных рывков.
Появляющиеся стены
И ещё один вид необычных стен, которые появляются только если к ним приблизиться и попытаться проползти по ним с помощью Паучьих лап.
Такие материализующиеся стены можно использовать для защиты от прожектайлов или для создания мостов для подвижных блоков.
Ветер
Ещё одна механика для способности Крылья летучей мыши.
Попутный ветер помогает преодолевать более длинные дистанции при парении на крыльях. Без крыльев такие дистанции покрыть не получится. Но иногда он может быть и препятствием, когда приходится лететь против ветра.
Продолжаем развивать Discord сервер
Я продолжаю регулярно выкладывать новые билды с новыми испытаниями на нашем Discord сервере, а самые активные участники пытаются их пройти не так, как я это задумал. И у некоторых из них это отлично получается, за что я бесконечно благодарен.
Некоторые испытания я уже "чинил" по несколько раз, но пытливый ум пока что побеждает.
Переиграл и уничтожил.
Но нужен свежий взгляд и больше разнообразных мнений и фидбэка. Так что, если вам интересен проект и хочется повлиять на ход разработки - заходите на наш Discord-сервер. Любые комментарии приветствуются. Ни одно сообщение не останется непрочитанным, ни одно мнение не останется неучтённым.
Помогите сделать проект лучше!
Что дальше?
Впереди ещё 1 апдейт с тремя зонами с испытаниями, связанными с окружением, после чего я планирую переключиться на испытания с врагами и прожектайлами. Сначала будет фаза скетчей и концептов, а затем блокинг по тому же приципу, что и сейчас. Более подробно расскажу об этом ближе к делу.
Спасибо за внимание!
В это обновлении:
+Переработал графический интерфейс.
+Оптимизировал отрисовку астероидов.
+Добавил "генератор галактики".
+Множество мелких улучшений.
Схема "галактики"
Вы начинаете игру в самой левой системе, ваша цель - успеть собрать все ресурсы из системы пока "зона смерти" (Death zone), не поглотила вас и переместиться в другую систему используя ресурсы которые вы добыли.
На данный момент "зона смерти" еще не реализована, но скоро появится вместе с метками систем и обработанных астероидов.
Скачать и помочь проекту можно на Itch.io.
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.
Автор: Nil Efremenkov
В этом девлоге расскажу про то как я делал ИИ, какой он был раньше и как работает теперь. Давайте сразу с демонстрации:
Геймплей с новыми роботами
Legacy
Изначально я делал логику исходя из типичных представлений как должен вести себя ИИ. То есть вот робот, он обнаруживает игрока, начинает за ним следовать, если игрок в пределах дистанции для атаки, то начинает атаковать. Если игрок долгое время на глаза не попадается, значит идёт патрулировать. Вот реализовав это, стал понимать что как то это не клеится в концепцию динамического шутера. Быстрое передвижение юнитов не означает что шутер будет динамичным.
Долго время в игре было всего 4 робота. Подрывник, дрон, турель, и робот с пулемётами. Получились у меня они максимально коряво. Спавн новых и уничтожение старых заметно фризил игру несмотря на использование пула. Анимации были без использования костей. Коллизия слишком детальная, чего как бы не нужно. Плюс архитектура кода самих ботов оставляла желать лучшего. В общем, выглядело это как сборная солянка костылей. Стало понятно что переделка не обходима, если я хочу вообще зарелизиться. 4 робота на всю игру это совсем ни о чём, а добавлять новые по старой схеме просто смысла нет и занимает много времени.
Переделка
Новый ИИ ставил следующие задачи: весело, быстро, новых роботов можно добавлять без болезненно. В игре ИИ разделён на часть которая отвечает за базовый функционал роботов(куда стрелять, как стрелять, куда идти как идти) и часть отвечающая за принятия решений. Переделки коснулось всё, кроме системы которая отвечает за принятие решений. Она была лишь изменена под новые компоненты, но со своей работой справлялась хорошо.
Робот ремонтник
Редизайн
Итак начал я с редизайна уже имеющихся роботов. Самые несущественные изменения получил подрывник, его дизайн мне нравился и старый. Все же остальные отправились в топку.
Добавил и не мало новых роботов. Некоторые из них:
Давно хотел добавить такого робота который будет притягивать к себе игрока и дробить его пока он не выстрелит в слабую точку. Хотя изначально планировалось что эта точка будет более мелкой и вращаться, но от идея пришлось отказаться. Выстрел в центр отпускает игрока.
Летающая мина. Атакует только когда игрок находится рядом. Летит на него и рядом взрывается.
Код
Что касается логики, то я максимально разделил её на компоненты для пере использования. Например: компонент который отвечает за повороты, передвижение, полёт, взрыв, стрельбу, получение урона, и дополнительную индикацию на экране. как дополнительный индикатор у подрывника.
Индикаторы подрывников.
Имитация деятельности
Ещё когда были старые роботы, пришлось лепить систему которая их куда ни будь отправляла, и решала когда и кто атакует. В этой системе есть параметр который отвечает за количество атакующих. Для разных сложностей разное количество, для normal’а = 4. В тот момент, когда 4 робота из всей толпы атакует игрока, остальные делают вид бурной деятельности :) Они просто перемещаются от точки к точке, которые раскиданы по арене. Те кто не атакует выбирает точки для маршрута которые находятся максимально далеко от игрока. Точки которые ближе всего к игроку используют роботы которые атакуют СЕЙЧАС. Пересчёт дистанции и выборка атакующих роботов производится раз в секунду.
Способ выборки атакующих
Для выборки я использовал концепцию Utility AI. Суть её заключается в том что каждое действие которое имеет в себе Агент ИИ, набирает очки, в зависимости от обстоятельств. Действие которые набрало больше всего очков - выполняется. По такому принципу рассчитываются атакующие роботы. Каждый параметр: расстояние до игрока, видит ли игрок робота, целится ли он в него, наносит ли он ему урон - конвертируются в очки. Такую систему очень удобно балансировать с помощью кривых. Коэффициенты очков можно настраивать отдельно для каждого типа, исходя из его особенностей. Например для роботов которые взрываются, коэффициенты чуть ниже остальных, потому что атака у них не прямая как у стреляющих. Подрывник может пробегать мимо игрока просто к точке по маршруту, и при этом взорваться ему никто не помещает, несмотря на то что его нет в списке атакующих в этот момент. А для робота с дробовиком и щитом самый высокий коэффициент на параметр дистанции, потому что смысл от дробовика будет только если игрок находится близко.
Неочевидная проблема
Все локации которые я уже сделал, хоть их и не много готовых, отправились в топку. Причина этому что старый дизайн сковывает движения ИИ и игрока. Сейчас локации кажутся очень тесными. Пространство нужно увеличивать как минимум раза в два. Поэтому приходится сейчас делать перепланировку того что уже есть, а при создании будущих локациях, уже буду учитывать это. Радует хотя бы то что ассеты локаций мне переделывать не придётся :)
P.S Скоро наконец будет страница в steam
Следить за игрой можно в группе вконтакте