Как стать автором
Обновить
5.26

Godot *

Открытый кроссплатформенный 2D/3D-движок для игр

Сначала показывать
Порог рейтинга
Уровень сложности

Шестидесятилетний заключённый и лабораторная крыса. F# на Godot. Часть 5. Ошибки и исключения

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров905

Мы закончили обсуждать тело функции, и теперь пришло время вывода данных. Простые сценарии мы сразу отбросим, так как по ним уже хорошо прошлись, когда изучали выражения. Мы начнём с косяков выполнения, под которыми я подразумеваю не баги, а непреодолимые препятствия с различной степенью неожиданности. Это может прозвучать странно, так как аварийный выход не подпадает под определения output, codomain и т. д. Я с этим согласен и пересматривать эти термины не собираюсь. Однако меня интересует не только легитимная часть, но и вообще всё, что выходит из функции. Вплоть до того, что в следующих главах я начну включать в это аморфное понятие сайд-эффекты, фоновые процессы и много чего другого.

Я начал с ошибок, потому что Godot эту тему фактически проигнорировал, и вряд ли за ненадобностью, так как несколько раз мне уже было очень больно. У меня всё ещё не дошли руки покопаться в GDScript, так что я понятия не имею, вызван ли этот пробел ограничениями языка или архитектурным решением, но в любом случае нам его надо закрывать.

C# и ФП пропагандируют разные подходы к ошибкам. F#, будучи на перепутье, испытывает влияние обоих. Можно много говорить про плюсы взаимного обогащения культур, но судя по публичным баталиям, это не совсем наш случай. Вместо синтеза я куда чаще наблюдаю эмоциональные взрывы в среде представителей то одного, то другого лагеря. Я не буду ввязываться в эту борьбу (в этот раз) и сосредоточусь на решении более насущной задачи. Мне нужно доработать интероп так, чтобы он соблюдал привычную систему распределения ответственности. Так что сегодня только рутина, без красивых ходов и эффектных бросков.

Читать далее

Новости

Шестидесятилетний заключённый и лабораторная крыса. F# на Godot. Часть 4. Дефолты, option и дженерики

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров1.6K

В прошлых частях мы подключились к Godot, обсудили адаптацию к API и разобрались с устройством тела функции. Дальше в планах было перейти к входным и выходным данным, от них к общей архитектуре и далее снова к особенностям API. Если бы я отстрелялся быстрее, то так бы и было, но я возился слишком долго (об этом чуть ниже), из-за чего до моей телеги успел доползти читатель с типовым набором набивших оскомину вопросов. Допускаю, что я собрал всю коллекцию практикующих читателей, но мне хочется верить, что где-то прячется «молчаливое большинство» с аналогичными проблемами. Поэтому я решил передвинуть некоторые рассуждения из конца цикла в середину.

Это задержит кульминацию, но не критично, так как финальные части цикла я планировал запостить без длительных пауз. Поэтому эта глава пролежит в ожидании до тех пор, пока не будет готов черновик всего цикла. Если этот текст появился на Хабре, то остальные главы уже на подходе.

Читать далее

«Куб → Город: школьный игровой движок и зрячий ИИ-копилот»

Время на прочтение4 мин
Количество просмотров1.3K

Можно ли создать свой движок на Vulkan в 13 лет и обучить ИИ, который сам дорисует сцену по одному кубику?

Спойлер: да. Это история школьного геймдева, которая началась с Blender в 7 лет и выросла в MIA Engine NEO — движок с собственной ECS, Vision-CNN и LLM-копилотом. Никакой Unity, только VkPipelineBarrier и мечта «один куб → целый мир».

Читать далее

An incursion under C#. Протаскиваем F# в Godot. Исправления

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров910

Этой статьёй я хочу внести некоторые правки в алгоритм развёртывания, который я описывал год назад вот здесь. Статья тогда получилась объёмная, и я искал способы её сократить, в результате чего опрометчиво пренебрёг несколькими сценариями, которые пригодились мне в дальнейшей разработке. Они образовали техдолг, который мне необходимо закрыть ввиду грядущего продолжения.

Читать далее

Radius TactiX, тактика на Godot

Время на прочтение19 мин
Количество просмотров2.7K

Прототип походовой радиусной тактики на движке Godot 3x, продвинувшийся от концепта до улучшающейся демоверсии. Передвижение персонажей, как и применение способностей, происходит не по клеткам, а в пределах определённого радиуса. Герои могут менять профессии - на данный момент это Странник, Волшебник, Сказочник или Рыцарь.

Читать далее

Handpaint 3d-модели своими силами

Время на прочтение6 мин
Количество просмотров6.1K

Несколько game-ready low-poly моделей, которые делал вручную с применением разделённой покраски: цвет и монохром отдельно. Используется Blender, без каких-то дополнительных штук.

Читать далее

Инвентарь в Godot

Время на прочтение11 мин
Количество просмотров4.6K

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

Читать далее

Походовая тактика на PC: игра против AI или игровой стол?

Время на прочтение5 мин
Количество просмотров783

Два разных проекта на движке Godot. Первым был Tesserfact — попытка перенести урезанную часть механик из настольно‑ролевой тактической игры в игру компьютерную. Но в процессе, в силу принципиальной невозможности переноса всех аспектов, подумал переориентировать его в игровой стол (Монстробой: Тактика — второй проект), где игрок управляет всем мануально и может «эмулировать» любые, незакодированные, правила. Что из этого лучше — вопрос открытый, как и то, что обязательно ли компьютерные игры должны быть именно играми общераспространённого вида, где весь интерактив целиком автоматизирован.

