Episode 8 (β release)

Six years to the day from our first introductory trailer, the last episode of Umineko is now available in English and Russian. We hope you enjoy it!
At the same time, our colleagues from Brazil present a complete set of Umineko Question Arcs in Brazilian Portuguese for the first time.

This is not quite our final release (as you can see, the beta tag is still attached), but it does bring an end to our obligations.
What we promised ourselves we would do, we have now done.
The fundamental experience of the PS3 version of Umineko is now available for speakers of other languages to enjoy.

Of course, we would have liked to have done much more. The gamepad support leaves much to be desired and the menus are unpolished, to say nothing of the extra features we could have added — a more comprehensive music box was once imagined, and there is the content from Hane and Tsubasa, which will now likely make its way to consoles with the upcoming consumer release of Umineko Saku. There are endless TODOs left untouched under the hood.

However, we are a small team, and this project — which we took on for nothing other than personal satisfaction — has been long and tiring. The time is right for us to rest. If there is anything major that needs to be done, we now leave it up to others.

If any of you would like to build on our work, fix it, tweak it, expand it, tear it apart, rip chunks out and replace them as you desire — we now give you that ability.
The engine, as deficient as it is, is now open source.
The script and all the tools we built and used are now publicly available.

Thank you to everyone who gave us motivation over the years. We hope we helped to make an already great game even more enjoyable.
Please support Entergram’s upcoming PS4/Switch release of Umineko no Naku Koro ni Saku!

