Вот уже больше двух лет мы делаем игропроект, нацеленный на воссоздание известных локаций школы Хогвартс из компьютерной версии игры "Гарри Поттер и Тайная комната" (2002). Наша цель - показать окружение игры при помощи новых инструментов, дать возможность окунуться в магический мир, обновлённый, изменённый, атмосферный.
ВНИМАНИЕ: геймплей отсутствует. Проект создан в созерцательных целях.
Кабинет зельеварения
Модели и многие текстуры созданы авторами игропроекта;
Всё, что раньше было 2D, теперь стало 3D;
Возможности Unreal Engine;
Бережное отношение к деталям;
От фанатов для фанатов с любовью.
Некоторые текстуры стен и полов были использованы из оригинальной игры с ИИ-улучшением. В частях локаций звучит музыка Джереми Соула.
Коридор третьего этажа
Вы можете побывать в Большом зале, декорированном для празднеств, в зале для церемоний, где награждают факультет, набравший больше всех очков; можете оказаться в гостиной факультета Гриффиндор, где разложены книги в ожидании учеников и потрескивает камин. Вы можете заглянуть в кабинеты зельеварения, трансфигурации, заклинаний и защиты от тёмных искусств.
Кабинет трансфигурации
На карте разбросаны 13 секретов, за открытие которых Вы получите доступ к кабинету профессора Дамблдора. По ходу осмотра окружения можно подбирать бобы Берти Боттс, коих в общей сложности более 140 штук; за то, что Вы собрали все бобы на карте, полагается небольшой подарок.
Вот пришло время второй публикации дневников разработчика Шепот огня (Whisper of fire). Стадия блокаута почти закончена, и мы приступили шаг за шагом к наполнению уровня. Работы интересной у нас впереди много, и она очень кропотливая. Надеюсь, вам всем будет интересно. А мы с большим удовольствием в очередной раз поделимся стадией нашей разработки и покажем немного начальной работы по наполнению уровня. Присоединяйтесь к нам в ВК https://vk.com/public221944693
В то время люди рабочих специальностей таких, как: кожевники, лесорубы, скотоводы и другие селились за пределами городских стен. Сейчас вы можете наблюдать дом лесоруба и его рабочее место.
Работа лесоруба в средневековье была очень важной. Огромное количество древесины потребляли городские ремесла. Из дерева строили дома, плотины, каркасные элементы и многое другое. Причем все это регулярно приходилось обновлять. Лесоруб это была тяжелая, но престижная и выгодная профессия, и даже с некоторыми нотками мистики, поскольку лес в средние века считался прибежищем ведьм, воров и отшельников и разбойников.
VORAX — это игра в жанре ужасов на выживание в открытом мире, действие которой происходит на средиземноморском острове, где загадочный патоген заразил местное население.
Армейский батальон отправляется изолировать население, но через 48 часов вся связь с батальоном теряется.
Вы наемник, посланный для расследования. То, что должно было быть простой миссией, быстро превращается в борьбу за выживание, когда ваш вертолет терпит крушение, оставляя вас на острове в одиночестве.
У вас мало еды и имеется лишь небольшой набор для выживания. Вам нужно будет создавать инструменты, строить баррикады, заборы и ловушки, а также находить, улучшать и поддерживать свое убежище, чтобы выжить, раскрывая темное происхождение вируса. , и ужасные мутирующие эффекты, которые он оказывает на своих хозяев.
Сможете ли вы выжить среди прожорливых существ, которые охотятся на вас?
Великий момент, которого вы все ждали, настал! Всего через несколько дней мы будем присутствовать на Gamescom 2023 в Германии. Вы сможете найти нас в зале 10.1, стенд B-093 и в зале 02.1, стенд A-0007. Но для тех, кто дома, и кто не может прийти, у нас есть для вас кое-что ОГРОМНОЕ. Получите доступ к карте, увеличенной в 10 раз (10 квадратных километров), транспортным средствам, новому оружию и зонам. Узнать больше.
Обновленная демо-версия Steam и обновленная полная сборка. Также эксклюзивная возможность открытой альфа-версии для самых преданных фанатов. Речь идет о новом оружии, расширенной карте, новых врагах и многом другом.
Обновленная демо-версия Steam и открытая альфа-версия
Если у вас еще нет этой игры в Steam, ничего страшного. Вы можете поиграть в обновленную демо-версию в Steam прямо сейчас. Это бесплатно, в него добавлено большинство новых элементов, вы можете почувствовать, что будет дальше на Gamescom. Даже если на карте меньшего размера (всего 1км2), ужас и выживаемость будут те же, только в меньшей дозе
Если вы хотите получить больше удовольствия от игры, вы можете попробовать Open Alpha на нашем сайте. Что включает в себя все вышеперечисленное, а также два эксклюзивных оружия: САП-6 и АК-47. С этими плохими парнями на вашей стороне ваши шансы на выживание возрастут в геометрической прогрессии... если вы найдете для них боеприпасы. Найдите их в хорошо спрятанном месте на карте.
Что-то ОГРОМНОЕ для тех, кто получил полную версию игры раньше.
Вы не только получите доступ ко всему, упомянутому ранее, но и возможность изучить всю карту. Почти в 10 раз больше (10 квадратных километров), с транспортными средствами, новым оружием, новыми врагами и многим другим. Ваш опыт будет очень похож на опыт Gamescom.
Если вы еще не купили его, вы можете получить его напрямую, раньше и дешевле с нашего веб-сайта и поддержать наш прогресс в разработке. Если да, то вы уже можете зайти в библиотеку своего профиля и загрузить новую обновленную сборку прямо сейчас. Имейте в виду, что он регулярно обновляется, поэтому вы можете зайти позже, чтобы узнать что-то новое.
И да, конечно, вы также получите ключ Steam, как только он выйдет в Steam, вас не забудут. А пока обязательно добавьте его в список желаний, если вы еще этого не сделали. И если ты будешь в Кёльне на следующей неделе, увидимся там, встретимся.
Текущая версия — 0.5.424. Подробнее о нашем прогрессе читайте в наших объявлениях об обновлениях от разработчиков.
Мы рады сообщить, что наша игра вышла из раннего доступа. Она полностью бесплатна и не содержит никакой рекламы. Данная игра это аренный шутер по типу Quake с возмодностью разрушать уровни. Особую благодарность я хочу выразить рок группе Arida Vortex за предоставление своей музыки.
Мы будем очень рады, если Вы поделитесь своим мнением о игре.
Скачать и попробовать игру можно по ссылке на itch.io:
Для тех кто первый раз читает мой гоблинский блог - расскажу кратко что тут происходит. Я сам являюсь зеленым новичком в разработке игр и в своем блоге описываю этапы изучения столь сложного дела. На данный момент - это работа с движком Godot 4.
Чтобы не мучать вас длинными статьями, я разбиваю этот путь на кучу мелких блоков. Один пост - одна механика движка. Все гоблинские заумные слова расшифровываются на человеческий, так что даже пациент из Кащенко поймет о чем речь. Погнали!
● Создание сцены с персонажем:
В прошлой статье мы создали редактор карт с автоматическим заполнением, кто не читал - почитайте, будет полезно. Теперь нам нужно сделать персонажа, которым мы будем бегать по данной карте. Для этого нам нужен узел типа "CharacterBody2D", на основе которого мы и создаем новую сцену. Сделать это можно выбрав вкладку "Другой узел".
Как выглядит узел "CharacterBody2D"
● Визуальное изображение персонажа:
Узел это конечно хорошо, но мы пока ни черта не видим - нам нужен визуальный образ. Добавляем дочерний узел "Sprite2D". В его настройках находим вкладку текстуры и добавляем иконку Godot. В будущем мы заменим спрайт на анимацию, но пока нам хватит такой затычки.
Узел "Sprite" -> Texture -> Быстро загрузить
● Настройка зоны столкновения:
Чтобы наш персонаж не проваливался в текстуры и реагировал на поверхности мы должны настроить зоны столкновения. В прошлом уроке мы работали со слоем Collision в нашем TileMap. Тут же мы добавляем узел "CollisionShape2D", который представляет из себя выделение зоны столкновения в виде простой геометрической фигуры. Вид этой фигуры мы выбираем во вкладке "Shape".
Узел "CollisionShape2D" -> Shape -> Новый RectangleShape2D
● Начальные данные для физики и управления:
Создаем скрипт для нашей сцены и первым делом зададим константы. Константа - это постоянное значение, которое не будет меняться в ходе работы программы.
Чтобы создать константу мы пишем: const название_константы = значение
Переменные же создаются по другому: var название_переменной = значение
Давайте разберемся за что отвечают указанные нами значения:
speed и acceleration - от этих значений будет зависеть скорость передвижения по оси X (влево-вправо)
jump_velocity - это значение влияющее на высоту прыжка. Ось Y в Godot перевернута с ног на голову и отрицательное значение означает вверх.
friction - значение влияющее на скорость остановки при прекращении передвижения.
Так выглядят наши константы в коде
Так же мы добавляем значение гравитации, однако оно выставляется из внутренних настроек проекта.
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
● Общая функция для управления персонажем:
Задав исходные данные мы можем приступать к настройкам функций нашего персонажа. Для этого мы пишем стандартную функцию Godot:
func _physics_process(delta):
Для тех кто не знает - эта функция вызывается перед каждым физическим кадром, который привязан к физическому fps, он по умолчанию равен 60 раз в секунду.
var input_axis = Input.get_axis("ui_left","ui_right")
Get_axis - это функция которая присваивает переменной одно из двух значений при нажатии одной из двух кнопок. Первое значение равно -1 и задается при нажатии клавиши "влево". Второе же равно 1 и задается при нажатии клавиши "вправо". Если на момент кадра не нажата ни одна из этих кнопок, значение равно 0. Это позволяет нам определить нужное направление для изменения координат персонажа.
Влево = -1 | Вправо = 1 | Стоим на месте = 0
● Движение по оси X (влево-вправо), создаем новую функцию:
handle_acceleration (input_axis, delta)
В нее мы добавляем условие, что должна быть нажата одна из клавиш - влево или вправо.
if input_axis !=0:
Если данное условие выполнено, то мы совершаем перемещение в заданном направлении. Для этого используется функция move_toward.
velocity.x - это переменная отвечающая за перемещение по оси X.
В move_toward мы задаем три параметра через запятую. Изначальная точка, точка в которую мы должны прийти, шаг в сторону нужной точки за один кадр.
Каждый кадр мы двигаемся в выбранную сторону, начальная точка меняется и это создает замкнутый круг движения. А чтобы его запустить, мы добавляем нашу функцию под physics_process и в конце пишем move_and_slide().
move_toward ( начальная точка, точка прибытия, расстояние шага за один кадр )
▸ А где тормоза то !?
● Как сделать остановку?
Мы начали двигаться и если не нажмем кнопку в противоположную сторону - улетим за край карты. Чтобы разорвать наш круг постоянного движения мы должны сделать функцию тормоза.
Копируем нашу прошлую функцию и переименовываем ее:
handle_friction (input_axis, delta):
Так же меняем заданное условие, input_axis должен быть равен нулю. Главное помнить, что знак равенства при сравнении выглядит вот так "==".
if input_axis == 0:
В функции move_toward заменяем значения. Первое остается прежним, на втором ставим ноль, а на третьем стираем acceleration и пишем friction. Все это в сумме обеспечит нам быструю остановку.
Функции обратные друг другу
● Движение по оси Y (прыжок, гравитация), создаем новую функцию:
aplay_gravity(delta):
Если мы не на земле, то бишь в воздухе - нас должно тянуть вниз.
if not is_on_floor():
velocity.y += gravity * delta
Ставим именно "+=", так как это сделает плавное падение с нарастающим ускорением. Не забудьте умножить на delta, иначе все произойдет за долю секонды.
● Следующая функция для прыжка:
handle_jump(delta):
Для нас важны два условия - нахождение на земле в момент прыжка и нажатие нужной клавиши.
if is_on_floor() and Input.is_action_just_pressed("ui_accept"):
Если данное условие соблюдено мы приравниваем параметр оси Y к значению высоты прыжка.
velocity.y = jump_velocity
Добавляем эти функции под physics_process, а после переходим на сцену "world". Туда из общего списка ресурсов перетаскиваем сцену "player".
.tscn - это формат сцены в Godot
Как выглядит наш блок с функциями
● Что у нас получилось в итоге?
✓ Если вы нажимаем клавишу влево или вправо - персонаж двигается в выбранном направлении.
✓ Если ни одна из клавиш направления не нажата - мы останавливаемся.
✓ Если мы находимся в воздухе - нас тянет вниз с каждой секундой все сильнее.
✓ Если находясь на земле, мы жмем прыжок - нас подкинет вверх.
▸ Оно живое!
Вот так при помощи четырех простых функций мы создали основу физики и управление персонажем. Надеюсь разобрал каждый шаг максимально подробно и понятно.
✓ Зеленые новички - крепитесь и подписывайтесь, скоро новая статья. На очереди две темы - "анимация персонажа" или "двойные прыжки и прыжки от стены".
✓ Опытные шаманы - запасайтесь успокоительным, ибо дальше будет еще куча попыток освоить gamedev.
✓ Ну и все кто имеет свое мнение, поддержку или усмешку - пишите комменты!
Решил поделиться процессом разработки артов для игры, которую сейчас делаем. Карточная стратегия в космическом сеттинге.
Изначально весь арт был сгенерирован при помощи нейросетей. Сейчас идёт этап адаптации изображений под выбранный стиль.
В этой серии постов планирую освещать этапы работы над персонажами и интерфейсом игры. Расскажу про нюансы работы с вектором и наглядно покажу - почему профессия дизайнера в игровой индустрии всё ещё актуальна.