Undertale: New Hope – devlog of September 2025
A new frame has appeared in the game - EVERYWHERE. Have you lost your way and ended up in an unknown location that isn't marked on the Underground map? This frame will let you know that you've clearly taken a wrong turn. Should you continue on your way or turn back before it's too late? It's up to you! And, as is tradition, along with the frame, we are introducing two new characters: the Gloomy and mysterious RiverMan and the cheerful old man, Grandpa Sammy.

The mod integrated a shader based on the xBRZ de-pixelization algorithm developed by Zenju, which replaced HQ4X. Today, it is the most advanced algorithm in its class. However, its direct use was impossible due to the peculiarities of Undertale's graphics—in the world, the game uses a camera with a resolution of 320 by 240, and in battles—640 by 480. At first, this prevented us from fully integrating such shaders into the game, and subpixel rendering created additional difficulties. Because of this, some of the "ladders" were either not completely smoothed out or caused graphical artifacts. However, we are now proud to announce that all problems have been solved by integrating an additional image analysis algorithm and integrating an additional functional component into the main algorithm. It works this way:
1. The image is divided into 2x2 texel blocks, thereby reducing the resolution from 640 by 480 to 320 by 240;
2. Each block is analyzed for similarity. If all 4 pixels in it are the same color, the block is marked as similar. Otherwise, it is marked as dissimilar.
3. To avoid graphic artifacts, blocks adjacent to non-similar blocks are also marked as non-similat.
4. The shader is applied to similar blocks with a scaling factor increased by a factor of 2, and to non-similar blocks with the original scaling factor.

This allows for the correct smoothing of both mixed pixel graphics and subpixels.

Another important innovation was the addition of a reverse bilinear texture filtering algorithm, which is also implemented through the shader. This innovation is necessary for non-integer scaling of images on monitors with aspect ratios other than 4:3 or 16:9, so that they are not distorted. The principle goes like that: bilinear filtering is applied to the image, it is rendered, and then inverse mathematical functions are used to restore it. Of course, it won't work, but it is possible to preserve up to 90% of its sharpness, while completely removing pixels that have been distorted in the process of non-integer scaling.

The battle interface has undergone significant changes. It now displays complete information about both Frisk and his partners, and an energy accumulation system has been added, which will be used to power the partners' magic.

All of Frisk's combat partners (as well as Frisk himself..?) have been given their own dialogue sprites, which will be displayed both during battles and in the world.

At the same time, work was carried out on PostWing's animations in the game, and all of PostWing's sprites were drawn.

We also rewrote the old code for integrating the mod from Discord and refined it for better visual quality of the system. Now, during gameplay, Discord will show not only what you are playing, but also your game name, location (both the name itself and the name under the location), a picture of the location, and the duration of your stay in the game.

Undertale: New Hope – девлог от сентября 2025
В моде появилась новая рамка - EVERYWERE. Заблудились и попали в неизвестную локацию, не нанесенную на карту Подземелья? Эта рамка даст Вам понять, что Вы явно свернули куда-то не туда. Стоит ли продолжить путь или повернуть обратно, пока не поздно? Решать вам! Ну и по традиции вместе с рамкой показываем двух новых персонажей - угрюмого и таинственного Лодочника и старичка-весельчка деда Сэми.

В мод был интегрирован шейдер, основанный на алгоритме депикселизации xBRZ разработанном Zenju, пришедший на замену HQ4X. На сегодняшний день он является самым передовым алгоритмом в своем классе. Однако его непосредственное использование было невозможным из-за особенностей графики Undertale - в мире игра использует камеру с разрешением 320 на 240, а в битвах - 640 на 480. Это поначалу, не давало нам возможности полноценно интегрировать подобные шейдеры в игру, а дополнительные сложности нам создавала субпиксельная отрисовка. Из-за этого часть «лесенок» либо не сглаживалась до конца, либо вызывала графические артефакты. Однако на данный момент мы с гордостью готовы заявить, что все проблемы были решены при помощи интеграции дополнительного алгоритма анализа изображения и интеграции в основной алгоритм дополнительной функциональной составляющей. Работает он следующим образом:
1. Изображение разбивается на блоки 2x2 текселя, тем самым разрешение понижается с 640 на 480 до 320 на 240;
2. Каждый блок анализируется на однородность. Если все 4 пикселя в нем одного цвета, блок помечается как однородный. В противном случае - как неоднородный;
3. Во избежание графических артефактов, блоки прилегающие к неоднородным блокам, также помечаются как неоднородные;
4. К однородным блокам шейдер применяется с увеличенным в 2 раза коэффициентом масштабирования, к неоднородным - с оригинальным.

Таким образом удается корректно сгладить как смешанную пиксельную графику, так и субпиксели.

Следующим важным нововведением стало добавление алгоритма обратной билинейной фильтрации текстур, который также реализуется через шейдер. Это нововведение необходимо для нецелочисленного масштабирования изображения на мониторах, соотношение которых отличается от 4:3 или 16:9, чтобы оно не искажалось. Принцип следующий: к изображению применяется билинейная фильтрация, оно отрисовывается, после чего при помощи обратных математических функций осуществляется восстановление его четкости. Да, при таком раскладе получить обратно изображение в исходном качестве, понятное дело, не получится, но удается сохранить до 90% его четкости, при этом полностью удалив исказившиеся в процессе нецелочисленного масштабирования пиксели.

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

Все боевые напарники Фриск (а также он сам..?) обзавелись собственными диалоговыми спрайтами, которые будут показываться как во время битв, так и в мире.

Параллельно велась работа над анимациями Поствинга в мере и были нарисованы все спрайты ходьбы Поствинга.

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

3 comments