Game
Undertale: New Hope

14 hours ago

Dev-log (25 November 2025)


EN:


Undertale: New Hope –  devlog of November 2025

Anti-piracy protection has been updated. Now, each installation of Undertale: New Hope will be assigned a unique identifier. If the license check is successful, the game will generate an encrypted license file, which will be used in the future for quick license verification, without the need to re-analyze all Undertale files when confirmation is required. This file will contain both the unique installation ID and information about the hardware of the device on which the installation was performed. If you try to transfer the license file to another device, it will not work, and the game will switch to demo mode, limited only to the Ruins. If you were previously unable to verify your license or want to reinstall the mod for any other reason, you can do so using the appropriate option in the settings. This will reset the unique ID of the previous installation and invalidate the old license file.

0.png

Work on mini-games unique to each weapon in combat has come to an end. All that remains is to correct the balance so that the damage inflicted by each weapon corresponds to the level of the enemy at the time of its receipt, and to implement the effects of damage inflicted on the enemy - both visual and sound.

Ballet Shoes. To successfully inflict damage, you need to press the Z key at the moment when the ballet shoes are in the lowest position. But it's not that simple, because the ballet shoes move, and if they all move off the screen before you manage to hit at least one, the attack will fail. Well, if you are lucky enough to “catch” all the points in their lowest position, congratulations — you have landed a critical hit!

3.gif

Burnt Pan. Catch as many products as possible before time runs out. But it's not that simple, because if a flame hits the pan, all the products will fall out of it. But that's not all—the more products there are in the pan, the heavier it is and the higher the probability that the next flame will hit the tower that has formed. Each food item has its own damage based on its calorie content, so quickly decide which ones to put in the pan and which ones to ignore. If you manage to collect enough food in the pan, you will deliver a critical blow!

4.gif

Now that we're done with Frisk's weapons, let's move on to her partners' weapons. There's a lot to see here too!

Horns/claws. Monster Kid and PostWing will attack with these if they don't have any weapons. To attack, choose one of five attack directions (up, down, left, right, or center) and strike with maximum force. But the enemy won't stand still and will try to defend themselves from the blow. If there is a shield in the selected sector at the moment of your strike, the damage will be completely absorbed by it. At the same time, the shield itself will be destroyed for a while, and during this time you will be able to strike unhindered. Try to trick your opponent into moving their shield as far away as possible, and then suddenly change the direction of your attack. A strike to the center deals more damage, but is also easier for the enemy to defend against. If you manage to land a successful series of strikes and deal enough damage, the enemy will receive a critical hit! If all your strikes are blocked, the attack will fail.

5.gif

Paws/fists. Ralsay and Suzy attack with these when they are unarmed. Your task is to wait until the enemy's face is in the center of the crosshairs and press the Z key. It will bounce around the screen, bouncing off walls and corners, so if you want to deal more damage, be patient!

6.gif

Hula-hoop. Monster Kid weapon. Try to drive the frantically spinning top as close to the center of the target as possible, tilting it by pressing the arrow keys to inflict more damage. If the hoop ends up outside the target, the attack will fail. But if you manage to stop it in the green zone, the damage will be critical!

7.gif

Magic Keyboard. Ralsay's weapon. Press all the key combinations before time runs out to maximize damage. Be quick, but careful, because a random mistake can stop you for a few precious moments.

8.gif

Bat. Suzy's weapon. Press and release Z to keep the arrow as close to the green zone as possible until the end of the countdown to maximize damage. If the arrow is outside the marked sector of the scale, no damage will be done. Critical damage will be dealt if the arrow is in its ideal position.

9.gif

Shield. PostWing's weapon, with gameplay mechanics taken from the original Undertale. The griffin will throw it at enemies like a Frisbee. Aim and throw it as far as possible to inflict more damage on the enemy. At the same time, the shield has a fairly realistic physical model - in flight, it will be affected by lift, gravity, inertia, and air resistance. If the throw is too weak, no damage will be done. But if you are accurate and precise enough and can throw the shield to the very end of the playing field, the damage will be distributed immediately among all enemies (this is the very mechanic that was cut), and not only to the one that Postwing was originally aiming at.