23 thoughts on “Episode 8 (β release)”

  1. Здравствуйте, это опять я.
    update-manager действительно создает скрипт под определенную локализацию, но в game\main скрипты как были на японском, так и остались.
    Это я что-то делаю не так или это в менеджере дело?

    1. Здравствуйте.
      Я не из команды, но могу ответить на ваш вопрос — нет, вы все делаете правильно. Скрипты в “game” не меняют языка, они всегда на японском. Команда dscript делает что-то наподобие следующего процесса:

      1. Загружает в себя текст японского скрипта из “game”
      2. Загружает японскую локализацию (из story/epX/jp/umiX_X.txt) и ту, что вы передали на командной строке (например, story/epX/ru/umiX_X.txt).
      3. Построчно заменяет в основном скрипте (из “game”) те строки, что есть в японской локализации, на те, что есть в выбранной вами.
      4. Склеивает скрипты с подмененным текстом для всех глав и всех эпизодов вместе в один большой кусок текста и выплевывает его в укзанный вами файл.

      Теоретически, вы можете посмотреть в код update-manager и выковырять из него ту функцию, которая заменяет строки (implaceLines), а затем написать свою обертку для нее, чтобы она выплевывала скрипты по отдельным главам, а не целиком, но мне кажется что встроенной команды для этого нет.

      1. Ага, понятно теперь, как он работает. Но финальный скрипт у меня все равно получается на японском. То есть, он меняет локализацию меню, субтитров и т.д., но сам сценарий остается на японском.

        1. Вот это меня честно говоря удивляет, у меня такого не происходит. Если что, я update-manager запускаю так:
          php update-manager/update-manager.php dscript script.txt . en
          Это мне выдает “script.txt” на английском без каких-либо проблем. Если вы испольузете другую команду, попробуйте эту, а если вы используете эту — тогда я даже не знаю что вам сказать, тут уж кто-то из команды лучше ответит.

  2. Thank you so much for the full release of the game. DOUBLE thank you for making everything open-source for others to work on. TRIPLE thank you for the fantastic support for localisation in your engine.

    If you don’t mind, I have something of a mix between a question and a request. Could the installation process possibly be updated to rely on more… modern versions of the game? My concern here is not obtaining a copy of the PS3 game, mind you, it’s just the fact that Alchemist no longer exists and so people buying the PS3 version would essentially be sending their money into the void, supporting neither Entergram nor 07th-Expansion, and the only copies of the original PC release you’re gonna find are used ones.

    I’d suggest basing the password off of some file in the Steam release, for example, and maybe combine that with some part of the manual/cover/whatever from the Switch or PS4 version when those come out, assuming a physical release of them would happen. The current system does nothing to support the creators and merely exists as an obstacle to getting your version of the game, and this change would make the system serve its original purpose once again.

    I fully understand if you can’t be bothered anymore, of course (:

    1. Hi,

      We have no problem in theory asking users to buy more modern versions of the game. As far as implementing it goes, the current password is tied to distributed resource archives that are hard to change, so rather than “change” the password, we would probably take the approach of implementing something that takes a new password and spits out the old one needed for extraction.

      There are two questions: which versions of the game should we ask people to own, and how should we derive the passwords?
      As for which versions should be required, we are a bit reluctant to provide a password for owning the Steam release alone, for the reason that it does not contain any of the PS3 assets. Although it would encourage purchases that send money to WH/07th/MG, it does not compensate Entergram (apparently the new owners of Alchemist’s assets), and Alchemist’s assets/scripts/etc. are the main thing you’re getting with our release. For this reason, we are leaning towards waiting until the PS4/Switch release is out and requiring a password from that as well.

      As for what the passwords should be, that’s a little more tricky. All these games (will) have digital versions, so we can’t rely on the manual/box. Maybe we could ask the user to press some button sequence or count something? Steam is a little easier, since you have access to the files, as you say. We would need to choose something that isn’t likely to get updated and changed, however. Perhaps you could suggest something? Failing that, we will look into it ourselves at some time soon.

      Lastly, thank you for creating the umiproj-wh-tl project on GitHub. We hoped and expected that someone would start a project to offer the WH translation, since we know there is demand for it — in fact, the encouragement to “rip chunks out and replace them as you desire” in the news post was aimed at exactly that. Thanks also for accompanying it with kind words about our own work.

      Regards,
      Umineko Project

      1. Regarding the password ideas — the Steam release is almost never updated, but Witch-Hunt does sometimes (extremely rarely) issue updates to their translation or fixes to other bugs, so I understand the updates ruining things concern. If I had to hazard a guess at files that are unlikely to ever change, I’d say take something from the BGM or SE folders, because there’s absolutely no point in changing those things, so I can’t imagine they ever would.

        Regarding the Switch/PS4 aspect, I don’t think your suggestion is that good on its own, as it would require users to own the actual Switch/PS4 console itself. Personally, while I own the PS3 game for the purposes of playing around with your project and for decoration on my shelf, I don’t have a PS3 and would never buy one — asking for anything that requires the Entergram version of the game to actually *run*, is, in my opinion, too much. However, it can be an *option* for people who choose to buy the digital Entergram release and the second option can be disk-based, for those who just want to support the creators and play your version of the game. As such, my suggestion is to create two, interchangable passwords there — one for the digital release as you suggest, and one for the physical release that’s based on the box/manual/etc. Then have this password generation tool you have take either of those passwords in and “spit out” the correct password when either of them are used. I’m noticing the current password tool uses math magic on top of a checksum of the PS3 password, which does not bode well for multiple values, so, unfortunately, that might need changing (and I’m not sure on what the better way would be, maybe something serverside?).

        Lastly, thank you for noticing my little effort with the translation porting (: If by any chance you would ever want to integrate it into the main project as an option, I wouldn’t mind at all and I can send a pull-request with the translation files when I’m done with it. However, if you’d rather not deal with that, I fully understand that too.

  3. Здравствуйте, если уж вы разрешили с вашим детищем играться как душа желает, то не ответите ли на пару вопросов:
    1. Почему файл скрипта зашифрован и как его открыть?
    2. Почему ваш движок может читать его, а скомпилированный вручную – нет?

    1. Добрый вечер,

      1. Файл сжат для уменьшения размера файлов скриптов, там zlib с xor для защиты от повреждений файла.
      2. Движок компилируется с разными флагами для отладочных и релизных скриптов, можно посмотреть в –help к ./configure. В репозитории onscripter-ru есть утилиты nscdec и nscenc, в umineko-scripting update-manager. Если хотите делать какие-то свои скрипты, рекомендую сразу посмотреть на структуру папок локализации, чтобы не делать двойную работу и не пересекаться с нашими названиями (en, pt, ru, cn).

      1. Cпасибо за ответ.
        Как я понял, update-manager берет несколько файлов и клеит их в один скрипт (правда, там японский язык)
        nscdec и nscmake мне скомпилировать в VS 2019 не удалось.
        И еще, с какими флагами нужно тогда компилировать движок, чтобы он сжатые файлы скрипта съел?

        1. 1. Не совсем, но в целом верно. Там далеко не только японские скрипты. Можно посмотреть форки, некоторые ребята уже разобрались: https://github.com/umineko-project/umineko-scripting/network/members

          2. Последний раз я собирал эти утилиты на macOS, но вроде в Windows в MSYS2 они тоже собирались.

          3. Вроде ключ –public-release был, проще в –help посмотреть.

          1. В виде готового скрипта там оформлены только файлы в папке game на японском.
            И еще скомпилированный nscmake на библиотеку zlib1.dll ругается (ошибка 0xc000007b). Понятия не имею, в чем может быть дело. Поэтому не могли бы скинуть ваш nscmake и библиотеку?
            А в остальном я вроде как разобрался. Еще раз спасибо за помощь

          2. С помощью утилиты ps3snr скрипт PS3 декомпилируется и преобразуется в скрипт для нашего движка в директории game. Затем update-manager берёт story и остальные директории и автоматически вставляет перевод на русском и других языках в game, добавляет препроцессированные hdr/ftr и сохраняет результат в ru.txt. Этой же утилитой можно создать ru.file. Там две команды, dscript (developer script) и script. Легко посмотреть использование по .travis.yml, которым мы генерируем срипты.

            Если честно, я вообще не понимаю, зачем вам nscmake, и что вы хотите сделать. Windows я не пользуюсь, поэтому скинуть собранные утилиты не могу в любом случае.

          3. Мы для так называемой “ps3фикации” движок ищем, а ваш onscripter мне еще летом приглянулся. Нужно во всех тонкостях движка разобраться, иначе придется на корявый ren’py игру портировать. А что насчет ncsmake, я другого человека попросил скомпилировать, и теперь, вроде, все работает

  4. И тут заиграла песня, про чеканную монету ;) Спасибо вам за труды, для лучшей новеллы сил не жалко было потратить!

  5. Спасибо за релиз. У меня почему-то перестала работать кнопка на клавиатуре ‘m’ для выключения звука в последней версии игры.

    1. Некоторое время назад она была изменена на Alt+M для избежания случайного нажатия.

  6. Поздравляю с релизом финального эпизода!
    Огромное спасибо за такую грандиозную и ответственную работу, результат прекрасен, Вы лучшие <3

  7. Thank you so much for all the work. Although I am just an onlooker, I can imagine that it is a tiring project. Very impressive.

    I believe that I can say the following sentence in red, at least in this ‘game’.
    ‘You do make Umineko more enjoyable.’

    Sorry for my poor English.

  8. (PARDON THE CAP BUT I’M IN FANBOI MODE).

    YOU GUYS ARE THE REAL CHAMP. I’VE TRIED MANY UMINEKO INSTANCE BUT YOUR WORK IS SIMPLY THE BEST OF THE BEST, IT SURE WILL HELP ME A LOT IN MY UMINEKO RE-READ ONE DAY. IN ANY CASE HAVE A NICE RETIREMENT, YOU’VE DONE MORE THAN ENOUGH.

    =F

  9. Огромное спасибо за ту внушительную работу, которую вы проделали над портом, и за решение выложить ваши разработки в опенсорс! Вы лучшие <3

Leave a Reply