1. [Neolithic]To the End
  2. News

[Neolithic]To the End News

DD# 93 The Voice of Machine and A Question of Faith

Hi, everyone. Welcome to another week's developer's diary.
The main feature of this week are:

1, You can now let your computer read all the dialog text for you!
That's right. As we all know any good RPG has a lot of text, and it's almost impossible to get voice-over to every single line of dialog. Reading becomes a tedious problem after a few hours of playing (even though I highly doubt anyone played this game more than I do. :P)

Anyway, here is the solution. I hooked in Microsoft's TTS to the game, allowing it to read every dialog for you. You can trigger this feature by clicking the "S" key during any dialog. It's an async process, you can stop the reading anytime you like.

By default, the system uses a default voice set for each localization configuration file. If such a voice is not found, it will then try to use the voice set in the control panel of your machine. If neither was successful then it will, unfortunately, be unable to read text. However, it's highly customizable. You can manually change the language configuration file to use any voice installed on your machine to do the reading. You can find all installed voice packs in your register path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\

In addition to that, the game's voice volume affects the reading volume while you can also set the reading speed in the audio setting to suit your needs.

2, A piano to play with.
We got a new type of furniture known as the piano this week. Just to make things a bit fun, I made those pianos that can actually be played as pianos.

The idea comes from SAPC++ when I first implemented a beep-based piano system about 10 years ago. Now, we are no longer using system beep sounds. Instead, the sound of each key is recorded from a real-life piano. It's just a toy with no goal right now. Maybe, getting enjoyable music is its own reward. Maybe, it will turn into a mini-game with goals in the future.

3, A Question of Faith
Or rather, the total rework of the faith system. Back in the day of SAPC++, the faith system was simple, you pick a faith and get some positive and negative effects. Sometimes, some game mechanics are involved. But, overall, that was way too simple.

Now, I want something better. Something maybe even more complex than CK3, CIV6, and Godhood's faith system. Something that you can develop your very own faith and spread across the world, gaining followers and influence. It's kinda ambitious and requires a lot of design and programming. It's still in a very early stage of development. But, how can we live without faith in an ever-deteriorating world that lost its keeper in 2018? It's something that keeps us going even in the darkest hours.

But, of course. Some believe the world is way beyond redemption, they'd prefer a big reset button.

Here comes something that has been implemented in the game.
All the zealous Aten Cultists now follow their faith.

As we live in a highly diverse world, I personally think it's a good thing. Each faith can be highly customized with one Center of Belief and many tenets to build around it, resulting in endless variations when the faith database grows.

But, we shall leave that part to the future as the development of this aspect of the game continues.

That's for this week. May the black sun, burn this hateful world.
Just as a wise man once said, everyone, deep in their hearts, is waiting for the world to end.

And they thought vampires, werewolves, and the night are to be feared during this Halloween.
Think again when the sun comes to annihilate all.


Today's changelog:
##########Content############
[Faith]New Faith: Aten
[Faith]New Center of Belief: Aten
[Faith]New Tenet: Prophecy of the Black Sun
[Faith]New Tenet: Sun Worship (+2% ice resistance)
[Aten Cultists]All Aten Cultists now have Aten faith.
##########Wiki###############
Added wiki page: Center of Belief: https://neolithia.fandom.com/wiki/Faith:_Center_of_Belief
Added wiki page: Tenet: https://neolithia.fandom.com/wiki/Faith:_Tenet
##########System#############
[Item Detail Window] Unified the special attribution drawing function between weapons and equipment, and reduced duplicated code.
[Faith]New faith system is now attached to all characters. (Both your allies and foes.)
[Faith]Tenets can now provide special attributions to characters.
[Faith Scene]Added a very basic version of the faith scene. The visible content is quite limited.
[Status Window]Character status window now draws faith information based on the new faith system. (Notably, some teammates now have their faiths set to WIP as those will be added later.)
[Status Window]You can now click on a character's faith to visit the faith scene.
[Status Window]Added hotkey: F to open the faith scene.

Update Version 20221027


English
##########System#############
[Faith]Countinue to work on the faith system. Data structures and design are done.
[Faith]Added some test data entries and their art assets.
简体中文
##########System#############
【信仰】继续在信仰系统中施工。数据结构和设计完成。
【信仰】加入了一些测试用的数据已经对应的美术资源。

