Hollow Horizon

Hollow Horizon 

A Certain Developer of a Certain Engine 🙃

128subscribers

81posts

goals3
20 of 25 paid subscribers
Такое количество подписчиков позволяет мне регулярно работать и обновлять движок. А также иногда вкладываться в дизайн и удобство движка.
1 of 3

Новый дизайн редактора кода

Я тут немного доработал интерфейс редактора кода, теперь он гораздо приятнее. По сути осталось пару мелких косяков поправить и протестировать и в целом будет готово.
Также появился набросок редактора рецептов. По задумке там можно будет фильтровать все рецепты по типу и названию, а также показывать добавленные/изменённые/удалённые рецепты, а также менять всякие мета-данные, вроде тегов, зеркальных рецептов, бесформенных рецептов и т.п. 
Но этим я буду заниматься уже после релиза, пока это просто инструмент просмотра рецептов вроде JEI :D
Ну а до релиза по сути осталось только доработать плагин, чтобы он правильно обрабатывал лямбда-функции и "асинки", которые работают по тому же принципу. Для тех кто не помнит, или не знает, лямбды, это по сути функции без названия, которые можно использовать в переменных. Рассмотрим такой пример:
У нас есть 3 квеста и несколько неочевидных моментов, так что расскажу про каждый отдельно:
1) Аннотация @Suspendable - означает что лямбда приостанавливаемая (т.е. её как и сам скрипт можно будет приостановить и сохранить при выходе)
2) Выражение `(NPCEntity) -> Unit` по сути описание функции, т.е. она принимает персонажа и возвращает Unit (т.е. ничего)
Эти переменные по сути своей - независимые подпрограммы, управляет которыми в данном случае класс `MyQuestSystem`. Таким образом можно реализовать сложные механики вроде: 'выполнить 3 этих квеста одновременно вне зависимости от порядка' или 'выполнить любые 2 квеста'. И к слову эти функции тоже будут сохраняться, т.е. не получится так, что игрок вышел из игры не завершив все квесты и они сбросились.
На первый взгляд может показаться, что фича довольно сложная, редко используется и лучше было бы отложить её на пару обновлений вперёд, но к сожалению от неё зависят несколько встроенных в движок систем, вроде асинхронных действий, или диалогов (которые по сути как раз и выполняют лямбды в зависимости от выбора в диалоге)
Ну и понятное дело сохранять их тоже задача не из простых, поскольку мало того, что нужно сохранять содержимое функции, так ещё и нужно учитывать то, что лямбды могут быть запущены сразу из нескольких систем одновременно, к тому же они умеют захватывать внешние переменные, за пределами самой лямбды, что заставляет разработчиков таких сложных плагинов, как я, плакать ;)
Ну легендарно, я все больше убеждаюсь что такое масштабное по своим возможностям и проработке - творение не может быть бесплатным 
Ждем чуть подробнее информацию о Suspendable в доках и желаем удачи и терпения к релизу, тащи🔥
Subscription levels4

Передовой Хеллоу-Вордер

$0.71 per month
Приобретя эту подписку Вы сможете получить доступ к большинству постов и некоторым бета-версиям мода. Кроме того, Вам станет доступен канал для подписчиков в Discord, где я часто делюсь своими мыслями и наработками.
+ chat

Продвинутый Скриптописец

$3.6 per month
Эта подписка уже открывает посты дороже, чаще всего это доступ к всяким глобальным обновлениям, объяснениям различных сложных механик и прочих фишек мода, о которых большинству не известно. 
+ chat

Магистр Kotlin

$14.1 per month
Это уже довольно солидная цена для подписки, так что с ней у вас будет больший приоритет на голосованиях и вашим идеям и предложениям будет уделено больше внимания :)
+ chat

Верховный Спонсор

$71 per month
Интересно, зачем нужна эта подписка?
+ chat
Go up