10.gif

Before we proceed to describe the next change, we would like to remind you about the planned distribution model for the Undertale: New Hope mod.

Undertale: New Hope is not just a completely free non-commercial project that complies with all the Undertale community rules established by Toby Fox and Fangamer LLC and respects the copyrights of third-party publishers and authors. Undertale: New Hope is planned to be released as a basis for building both fan mods and independent fan games, expanding the capabilities of the original Undertale. In this regard, we remind you that after the release of the full version of the mod, all sprites, soundtracks, and program code fragments created by the Hopes&Dreams team will become the property of the community, and any development team will be able to freely use them in their work, provided that the original authors are credited.

In connection with this, and to support modding in general and developers in particular, we have added a developer console to the mod. It will allow you to quickly obtain operational information without having to display it on the screen or in logs, and will also relieve developers of the need to remember key combinations for performing various debugging actions (all commands are documented in the console's built-in help).

This console is 90% compatible with scripts written for the Undertale: Decomp developer console (you may need to replace data structures that are not supported in Game Maker Studio 2.2.5 with dynamic maps), which will allow you to quickly adapt all the debugging scripts you need. The console provides the following functionality:

output of any operational information at the developer's request, as implemented by the show_debug_message() procedure;

repeating previous commands by pressing the UP/DOWN arrow keys;

scrolling through the console history by pressing the LEFT/RIGHT keys;

automatically completing partially entered commands by pressing the Tab key, using the built-in reference.

Currently, the console allows you to:

enable and disable debugging;

give Frisk certain sets of equipment;

summon and recall companions;

equip Frisk and his companions with various items of equipment;

unlock achievements and collectible items;

save the game anywhere;

load the game anywhere;

teleport between rooms;

start any battle.

It also includes some basic commands, such as completely restarting the game, clearing the console debug output, etc.

11.gif

The Undertale: New Hope port for Android has been updated.

The on-screen control code has been almost completely rewritten and has received new improvements:

1. Low latency mode now works fully on mobile devices (previously, the game had to be switched to standard mode, in which pressing the Z, X, and C buttons was delayed by one frame).

2. The virtual joystick is no longer fixed in one position, but dynamically moves to the position where it was originally touched, after which interaction with it takes place. This is much more convenient, as the player no longer needs to “feel around” for the joystick before starting to move. Before touching it, it is not displayed on the screen and does not obstruct the view. You can see a conceptually similar implementation of an on-screen joystick, for example, in a mobile game such as Soul Knight.

2.gif

The method of extracting and transferring save files has also been redesigned. This is due to the fact that in the latest versions of Android OS, due to security policy updates, access to the /sdcard/Android/data/ folder has been lost on many devices. On some “buggy” firmware, such as OxygenOS for OneNote phones, access to this folder cannot be restored, even using special software such as Shizuku.

As a result, a decision was made to fundamentally revise the approach to accessing the save folder, which resulted in a transition to the officially documented Google API DocumentsProvider. This API allows Undertale: New Hope to be integrated into most modern file managers, such as Total Commander, MT Manager, and many others, which makes it easier to work with save files (no more need to search for the right folder, integration with the explorer adds the application to the quick access section) and improves compatibility (works on all devices, even those with strict security policies).

1.gif

Other changes. We abandoned the old system of duplicating movement key presses to alternative binds (default - WASD) offered by the WASDTale script from Undertale ModTool. Instead, we implemented a set of functions:

direction_check();

direction_check_pressed();

direction_check_released();

direction_check_direct();

which work similarly to the standard Undertale functions

control_check();

control_check_pressed().

This allowed us to:

1. Fix a bug where running entirely on alternative bindings (Shift + W A S D) might not work for some reason;

2. Reduce control lag (alternative bindings worked with a delay of one extra frame, as WASDTale emulates keystrokes and the game needs additional time to process them);

3. Fixed the issue of “phantom” keystrokes on Windows, when W A S D Tale-emulated keystrokes could be transmitted to programs running in the background.

4. Centralized all in-game control of these scripts for more flexible interaction with the game (e.g., blocking all movements and actions when the console is opened) without the need to reconfigure internal game variables such as global.interact.

Interpolation has also been implemented for the battlebox's movement during combat. It no longer moves linearly, but instead smoothly decelerates toward its final position.

And as always, let's summarize the preliminary results of the past month.

The productivity of the sprites department at the time of writing this devlog was:

W. D. Matvey - 71%

Nightdale - 46%

Iccing - 29%

Thus, the productivity of the sprites department was 49%.

image.png

Productivity in the code department at the time of writing this devlog was:

GFOXSH - 100%

Thus, the productivity of the code department was 100%.

Hope - forever!


RU:


Обновлена антипиратская защита. Теперь каждой установке Undertale: New Hope будет присваиваться уникальный идентификатор. В случае успешного прохождения проверки лицензии, игра сгенерирует зашифрованный файл лицензии, который будет в дальнейшем использоваться для быстрой проверки лицензии, без необходимости повторно анализировать все файлы Undertale при необходимости ее подтвердить. В этом файле будет зашит как уникальный ID установки, так и информация о аппаратном обеспечении устройства, на котором производилась установка. При попытке перенести файл лицензии на другое устройство, он работать не будет, и игра перейдет в демонстрационный режим, ограниченный только Руинами. Если Вы ранее не смогли пройти проверку лицензии или хотите по какой-либо иной причине переустановить мод, вы сможете сделать это при помощи соответствующей опции в настройках. При этом уникальный ID предыдущей установки будет сброшен, а старый файл лицензии станет недействительным.

image.png

Работа над индивидуальными для каждого оружия в бою мини-играми подошла к концу. Осталось лишь исправить баланс, чтобы наносимый каждым из оружий урон соответствовал уровню противников на момент его получения, реализовать эффекты нанесения урона по противнику - как визуальные, так и звуковые.

Пуанты. Чтобы успешно нанести урон, нужно успеть нажать клавишу Z в момент, когда пуанта находится в самом нижнем положении. Но, не все так просто, ведь пуанты движутся и, если все они окажутся за пределами экрана прежде, чем Вы успеете ударить хотя бы одной, атака будет провалена. Ну, а если Вам повезло «поймать» все пуанты в самом нижнем положении, поздравляем - Вы нанесли критический удар!

3.gif

Сковорода. Успейте поймать как можно больше продуктов прежде, чем истечет время. Но не все так просто, ведь если в сковороду угодит огонек, все продукты с нее упадут. Но, словного этого мало - чем больше продуктов на сковороде, тем она тяжелее и тем выше вероятность, что очередной язык пламени заденет образовавшуюся башню. Каждый продукт имеет свой урон, исходя из его калорийности, поэтому оперативно решайте, под какой подставить сковороду, а какой лучше проигнорировать. Если Вам удастся собрать на сковороде достаточно продуктов вы нанесете критический удар!

4.gif

Закончив с оружием Фриск, переходим к оружию напарников. Ведь тут тоже есть на что посмотреть!

Рога/когти. Ими будут атаковать Монстренок и Поствинг, если у них нет никакого оружия. Чтобы провести атаку выберите одно из пяти направлений атаки (вверх, вниз, влево, вправо или в центр) и нанесите удар с максимальной силой. Но противник не будет стоять на месте и будет стараться защититься от удара. Если в момент Вашего удара в выбранном секторе окажется щит, урон будет полностью поглощен им. При этом сам щит на какое-то время будет разрушен и в это время вы сможете беспрепятственно наносить удары. Старайтесь обмануть противника, чтобы заставить его отвести щит как можно дальше, а затем неожиданно сменить направление атаки. Удар в центр наносит больше урона, но и противнику легче защитить от него. Если Вам удастся провести успешную серию ударов и набрать достаточно урона, противник получит критический удар! А если все ваши удары будут заблокированы, атака будет провалена.

5.gif

Лапки/кулаки. Ими атакуют Ральсей и Сузи, пока они безоружны. Ваша задача - выждать, когда мордочка противника окажется в центре перекрестия прицела и нажать клавишу Z. Сама по себе она будет скакать по экрану, отскакивая от стенок и углов, так что, если хотите нанести больше урона, запаситесь терпением!

6.gif

Хула-хуп. Оружие Монстренка. Постарайтесь загнать бешено вращающийся волчок как можно ближе к центру мишени, наклоняя ее нажатиями на стрелки, чтобы нанести больше урона. Если юла окажется за пределами мишени, атака будет провалена. Ну, а если удастся остановить ее в зеленой зоне - урон будет критическим!

7.gif

Магическая клавиатура. Оружие Ральсея. Успевайте нажать все комбинации клавиш прежде, чем истечет время, чтобы урон был максимальным. Будьте быстры, но при этом внимательны, ведь случайная ошибка может остановить вас на несколько драгоценных мгновений.

8.gif

Бита. Оружие Сузи. Нажимая и отпуская Z удерживайте стрелку как можно ближе к зеленой зоне до конца обратного отсчета, чтобы урон оказался максимальным. Если стрелка окажется за пределами обозначенного сектора шкалы, урон нанесен не будет. Ну а критический урон будет нанесен, если стрелка окажется точно в своем идеальном положении.

9.gif

Щит. Оружие Поствинга с вырезанной из оригинального Undertale игровой механикой. Грифон будет метать его во врагов как фрисби. Прицельтесь и бросьте его как можно дальше, чтобы нанести противнику больше урона. При этом у щита есть хоть довольно реалистичная физическая модель - в полете на него будут действовать подъемная сила, сила тяжести, инерция и сопротивление воздуха. Если бросок будет слишком слабым, урон нанесен не будет. Но если вы будете достаточно точны и аккуратны и сможете забросить щит в самый конец игрового поля, урон будет распределен сразу между всем противниками (это и есть та самая вырезанная механика), а не только по тому, в которого целились Поствинг целился изначально.

10.gif

Прежде чем приступить к описанию следующего изменения, необходимо напомнить Вам о планируемой модели распространения мода Undertale: New Hope.

Undertale: New Hope - это не просто полностью бесплатный некоммерческий проект, соблюдающий все правила комьюнити Undertale, установленные Тоби Фоксом и Fangamer LLC, соблюдающий авторские права сторонних издателей и авторов. Undertale: New Hope планируется к выпуску как основа для построения как фанатских модов так и самостоятельных фан-игр, расширяющий возможности оригинального Undertale. В связи с этим, напоминаем, что после релиза полной версии мода все спрайты, саундтреки и фрагменты программного кода, созданные командой Hopes&Dreams, станут достоянием комьюнити и любая команда разработчиков смогут свободно использовать их в своем творчестве при указании оригинальных авторов.

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

Данная консоль на 90% совместима со скриптами, написанными для консоли разработчика Undertale: Decomp (возможно потребуется замена структур данных, которые не поддерживаются в Game Maker Studio 2.2.5 на динамические карты), что позволит Вам быстро адаптировать все нужные Вам отладочные скрипты. Консоль предоставляет следующий функционал:

вывод любой оперативной информации по требованию разработчика также, как это реализовано процедурой show_debug_message();

повтор предыдущих команд нажатиями клавиш со стрелками UP / DOWN;

пролистывание истории консоли при помощи нажатий на клавиши LEFT / RIGHT;

автоматическое дополнение частично введеных команд через нажатие клавиши Tab, используя встроенный справочник.

На данный момент консоль позволяет:

включить и отключить отладку;

выдавать Фриск определенные наборы снаряжения;

призывать и отзывать напарников;

экипировать на Фриск и его напарников те или иные элементы снаряжения;

открывать достижения и коллекционные предметы;

сохранять игру в любом месте;

загружать игру в любом месте;

телепортироваться по комнатам;

запускать любые битвы.

А также некоторые базовые команды, вроде полного перезапуска игры, очистки отладочного вывода консоли и т. п.

11.gif

Получил обновление порт Undertale: New Hope на Android.

Код наэкранного управления был почти полностью переписан и получил новые улучшения:

1. Режим низкой задержки теперь полноценно работает на мобильных устройствах (раньше приходилось переводить игру в стандартный режим, при котором срабатывание нажатий на кнопки Z, X и C происходили с задежкой в один кадр).

2. Виртуальный джойстик больше не привязан жестко к одной позиции, а динамически перемещается в ту позицию, где было изначальное касание, после чего уже осуществляется непосредственно взаимодействие с ним. Это гораздо удобнее, так как игроку теперь нет нужды сначала «нащупывать» джойстик, перед началом движения. До касания он не отображается на экране и не загораживает обзор. Концептуально схожую реализацию наэкранного джойстика вы можете увидеть, например, в такой мобильной игре как Soul Knight.

2.gif

Также была переработана методика извлечения и переноса файлов сохранения. Связанно это с тем, что в последних версиях ОС Android в связи с обновлениями политик безопасности на многих устройствах пропал доступ к папке /sdcard/Android/data/. На некоторых «глючных» прошивках как, например, OxygenOS для телефонов OneNote, доступ к этой папке не удается вернуть, даже используя специальное ПО, вроде Shizuku.

В результате было принято решение фундаметально пересмотреть подход к доступу папки сохранений, результатом которого стал переход на официально документированный Google API DocumentsProvider. Этот API позволяет интегрировать Undertale: New Hope в большинство современных файловых менеджеров, таких как Total Commander, MT Manager и многих других, что облегчает работу с файлами сохранений (нет больше нужды искать нужную папку, интеграция с проводником добавляет приложение в раздел быстрого доступа) и улучшает совместимость (работает на всех устройствах, даже со строгими политиками безопасности).

1.gif

Прочие изменения. Мы отказались от старой системы дублирования нажатий клавиш движения на альтернативные бинды (по-умолчанию - WASD), предлагаемой скриптом WASDTale из Undertale ModTool. Вместо этого мы реализовали набор функций:

direction_check();

direction_check_pressed();

direction_check_released();

direction_check_direct();

работающих по аналогии со стандартными функциями Undertale

control_check();

control_check_pressed().

Это позволило:            

1. Исправить баг, при котором бег полностью на альтернативных биндах (Shift + WASD) мог по какой-то причине не сработать;

2. Снизить задержку управления (альтернативные бинды срабатывали с задержкой в один лишний кадр, так как WASDTale эмулирует нажатия клавиш и игре требуется дополнительное время, чтобы их обработать);

3. Исправить проблему «фантомных» нажатий на ОС Windows, когда эмулируемые WASDTale нажатия клавиш могли передаваться в открытые в фоне программы;

4. Централизовать все управление в игре этими скриптами для более гибкого взаимодействия с ним (например, блокировать все движения и действия при открытии консоли) без необходимости перенастраивать внутренние переменные игры, такие как global.interact.

Также реализована интерполяция для движения баттл-бокса в бою. Теперь он движется не линейно, а плавно замедляется к своей конечной позиции.

 

Ну и как всегда, подведем предварительные итоги прошедшего месяца.

Производительность в отделе спрайтов на момент написания девлога составила:

W. D. Matvey - 71%

Nightdale - 46%

Iccing - 29%

Таким образом производительность отдела спрайтов составила 49%.

image.png

Производительность в отделе кода на момент написания девлога составила:

GFOXSH - 100%  

Таким образом производительность отдела кода составила 100%

Надежда - навсегда



11 comments

Loading...

Next up

Dev-log (13 july 2025)

Dev-log (25 September 2025)

Dev-log (23 August 2025)

Dev-log (25 October 2025)

Bandana Dee the Dream Friend

Finished a project I've been working on over the last few days!

Modeled and textured in Blender.

#3dart #lowpoly #npbr #fantasy #hut

I have added rewards for quests so that villagers can give you something in return for your hard work helping them. 🥳

I want to know - what's your favourite quest reward?

Updated the chest in the maze, adding sound, particles and better animation. But what's in the chest?

I worked so hard to get all four of them to the end safely, but then...