Not much can be seen in the game right now as they are mostly code-changes for an upcoming new system.
游戏中目前没有可见的变化,主要是代码中为新系统准备的部署。

Update, Version 20221025


English
##########Content############
[TTS]Moved the reading speed setting to the audio configuration window.
[Audio Config Window]Made the background no longer has any transparency.
[Piano]New furniture: Piano. (You can actually play them with your keyboard. :D)
[Piano]Added a piano in Liu's bar.
##########System#############
[Piano]Added code support to implement the functions of pianos.
##########DEBUG#############
Fixed a bug that causes the battle environment parameters are not set correctly on the first floor of No.181 River Road, Liu.
简体中文
##########Content############
【对话语音播放功能】将改变阅读语速的设置移动到了声音设置的窗口。
【声音设置窗口】背景不再有任何透明度。
【钢琴】新家具:钢琴(这是一种你真的可以用键盘进行演奏的家具。:D)
【钢琴】在疁城的酒吧里加入了一台钢琴。
##########System#############
【钢琴】加入了对钢琴功能的代码支持。
##########DEBUG#############
修复了一个导致疁城清河路181号1楼的战场环境未被正确设置的Bug。

Update, Version 20221024


English
##########Content############
[TTS]Added reading speed setting to the game setting menu.
[TTS]The game's voice-over volume setting now affects the TTS reading volume.
[TTS]Added default volume value to each language's localization setting.
[Furniture]New Cooking Device: "Free Villager" Stove.
[Oasis Teahouse]Added a new room on the 2nd floor. Added a "Free Villager" Stove in this room.
##########System#############
[TTS]The C++ side further exported the voice reading speed parameter to the Ruby script for the game to control.
[TTS]The C++ side further exported the voice reading volume parameter to the Ruby script for the game to control.
简体中文
##########Content############
【对话语音播放功能】在游戏的设置菜单中加入了改变阅读语速的选项。
【对话语音播放功能】游戏的语音音量设置现在会影响朗读的语音的音量。
【对话语音播放功能】在各语言的本地化文本配置文件中加入了一个默认的朗读音量数值。
【家具】新的烹饪设备:『乡野村夫』灶台。
【绿洲茶馆】在2楼新加入了一个房间,房间中有一个『乡野村夫』灶台
##########System#############
【对话语音播放功能】 C++侧进一步提供了可以控制阅读语速的函数供游戏的Ruby脚本使用。
【对话语音播放功能】C++侧进一步提供了可以控制阅读音量的函数供游戏的Ruby脚本使用。

Update, Version 20221023


English
##########Content############
[TTS]You can now interrupt the TTS and make the reading stop before it ends.
##########System#############
[TTS]TTS will now ignore all the escape characters.
[TTS]Made TTS perform better when reading a sentence that occupies multiple lines in the game.
[TTS]Changed the way to play TTS, they are now using async methods. Thus, the game no longer hangs up till it's done. (Hopefully no memory leaks/deadlocks in multi-threads.)
[TTS]Exported more TTS-related functions from the C++ side to the Ruby script for better flow control.
[TTS]When the system is unable to read a text, it will now time out after 0.5 seconds instead of making the game no longer respond indefinitely.
##########DEBUG#############
[Egypt]]Fixed 3 tile bugs that allow players to move onto some roofs of the buildings in Baldat'Aten'Almaleuna
[Oasis Teahouse]Fixed a bug that the option to rent a room misses its Chinese localization text.
简体中文
##########Content############
【对话语音播放功能】你现在可以打断语音的播放,在其阅读完成之前就终结掉播放的过程。
##########System#############
【对话语音播放功能】在播放语音时现在会自动过滤掉游戏中一些不会显示的转义字符。
【对话语音播放功能】使朗读一句位于多行上的句子时更加顺畅。
【对话语音播放功能】语音朗读现在使用异步方式进行。游戏不会再在播放完语音前被挂起。(希望在多个线程之间不会发生死锁和内存泄露。)
【对话语音播放功能】将更多的C++侧的函数暴露给了RUBY侧的脚本,用于更好的进行流程控制。
【对话语音播放功能】当系统长期无法解析要阅读的文本,会在0.5秒后触发超时而非使游戏永远没有响应。
##########DEBUG#############
【埃及】修复了三处导致玩家可以移动到巴达图'阿腾'阿玛拉乌那图城内一些房顶的bug
【绿洲茶馆】修复了租用房间的选项没有中文本地化的Bug。