Читать далее

Outsiders, аркадная космо-rpg на Godot 4

Время на прочтение3 мин
Количество просмотров2.6K

Прототип adventure-rpg в мире маленьких планет, где игрок управляет разумным звездолётиком, который посещает различные планетки.

Читать далее

da~Mage, демо arpg на Godot

Время на прочтение6 мин
Количество просмотров1.5K

Однажды было настроение собрать проект с управлением в стиле WoW, геймплеем куда-то в направлении Skyforge, экспериментальными игромеханиками и игрой за чистых magic user'ов - получился экшен-рогалик с заклинаниями от комбинаций. Также в этом деле оказалась замешана настольно-ролевая система "Неоновый миф" и её необычные герои.

Читать далее

Униванг 3/9, демо vangers-like игры на Godot

Время на прочтение3 мин
Количество просмотров2.2K

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

Читать далее

Все Невангеры

Время на прочтение8 мин
Количество просмотров5.2K

О том как серия игровых прототипов по мотивам (и не по мотивам) небезызвестных сюрреалистических "гоночек" из 98-го пробовала различные концепции, механики и игровые движки.

Читать далее

Pandelirium, диаблоид на Godot

Время на прочтение7 мин
Количество просмотров6.7K

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

Читать далее

Ближайшие события

Алгоритм генерации волн врагов в рогалике

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.6K

Привет! Недавно в ранний доступ в Steam вышла наша игра Clayers: Prologue. Это рогалик в глиняном стиле, где нужно подбирать и смешивать цвета, чтобы убивать врагов. В этой статье разберём наш подход к генерации волн с учётом сложности противников.

Читать далее

Сделать 10 игр на Godot. От Pong до Portal. И вот итог

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров18K

Кратко расскажу о себе: имею около 10 лет опыта с GameMaker, выпустил пару игр в Steam. Делал пару-тройку конкурсных игр на Unity, один раз на Unreal Engine 4 (об этом детально рассказывал в статье на другом сайте). У меня нет цели попробовать абсолютно все движки, однако, взглянуть на те, что оказались на слуху — почему бы и нет? Таким движком оказался Godot. Много о нём слышал, решил попробовать в деле.

Имеется 20 games challenge, в названии которого указано 20 игр, но на деле челлендж на создание 10 игр с нарастающей сложностью. Никаких временных рамок в не было, поэтому я решил установить свой дедлайн: до конца 2024 года сделать все 10 игр, по одной игре в месяц.

Смог ли я справиться с этим? Каким образом?

Узнать что вышло и сколько игр сделал!

Звездолёты и Драконы

Время на прочтение18 мин
Количество просмотров3.4K

В свете некоторого разбора Olden Era, подумал над концептом игры в похожем жанре - с геймплеем примерно в стиле симбиоза-микса Heroes 3 c Disciples 2, но что-то такое, более простое в разработке. И тут можно было бы уйти в некий фэнтэзийный "космос", где вместо героев у нас были бы звездолёты, а вместо замков - планеты.

Читать далее

Godot game engine | Введение в оптимизацию

Время на прочтение17 мин
Количество просмотров5.3K

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

Читать далее

LibGodot позволит встраивать Godot в другие приложения, например, в Blender

Время на прочтение3 мин
Количество просмотров1.5K

..или Blender в Godot 🤔 в общем не суть)

История от Miguel de Icaza про встраиваемый игровой движок.

Много лет назад, работая в Xamarin, где мы создавали кроссплатформенные библиотеки для мобильных разработчиков, мы хотели предложить нашим пользователям возможности 2D и 3D игр в виде добавления 2D или 3D контента в их мобильные приложения.

Для 2D мы создали и разработали множество библиотек, вдохновленных Cocos2D.

С 3D ситуация была сложнее. Мы финансировали несколько библиотек в течение нескольких лет, вносили свой вклад в другие, но ничего не вышло (история этого заслуживает отдельного поста).

Примерно в 2013 году мы огляделись вокруг, и на тот момент у нас было два претендента: один — встраиваемый движок с множеством симпатичных функций, но не очень хорошей поддержкой пользовательского интерфейса под названием Urho, а второй — Godot, который имел отличную IDE, но не поддерживал встраивание.

В то время я связался с Juan, чтобы обсудить, можно ли превратить Godot в такой движок. Хотя я обычно веду подробные записи всех своих встреч, эти записи, к сожалению, пропали в результате приобретения Microsoft, но из того, что я помню, Juan сказал мне: «Godot — это не то, что вы ищете» в двух измерениях, не было никаких ближайших планов по превращению его во встраиваемую библиотеку, и он не был таким продвинутым, как Urho, поэтому он рекомендовал мне выбрать Urho.

Подробности

Курсы по Godot Engine: обучение детей разработке

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.6K

Курсы по Godot Engine – отличная возможность приблизить ребенка к разработке игр. Что это за платформа, почему ей полезно обучаться с ранних лет и где это можно сделать – рассказываем в материале публикации.

Посмотреть рейтинг

Godot 3.6 с поддержкой python

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров6.5K

Для особо извращённых, кому не нравится gdscript, но нравится python, кратко хотелось бы рассказать, как делать в Godot всякое при помощи своего любимого языка.

Окружение: win, сборка игры под платформу: win. Предполагается что python (>= 3.7) и pip уже установлены.

Поехали!